SlideShare a Scribd company logo
Hands-on Introduction to
MapGuide Open Source

           原案:Gordon Luckett
             翻訳:井上 修
           日本版編集:林 博文
MapGuideの歴史
•   1995 Argus Technologies
    – Calgary, Alberta, Canada
•   1996 Autodesk, Inc.
    –Calgaryにて引き続き開発
•   2002 MapGuide 6.5 reaches ActiveX/Java/Plug-in によるカスタマイズの限界に
    達する
•   2004 Autodesk, Inc. がMapGuide Open Source開発をスタート
•   2004 Autodesk AutoCAD Mapに、FDO (Feature Data Objects)for Oracle, SDF,
    ArcSDE を搭載
•   2006 MapGuide のソースコードをOSGeoに提供 (GNU LGPL)
•   2006 FDO Open Source を同時に提供

Note: AutodeskのMap 3D, Autodesk Infrastructure Map Server, MapGuide Enterprise, Studio,
    Topobaseは、すべてFDO Open Source Platformをベースに開発
Web 2.0 web mapping
• Web 1.0 – first-generation web mapping
   – Web 1.0 =配信( publishing )
   – MapGuide6.x, MapServer, ArcIMS, …


• Web 2.0 – next-generation web mapping
   – Web 2.0 = 協調( participation )
   – コラボレーションの例: Google Maps, OpenLayers
   – MapGuide Open Source/FDO には、
      • Webベースの空間編集API
      • 協調するためのツールとして設計
幅広いプラットフォームサポート
対応OS                  開発環境



             Linux    対応ブラウザ
 Microsoft
 Windows
対応Webサーバ
                       Internet   Mozilla   Apple    Google
                       Explorer   Firefox   Safari   Chrome

             Apache
 Microsoft    Web
    IIS      Server
MapGuideシステム構成
SERVER TIER                      WEB TIER         CLIENT TIER
                                                                  シン・クライア
データ
                                                                  ント
ソース
                                                                  (ブラウザのみ)
WMS / WFS                          Web Server +
                                                         Google
                                   MapGuide               Earth
 Database            MapGuide      Web Server
                                                                   MapGuide
 サーバ                 Server        Extensions                     AJAX Viewer



                                                    Internet
                                                                             MapGuide
                                                                            AJAX Viewer
                                                                              Maestro


データ           Services                    Web
                                          PHP アプリ                 シック・クライ
ファイ           Rendering KML     Mapping
                システムの                     ケーション
                                          .NET                    アント
ル             Tile     Feature Drawing
                コア FDO
              Resource         Site
                                          Java                    (PCへインストール
                コンポーネン                                            )
                ト
MapGuide Web Server Extensions につ
いて
Web Server Extensionsの種類

• Java (JSP)

• Microsoft ASP.NET

• PHP
MapGuide Web Server Extensions につい
て
JAVA
• Linux or Windows
• Apache Tomcat が必要
MapGuide Web Server Extensions につい
て
Microsoft ASP.NET
• Microsoft Windows と IIS
• C# または VB.NET
MapGuide Web Server Extensions につい
て
PHP
• MapGuide Site Administrator は、PHPを利用
• Open Source, 構文は Java, Perl, C言語のミックス
• 動作環境
  – Linux またはWindows
  – IISまたはApache
MapGuide Web Server Extensions について
Install MapGuide Open Source 2.4
MapGuide Server and Web Extensionsインストール

• mapguide.osgeo.orgよりダウンロード
• ハンズオンセットアップ:
   • Windows 7 (ハンズオンはx64版)
   • PHP
   • Apache Web Server
   • Port 8008
• Web Extensions と Server service は同一マシンで実
  行
MapGuide Server and Web Extensionsインストール
• Mapguide.osgeo.orgよりダウンロード




    http://mapguide.osgeo.org/home
MapGuide Server and Web Extensionsインストール
• インストール
   MapGuideOpenSource-2.4.0.7096-Final-x64.exe
MapGuide Server and Web Extensionsインストール
• インストール
   –   Bundled Confituration
   –   connection ports:2810-2812
   –   Port Nuumber:8008
   –   Servicename:mapguide
   –   Develop Environment:PHP
MapGuide Server and Web Extensionsインストール
• インストール
   – Server IP addresses 127.0.1~ localhost
   – Destination Folder:
     c:program filesOSGeoMapGuide
MapGuide Server and Web Extensionsインストール
• インストール
   – Windowsセキュリティで「ブロックを解除する
     」★
   – マシンの再起動(必要に応じて)
MapGuide Server and Web Extensionsインストール
• サービスの起動確認
インストール設定まとめ
設定項目                         設定値            備考
Admin Connection Port        2810           管理ツールのアクセス用
Client Connection Port       2811           ユーザ処理のアクセス用
Site Connection Port         2812
Web Server Port Number       8008
Virtual Directory Name       mapguide
Development Environment      PHP            PHP Version 5.3.2
MapGuide Server IP Address   127.0.0.1
Install Directory            C:Program FilesOSGeoMapGuide
ファイアウォールブロック解除               Apache HTTP    許可のタイプは使用状況に応じて後
                             Server         で変更可能です。
Feature Data Objects - FDO
About Feature Data Objects - FDO
• OSGeo FDO Provider for PostGIS/PostgreSQL
• OSGeo FDO Provider for SDF                  With Autodesk Infrastructure Map Server
                                              ・Autodesk FDO Provider for Oracle
• OSGeo FDO Provider for SHP                  •Autodesk FDO provider for Raster
                                              •Autodesk FDO Provuder for Design Service(DWG)
• OSGeo FDO Provider for WFS                  Third Party
                                              •Safe Software FME FDO Providers
• OSGeo FDO Provider for WMS                  •Smallworld
                                              •SuperMap…
• OSGeo FDO Provider for ODBC
• OSGeo FDO Provider for GDAL
• OSGeo FDO Provider for OGR
• OSGeo FDO Provider for SQL Server Spatial
• OSGeo FDO Provider for SQLite
• OSGeo FDO Provider for ArcSDE
• OSGeo FDO Provider for MySQL
Autodesk                                               3rd Party Solutions                Read only
                                                                                                                    Read / Write
                          Products




                         Autodesk Certified Providers                Providers from 3rd Party & Open Source
  Providers supporting
   multiple formats




                           ODBC         Raster                                              OGR
                          MS Access,                Oracle and          200+ vector and   25+ vector       25+ raster
                                       15+ raster
                          Excel and                 SQL-Server           raster formats    formats          formats
                                        formats
                            Oracle

                                                      ArcGIS
                                                      Geodatabases




                            SDF
single format
  supporting
  Providers




                            SHP
                                                    GE Energy             SuperMap              Informix
                                                                                          Dynamic Server     KML
                                                    Smallworld
                           WMS
                                                                            SQLite                         MapInfo
                            WFS
Server Configuration
• Username: Administrator
• Password: admin
• http://localhost:8008/mapguide/mapadmin/login.php
Server Configuration
• 各種管理メニューの確認
MapGuide Maestro
MapGuide Authoring – Fat Client
MapGuide Maestro                        Autodesk Infrastructure Studio




                                        •Autodesk, Inc.
•Open Source                            (Bundle with Autodesk Infrastrucure Map Server)

•Load SDF and SHP                       •Load SDF, SHP, DWF, DWG, DXF, and
•Create Data Connections                Raster (georeferenced aka SID,TIF,ECW)
(oracle, SQLite, SQL Server, etc)       •Create Data Connections
•Create Layers                          (oracle, SQLite, SQL Server, etc)

•Create Maps                            •Create Layers
•Create Basic Web Layouts               •Create Maps
•Create FUSION Web Layouts (Flexible)   •Create Basic Web Layouts
•Built-In XML Editor                    •Create FUSION Web Layouts (Flexible)
•Google/Yahoo/Bing maps built-in        •Google/Yahoo/Bing/OpenStreetMap
                                        maps built-in
MapGuide Maestroインストール
• MapGuide Maestroのダウンロードとインストール
  – http://trac.osgeo.org/mapguide/wiki/maestro
MapGuide Maestroインストール
• MapGuide Maestroのダウンロードとインストール
  – .net Framework4.0をインストールしてあること
  – Linux/Mac OS上ではMono、Winformsがインストールされ
    ていること。
MapGuideでのデータ公開までの手順

1. データのロードまたはデータ接続
2. レイヤ作成
3. Map(s)作成
4. レイアウト作成 (ベーシックまたは、
   FUSION)
5. HML内でレイアウトをラップ
   (i.e. シンプルなiFrameで、長いURLを隠蔽)
MapGuide Maestro SHPファイル利用
SHP ファイル – MapGuideでは2つの方法で利用
1. サーバにファイルをロード 
   – DesktopからMaestroを使ってファイルをコピー
2. データ接続を使ってダイレクトに接続
   – MapGuide Administratorを使ってAlias(別名)フォルダ作成
   – 作成したAlias(別名)をMaestroで選択
MapGuide Maestro SHPファイルの利用
• フォルダの作成と、SHPファイルのサーバへのロー
  ド
  (レイヤは自動生成)
   – MapGuide Serverにログオン
   – Server:
  http://localhost:8008/mapguide/mapagent/mapagen
  t.fcgi
MapGuide Maestro SHPファイルの利用
• フォルダの作成と、SHPファイルのサーバへのロー
  ド
  (レイヤは自動生成)
   – フォルダの作成 (WindowsのExploreと同じ)
MapGuide Maestro SHPファイルの利用
• フォルダの作成と、SHPファイルのサーバへのロード
  (レイヤは自動生成)
   – SHPファイルのサーバへのロード
   – 座標系はLat/LongカテゴリのWGS84Datum(LL84)
MapGuide Maestro SHPファイルの利用
• フォルダの作成と、SHPファイルのサーバへのロード
  (レイヤは自動生成)
   – ロードされたデータの確認
MapGuide Maestro SHPファイルの利用
• フォルダの作成と、SHPファイルのサーバへのロード
  (レイヤは自動生成)
   – ロードされたレイヤの設定と確認(buildings)
MapGuide Maestro SHPファイルの利用
• フォルダの作成と、SHPファイルのサーバへのロード
  (レイヤは自動生成)
   – ロードされたレイヤの設定と確認(railways)
MapGuide Maestro Layers
 データセットのカラムの値
    でフィルタ




それぞれのフィ
ーチャにURLリ
  ンク




ユーザがオブジェクト
上にマウスを移動した
ときに表示するツール
   チップ
MapGuide Maestro Layers
                                             項目や計算式
             主題設定のた         スタイル
縮尺に応じた表示設定                                   に応じたラベ
             めのルール    (Point/Line/Polygon)
                                              ル表示
MapGuide Maestro Layers
• MapGuide Maestroでのレイヤオーサリング
     • spain
      – 薄い肌色に設定(RGB, (250, 228, 214))
    • roads
      – 選択時にプロパティを表示
MapGuide Maestro Layers
• MapGuide Maestroでのレイヤオーサリング
  – 縮尺による設定と条件による主題設定
  – Places => Large_Cities という名前で保存
     • population >=500000 and Population <
       1000000
        – Symbol Size 5 Black Circle
        – Labelstyle “name” Size 8
     • Population >= 1000000
        – Symbol Size 10 Red Circle
        – Labelstyle “name” size 10
MapGuide Maestro Layers
• MapGuide Maestroでのレイヤオーサリング
     • Large Cities
MapGuide Maestro Layers
MapGuide Maestro Layers
MapGuide Maestro Layers
• MapGuide Maestroでのレイヤオーサリング
     • natural
MapGuide Maestro Layers
• MapGuide Maestroでのレイヤオーサリング
  – 主題設定
  – natural
     • Type = forest :緑
     • Type = park :薄緑
     • Type = riverbank:青
     • Type = water:水色
MapGuide Maestro Layers
• MapGuide Maestroでのレイヤオーサリング
     • waterways
MapGuide Maestro Maps
マップ に含まれるもの
• 座標系
  (レイヤはマップの座標系に
  投影)
• 地図の背景色
• レイヤへの参照
• 凡例へのレイヤの表示有無
• レイヤの描画順
MapGuide Maestro Maps
• MapGuide Maestroでマップのオーサリング
  – マップへのレイヤの追加
MapGuide Maestro Maps
• MapGuide Maestroでマップのオーサリング
  – レイヤの描画順の変更
MapGuide Maestro Maps
• MapGuide Maestroでマップのオーサリング
  – レイヤの初期設定
     • Large_Cities、Spain以外=> Invisible
     • roads=>Selectable
MapGuide Maestro Maps
• MapGuide Maestroでマップのオーサリング
     • 座標系の設定
      – 初期表示の座標と、座標系のセット
MapGuide Maestro Maps
• MapGuide Maestroでマップのオーサリング
     • マップの保存とプレビュー
      – SPAIN_MAPで4_MAPSに保存し、プレビュー
MapGuide Maestro Basic/Simple Layout


                           AJAX Viewerを利用した
                           レイアウトの確認
MapGuide Maestro Basic/Simple Layout
• ベーシックWebレイアウトの作成
  – Webブラウザのバーに表示する文字列をSpain
    Map Layoutに、Map ResourceをSpain_Mapを
    選択し、名前をBACIC_SPAIN_LAYOUTで保存
     • プレビューで表示
MapGuide Maestro FUSION/Flexible Layout
MapGuide Maestro FUSION/Flexible Layout
• FUSIONレイアウトの作成
     • Map ResourceをSpain_Mapを選択
     • テンプレートURL=>Maroon
     • タイトルをSPAIN FLEXIBLE LAYOUT
     • 名前をFLEXIBLE_SPAIN_LAYOUTで保存
     • 一度閉じて開き、プレビューで表示
PHP Development
• MapGuide Server API
パスワードのバイパスを作成する
• MapGuide Requires Username and Password –
• User: Anonymous
• Password: <nothing>
パスワードのバイパスを作成する
Basic Web Layout –URLに追加のみ
• http://localhost/mapguide/mapviewerajax/?WEBLAYOUT=Library%3a%
   2f%2fSPAIN%2f5_LAYOUTS%2fBASIC_SPAIN_LAYOUT.WebLayout
   &USERNAME=Anonymous&PASSWORD=

FUSION Web Layout – APIでログオンし、SESSION IDを取得
$configFilePath = "C:Program FilesOSGeoMapGuideWebwwwwebconfig.ini";
MgInitializeWebTier ($configFilePath);
    $userInfo = new MgUserInformation('Anonymous','');
  $siteConnection = new MgSiteConnection();
  $siteConnection->Open($userInfo);
    $session = $siteConnection->GetSite()->CreateSession();
パスワードのバイパスを作成する
• FUSIONパスワードのバイパスを作成する
   – Hands-
     OnFOSS4G2010_MAPGUIDEos_DATAFOSS4G2
     010_MAPGUIDEos_WEBPAGESProgram
     FilesOSGeoMapGuideWebwwwfusion_viewer
     .php を
   – C:Program FilesOSGeoMapGuideWebwww
     にコピー
   – http://localhost/mapguide/fusion_viewer.php?AP
     PDEF=Library%3a%2f%2fSPAIN%2f5_LAYOUTS
     %2fFLEXIBLE_SPAIN_LAYOUT.ApplicationDefiniti
     on&TEMPLATE=Maroon にアクセス
Embed URL In iFrame
IFRAMEで長いURLを隠蔽

<iframe id=iFrameMap name=iFrameMap
  src="/mapguide/fusion_viewer.php
  ?APPDEF=Library://SPAIN/5_LAYOUTS/
  SPAIN_FLEXIBLE_LAYOUT.ApplicationDefini
  tion
  &TEMPLATE=Maroon"
width="100%" height="100%">
Embed URL In iFrame
IFRAME
Hands-
   OnFOSS4G2010_MAPGUIDEos_DATAFOSS4G2010_MAPGUIDEo
   s_WEBPAGESProgram
   FilesOSGeoMapGuideWebApache2htdocsindex.htmlを
C:Program FilesOSGeoMapGuideWebApache2htdocsにコピー
Embed URL In iFrame
IFRAME
Index.htmlの赤字部分はMaestroのプレビューボタンのとな
   りにあるのURLをコピー
<iframe id=iFrameMap name=iFrameMap
   src="/mapguide/fusion_viewer.php?APPDEF=Library%3a
   %2f%2fSPAIN%2f5_LAYOUTS%
2fFLEXIBLE_SPAIN_LAYOUT.ApplicationDefinition&TEMPL
   ATE=Maroon"
width="100%" height="100%">
Attach LAYER TO PHP Report
•   ハイパーリンクとしてPHPレポートにリンク
•   SHPのIDをRoadレイヤから取り出し、ハイパーリンク
•   それをACCESS DBの項目と一致しているものを表示
•   PHP Report example は ODBCを利用してる。
            <?php
            $conn=odbc_connect('spain_roads_odbc','','');

            if (!$conn)
                     {exit("Connection Failed: " . $conn);}


            $sql="SELECT * FROM Roads where osm_id in(" .
            stripslashes($_REQUEST["OBJ_KEYS"]) .
            “) order by NAME ";

            $rs=odbc_exec($conn,$sql);



                   今回は実施しません。
Attach LAYER TO PHP Report
• PHP Report
   – road_report.phpファイルをC:Program
     FilesOSGeoMapGuideWebApache2htdoc
     sにコピー
   – MaestroでRoadレイヤのリンク部分を下記に設
     定
      • Concat('/road_report.php?OBJ_KEYS=',
        osm_id)
   – ODBC設定
      • データソースspain_roads_odbc
      • Sphanish_roads.mdbを選択
               今回は実施しません。
Using OpenLayers to put
Google Maps behind MapGuide




         今回はMaestroを使用します。
Using OpenLayers to put
Google Maps behind MapGuide
MapGuideの背景としてOpenLayerを重ね合わせる手順
1. FUSIONレイアウトを使用
2. GoogleMercatorの座標系を取得
3. FUSIONテンプレートのIndex.htmlページを編集
4. 「openlayers.js」と「maps.google.com JavaScript libraries」を組み込む.
   (NOTE: Google Maps API KEYが必要)
5. MAP_LOADED FUSION event を作り、addGoogleStuffファンクションを呼ぶ
6. 最後に – FUSION APIを使い, Google Streetsとベースレイヤとして
   G_NORMAL_MAPを追加する。




                 今回はMaestroを使用します。
Using OpenLayers to put
Google Maps behind MapGuide
MapGuideの背景としてOpenLayerを重ね合わせる手順
1. GoogleMercatorの座標系を取得1
    1. WKT version の 座標系を以下から取得:
       http://www.spatialreference.org )
         1. Spherical merctorで検索
         2. SR-ORG4705 Populor Visualisation CRS/Mercaorを選択
         3. OGC-WKTを取得し、コピーする。




                  今回はMaestroを使用します。
Using OpenLayers to put
    Google Maps behind MapGuide
 MapGuideの背景としてOpenLayerを重ね合わせる手順
 1. GoogleMercatorの座標系を取得2
     1. MaestroのSpain_MapからXMLEditorを起動。以下の文字列を置換する。
GEOGCS["GCS_WGS_1984",DATUM["D_WGS_1984",SP
HEROID["WGS_1984",6378137,298.257223563]],PRIME
M["Greenwich",0],UNIT["Degree",0.0174532925199432
95]]


PROJCS["Popular Visualisation CRS / Mercator",GEOGCS["Popular Visualisation
CRS",DATUM["Popular Visualisation Datum",SPHEROID["Popular Visualisation
Sphere",6378137,0,AUTHORITY["EPSG","7059"]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY["EP
SG","6055"]],PRIMEM["Greenwich",0,AUTHORITY["EPSG","8901"]],UNIT["degree",0.01745
32925199433,AUTHORITY["EPSG","9102"]],AXIS[E,EAST],AXIS["N",NORTH],AUTHORITY["
EPSG","4055"]],PROJECTION["Mercator_1SP"],PARAMETER["False_Easting",0],PARAMETER
["False_Northing",0],PARAMETER["Central_Meridian",0],PARAMETER["Latitude_of_origin",0
],UNIT["metre",1,AUTHORITY["EPSG","9001"]],AXIS["East",EAST],AXIS["North",NORTH],A
UTHORITY["EPSG","3785"]]


                            今回はMaestroを使用します。
Using OpenLayers to put
Google Maps behind MapGuide
MapGuideの背景としてOpenLayerを重ね合わせる手順
1. FUSIONテンプレートのIndex.htmlページを編集
    1. Hands-
       OnFOSS4G2010_MAPGUIDEos_DATAFOSS4G2010_MAPGUIDEos
       _WEBPAGESProgram
       FilesOSGeoMapGuideWebwwwfusiontemplatesmapguidema
       roon のIndex.html
    2. C:Program
       FilesOSGeoMapGuideWebwwwfusiontemplatesmapguidema
       roon にコピー




                 今回はMaestroを使用します。
Using OpenLayers to put
Google Maps behind MapGuide
• SPAIN_MAPをSPAIN_MAP(1)にコピーする。
• SPAIN_MAP(1)の投影系を変更する。
   WGS84 PseudoMercator を指定する。
Using OpenLayers to put
Google Maps behind MapGuide
• FLEXIBLE_SPAIN_LAYOUT を
  FLEXIBLE_SPAIN_LAYOUT(1)にコピー
• Map Definitionを SPAIN_MAP(1)に変更
• GoogleMapsV3 のStreets等に☑を入れる。
• レイアウトを保存する
Using OpenLayers to put
Google Maps behind MapGuide
AJAX VIEWERの日本語化
• www/localized/ の 「en」ファイルを「ja」という名前でコピ
  ーする。
• 「ja」の内容を編集し、英語文字列を日本語文字列に置換える
  。
• license_en.htm を license_ja.htm にコピーする。
• PoweredBy_en.gif を PoweredBy_ja.gif にコピーする
• help/en/* を help/ja/* にコピーする。
• help/ja/のhtmlファイルを編集し、英語文字列を日本語文字列に
  置換える。
• www/mapagent/Resources/mapguide_en.res を
  mapguide_ja.resにコピーする。
• mapguide_ja.res の内容を編集し、英語文字列を日本語文字列
  に置換える。
AJAX VIEWERの日本語化
Fusionの日本語化
• www/fusion/text/en を ja にコピー
  jaの内容を編集し、英語文字列を日本語文字列に置換える
  。
• www/fusion/text/en.json を ja.json にコピー。 ja.json
  の内容を編集し、英語文字列を日本語文字列に置換える
  。
• www/fusion/lib/fusionSF.js を編集し、 Fusion.Strings.en =
  { } の後にja.jsonの中身をペーストする。
• fusionSF.js を 「YUI Compressor」 で圧縮し、
  fusionSF-compressed.js に上書きコピーする。
• www/fusion/widgets/widgetinfo/ の各 xml ファイルの内容
  を編集し、英語文字列を日本語文字列に置換える。

More Related Content

PDF
120620 chred r_presentation1
PDF
Qgislecture 0
PDF
Maplat - Map technology explanation, for implementation based on Map API othe...
PPT
MapGuide+Geopaparazziで作るスマートフォンソリューション
PDF
FOSS4Gだらけの 古地図Platform Maplatのご紹介 (OFF4G 2016)
PDF
20121014 micorgeodatahansonaoki
PDF
Use case of Disaster Management System by using Geopaparazzi and MapGuide Ope...
PPTX
MOLOCH: Search for Full Packet Capture (OA Cyber Summit)
120620 chred r_presentation1
Qgislecture 0
Maplat - Map technology explanation, for implementation based on Map API othe...
MapGuide+Geopaparazziで作るスマートフォンソリューション
FOSS4Gだらけの 古地図Platform Maplatのご紹介 (OFF4G 2016)
20121014 micorgeodatahansonaoki
Use case of Disaster Management System by using Geopaparazzi and MapGuide Ope...
MOLOCH: Search for Full Packet Capture (OA Cyber Summit)

Similar to Foss4g2012 MapGuide Hands-On (20)

PPTX
Osckyoto2012 osgeojp foss4g
PDF
QuantumGISを使ったPostgreSQL/PostGIS利用方法紹介
PDF
世界をかえちゃったかもしれないFOSS4G
PDF
120619 os mworkshop_presentation
PDF
120630 os mworkshop_presentation
PPT
FOSS4GとWebによる地図公開の共有
PDF
2012 12 08_ngk_osm_a
PDF
Foss4g2009tokyo Yachi Mapion
PDF
FOSS4Gで地理空間情報もかんたん
PPTX
大阪発Map guideを用いたスマホアプリ連携実装
KEY
20120928 奈良大学
PPTX
Map server入門 - FOSS4G 2012 Hokkaido
PDF
2012 07 14_osm-ws_2
PDF
FOSS4Gを手軽に体験できるOSGeo Liveの紹介
PDF
2012 05 12_osc2012_nagoya_osm
PDF
YOLP とスマートフォン向け 地図SDKのご紹介
PDF
2012 07 27_osm_project10
PDF
2012 06 30_osm-ws_1a
PDF
地理空間情報分野のOSSの動向と活用事例.
PDF
2012 04 14_foss4_g_nagoya_osm
Osckyoto2012 osgeojp foss4g
QuantumGISを使ったPostgreSQL/PostGIS利用方法紹介
世界をかえちゃったかもしれないFOSS4G
120619 os mworkshop_presentation
120630 os mworkshop_presentation
FOSS4GとWebによる地図公開の共有
2012 12 08_ngk_osm_a
Foss4g2009tokyo Yachi Mapion
FOSS4Gで地理空間情報もかんたん
大阪発Map guideを用いたスマホアプリ連携実装
20120928 奈良大学
Map server入門 - FOSS4G 2012 Hokkaido
2012 07 14_osm-ws_2
FOSS4Gを手軽に体験できるOSGeo Liveの紹介
2012 05 12_osc2012_nagoya_osm
YOLP とスマートフォン向け 地図SDKのご紹介
2012 07 27_osm_project10
2012 06 30_osm-ws_1a
地理空間情報分野のOSSの動向と活用事例.
2012 04 14_foss4_g_nagoya_osm
Ad

Foss4g2012 MapGuide Hands-On

  • 1. Hands-on Introduction to MapGuide Open Source 原案:Gordon Luckett 翻訳:井上 修 日本版編集:林 博文
  • 2. MapGuideの歴史 • 1995 Argus Technologies – Calgary, Alberta, Canada • 1996 Autodesk, Inc. –Calgaryにて引き続き開発 • 2002 MapGuide 6.5 reaches ActiveX/Java/Plug-in によるカスタマイズの限界に 達する • 2004 Autodesk, Inc. がMapGuide Open Source開発をスタート • 2004 Autodesk AutoCAD Mapに、FDO (Feature Data Objects)for Oracle, SDF, ArcSDE を搭載 • 2006 MapGuide のソースコードをOSGeoに提供 (GNU LGPL) • 2006 FDO Open Source を同時に提供 Note: AutodeskのMap 3D, Autodesk Infrastructure Map Server, MapGuide Enterprise, Studio, Topobaseは、すべてFDO Open Source Platformをベースに開発
  • 3. Web 2.0 web mapping • Web 1.0 – first-generation web mapping – Web 1.0 =配信( publishing ) – MapGuide6.x, MapServer, ArcIMS, … • Web 2.0 – next-generation web mapping – Web 2.0 = 協調( participation ) – コラボレーションの例: Google Maps, OpenLayers – MapGuide Open Source/FDO には、 • Webベースの空間編集API • 協調するためのツールとして設計
  • 4. 幅広いプラットフォームサポート 対応OS 開発環境 Linux 対応ブラウザ Microsoft Windows 対応Webサーバ Internet Mozilla Apple Google Explorer Firefox Safari Chrome Apache Microsoft Web IIS Server
  • 5. MapGuideシステム構成 SERVER TIER WEB TIER CLIENT TIER シン・クライア データ ント ソース (ブラウザのみ) WMS / WFS Web Server + Google MapGuide Earth Database MapGuide Web Server MapGuide サーバ Server Extensions AJAX Viewer Internet MapGuide AJAX Viewer Maestro データ Services Web PHP アプリ シック・クライ ファイ Rendering KML Mapping システムの ケーション .NET アント ル Tile Feature Drawing コア FDO Resource Site Java (PCへインストール コンポーネン ) ト
  • 6. MapGuide Web Server Extensions につ いて Web Server Extensionsの種類 • Java (JSP) • Microsoft ASP.NET • PHP
  • 7. MapGuide Web Server Extensions につい て JAVA • Linux or Windows • Apache Tomcat が必要
  • 8. MapGuide Web Server Extensions につい て Microsoft ASP.NET • Microsoft Windows と IIS • C# または VB.NET
  • 9. MapGuide Web Server Extensions につい て PHP • MapGuide Site Administrator は、PHPを利用 • Open Source, 構文は Java, Perl, C言語のミックス • 動作環境 – Linux またはWindows – IISまたはApache
  • 10. MapGuide Web Server Extensions について
  • 11. Install MapGuide Open Source 2.4
  • 12. MapGuide Server and Web Extensionsインストール • mapguide.osgeo.orgよりダウンロード • ハンズオンセットアップ: • Windows 7 (ハンズオンはx64版) • PHP • Apache Web Server • Port 8008 • Web Extensions と Server service は同一マシンで実 行
  • 13. MapGuide Server and Web Extensionsインストール • Mapguide.osgeo.orgよりダウンロード http://mapguide.osgeo.org/home
  • 14. MapGuide Server and Web Extensionsインストール • インストール MapGuideOpenSource-2.4.0.7096-Final-x64.exe
  • 15. MapGuide Server and Web Extensionsインストール • インストール – Bundled Confituration – connection ports:2810-2812 – Port Nuumber:8008 – Servicename:mapguide – Develop Environment:PHP
  • 16. MapGuide Server and Web Extensionsインストール • インストール – Server IP addresses 127.0.1~ localhost – Destination Folder: c:program filesOSGeoMapGuide
  • 17. MapGuide Server and Web Extensionsインストール • インストール – Windowsセキュリティで「ブロックを解除する 」★ – マシンの再起動(必要に応じて)
  • 18. MapGuide Server and Web Extensionsインストール • サービスの起動確認
  • 19. インストール設定まとめ 設定項目 設定値 備考 Admin Connection Port 2810 管理ツールのアクセス用 Client Connection Port 2811 ユーザ処理のアクセス用 Site Connection Port 2812 Web Server Port Number 8008 Virtual Directory Name mapguide Development Environment PHP PHP Version 5.3.2 MapGuide Server IP Address 127.0.0.1 Install Directory C:Program FilesOSGeoMapGuide ファイアウォールブロック解除 Apache HTTP 許可のタイプは使用状況に応じて後 Server で変更可能です。
  • 20. Feature Data Objects - FDO About Feature Data Objects - FDO • OSGeo FDO Provider for PostGIS/PostgreSQL • OSGeo FDO Provider for SDF With Autodesk Infrastructure Map Server ・Autodesk FDO Provider for Oracle • OSGeo FDO Provider for SHP •Autodesk FDO provider for Raster •Autodesk FDO Provuder for Design Service(DWG) • OSGeo FDO Provider for WFS Third Party •Safe Software FME FDO Providers • OSGeo FDO Provider for WMS •Smallworld •SuperMap… • OSGeo FDO Provider for ODBC • OSGeo FDO Provider for GDAL • OSGeo FDO Provider for OGR • OSGeo FDO Provider for SQL Server Spatial • OSGeo FDO Provider for SQLite • OSGeo FDO Provider for ArcSDE • OSGeo FDO Provider for MySQL
  • 21. Autodesk 3rd Party Solutions Read only Read / Write Products Autodesk Certified Providers Providers from 3rd Party & Open Source Providers supporting multiple formats ODBC Raster OGR MS Access, Oracle and 200+ vector and 25+ vector 25+ raster 15+ raster Excel and SQL-Server raster formats formats formats formats Oracle ArcGIS Geodatabases SDF single format supporting Providers SHP GE Energy SuperMap Informix Dynamic Server KML Smallworld WMS SQLite MapInfo WFS
  • 22. Server Configuration • Username: Administrator • Password: admin • http://localhost:8008/mapguide/mapadmin/login.php
  • 25. MapGuide Authoring – Fat Client MapGuide Maestro Autodesk Infrastructure Studio •Autodesk, Inc. •Open Source (Bundle with Autodesk Infrastrucure Map Server) •Load SDF and SHP •Load SDF, SHP, DWF, DWG, DXF, and •Create Data Connections Raster (georeferenced aka SID,TIF,ECW) (oracle, SQLite, SQL Server, etc) •Create Data Connections •Create Layers (oracle, SQLite, SQL Server, etc) •Create Maps •Create Layers •Create Basic Web Layouts •Create Maps •Create FUSION Web Layouts (Flexible) •Create Basic Web Layouts •Built-In XML Editor •Create FUSION Web Layouts (Flexible) •Google/Yahoo/Bing maps built-in •Google/Yahoo/Bing/OpenStreetMap maps built-in
  • 26. MapGuide Maestroインストール • MapGuide Maestroのダウンロードとインストール – http://trac.osgeo.org/mapguide/wiki/maestro
  • 27. MapGuide Maestroインストール • MapGuide Maestroのダウンロードとインストール – .net Framework4.0をインストールしてあること – Linux/Mac OS上ではMono、Winformsがインストールされ ていること。
  • 28. MapGuideでのデータ公開までの手順 1. データのロードまたはデータ接続 2. レイヤ作成 3. Map(s)作成 4. レイアウト作成 (ベーシックまたは、 FUSION) 5. HML内でレイアウトをラップ (i.e. シンプルなiFrameで、長いURLを隠蔽)
  • 29. MapGuide Maestro SHPファイル利用 SHP ファイル – MapGuideでは2つの方法で利用 1. サーバにファイルをロード  – DesktopからMaestroを使ってファイルをコピー 2. データ接続を使ってダイレクトに接続 – MapGuide Administratorを使ってAlias(別名)フォルダ作成 – 作成したAlias(別名)をMaestroで選択
  • 30. MapGuide Maestro SHPファイルの利用 • フォルダの作成と、SHPファイルのサーバへのロー ド (レイヤは自動生成) – MapGuide Serverにログオン – Server: http://localhost:8008/mapguide/mapagent/mapagen t.fcgi
  • 31. MapGuide Maestro SHPファイルの利用 • フォルダの作成と、SHPファイルのサーバへのロー ド (レイヤは自動生成) – フォルダの作成 (WindowsのExploreと同じ)
  • 32. MapGuide Maestro SHPファイルの利用 • フォルダの作成と、SHPファイルのサーバへのロード (レイヤは自動生成) – SHPファイルのサーバへのロード – 座標系はLat/LongカテゴリのWGS84Datum(LL84)
  • 33. MapGuide Maestro SHPファイルの利用 • フォルダの作成と、SHPファイルのサーバへのロード (レイヤは自動生成) – ロードされたデータの確認
  • 34. MapGuide Maestro SHPファイルの利用 • フォルダの作成と、SHPファイルのサーバへのロード (レイヤは自動生成) – ロードされたレイヤの設定と確認(buildings)
  • 35. MapGuide Maestro SHPファイルの利用 • フォルダの作成と、SHPファイルのサーバへのロード (レイヤは自動生成) – ロードされたレイヤの設定と確認(railways)
  • 36. MapGuide Maestro Layers データセットのカラムの値 でフィルタ それぞれのフィ ーチャにURLリ ンク ユーザがオブジェクト 上にマウスを移動した ときに表示するツール チップ
  • 37. MapGuide Maestro Layers 項目や計算式 主題設定のた スタイル 縮尺に応じた表示設定 に応じたラベ めのルール (Point/Line/Polygon) ル表示
  • 38. MapGuide Maestro Layers • MapGuide Maestroでのレイヤオーサリング • spain – 薄い肌色に設定(RGB, (250, 228, 214)) • roads – 選択時にプロパティを表示
  • 39. MapGuide Maestro Layers • MapGuide Maestroでのレイヤオーサリング – 縮尺による設定と条件による主題設定 – Places => Large_Cities という名前で保存 • population >=500000 and Population < 1000000 – Symbol Size 5 Black Circle – Labelstyle “name” Size 8 • Population >= 1000000 – Symbol Size 10 Red Circle – Labelstyle “name” size 10
  • 40. MapGuide Maestro Layers • MapGuide Maestroでのレイヤオーサリング • Large Cities
  • 43. MapGuide Maestro Layers • MapGuide Maestroでのレイヤオーサリング • natural
  • 44. MapGuide Maestro Layers • MapGuide Maestroでのレイヤオーサリング – 主題設定 – natural • Type = forest :緑 • Type = park :薄緑 • Type = riverbank:青 • Type = water:水色
  • 45. MapGuide Maestro Layers • MapGuide Maestroでのレイヤオーサリング • waterways
  • 46. MapGuide Maestro Maps マップ に含まれるもの • 座標系 (レイヤはマップの座標系に 投影) • 地図の背景色 • レイヤへの参照 • 凡例へのレイヤの表示有無 • レイヤの描画順
  • 47. MapGuide Maestro Maps • MapGuide Maestroでマップのオーサリング – マップへのレイヤの追加
  • 48. MapGuide Maestro Maps • MapGuide Maestroでマップのオーサリング – レイヤの描画順の変更
  • 49. MapGuide Maestro Maps • MapGuide Maestroでマップのオーサリング – レイヤの初期設定 • Large_Cities、Spain以外=> Invisible • roads=>Selectable
  • 50. MapGuide Maestro Maps • MapGuide Maestroでマップのオーサリング • 座標系の設定 – 初期表示の座標と、座標系のセット
  • 51. MapGuide Maestro Maps • MapGuide Maestroでマップのオーサリング • マップの保存とプレビュー – SPAIN_MAPで4_MAPSに保存し、プレビュー
  • 52. MapGuide Maestro Basic/Simple Layout AJAX Viewerを利用した レイアウトの確認
  • 53. MapGuide Maestro Basic/Simple Layout • ベーシックWebレイアウトの作成 – Webブラウザのバーに表示する文字列をSpain Map Layoutに、Map ResourceをSpain_Mapを 選択し、名前をBACIC_SPAIN_LAYOUTで保存 • プレビューで表示
  • 55. MapGuide Maestro FUSION/Flexible Layout • FUSIONレイアウトの作成 • Map ResourceをSpain_Mapを選択 • テンプレートURL=>Maroon • タイトルをSPAIN FLEXIBLE LAYOUT • 名前をFLEXIBLE_SPAIN_LAYOUTで保存 • 一度閉じて開き、プレビューで表示
  • 57. パスワードのバイパスを作成する • MapGuide Requires Username and Password – • User: Anonymous • Password: <nothing>
  • 58. パスワードのバイパスを作成する Basic Web Layout –URLに追加のみ • http://localhost/mapguide/mapviewerajax/?WEBLAYOUT=Library%3a% 2f%2fSPAIN%2f5_LAYOUTS%2fBASIC_SPAIN_LAYOUT.WebLayout &USERNAME=Anonymous&PASSWORD= FUSION Web Layout – APIでログオンし、SESSION IDを取得 $configFilePath = "C:Program FilesOSGeoMapGuideWebwwwwebconfig.ini"; MgInitializeWebTier ($configFilePath); $userInfo = new MgUserInformation('Anonymous',''); $siteConnection = new MgSiteConnection(); $siteConnection->Open($userInfo); $session = $siteConnection->GetSite()->CreateSession();
  • 59. パスワードのバイパスを作成する • FUSIONパスワードのバイパスを作成する – Hands- OnFOSS4G2010_MAPGUIDEos_DATAFOSS4G2 010_MAPGUIDEos_WEBPAGESProgram FilesOSGeoMapGuideWebwwwfusion_viewer .php を – C:Program FilesOSGeoMapGuideWebwww にコピー – http://localhost/mapguide/fusion_viewer.php?AP PDEF=Library%3a%2f%2fSPAIN%2f5_LAYOUTS %2fFLEXIBLE_SPAIN_LAYOUT.ApplicationDefiniti on&TEMPLATE=Maroon にアクセス
  • 60. Embed URL In iFrame IFRAMEで長いURLを隠蔽 <iframe id=iFrameMap name=iFrameMap src="/mapguide/fusion_viewer.php ?APPDEF=Library://SPAIN/5_LAYOUTS/ SPAIN_FLEXIBLE_LAYOUT.ApplicationDefini tion &TEMPLATE=Maroon" width="100%" height="100%">
  • 61. Embed URL In iFrame IFRAME Hands- OnFOSS4G2010_MAPGUIDEos_DATAFOSS4G2010_MAPGUIDEo s_WEBPAGESProgram FilesOSGeoMapGuideWebApache2htdocsindex.htmlを C:Program FilesOSGeoMapGuideWebApache2htdocsにコピー
  • 62. Embed URL In iFrame IFRAME Index.htmlの赤字部分はMaestroのプレビューボタンのとな りにあるのURLをコピー <iframe id=iFrameMap name=iFrameMap src="/mapguide/fusion_viewer.php?APPDEF=Library%3a %2f%2fSPAIN%2f5_LAYOUTS% 2fFLEXIBLE_SPAIN_LAYOUT.ApplicationDefinition&TEMPL ATE=Maroon" width="100%" height="100%">
  • 63. Attach LAYER TO PHP Report • ハイパーリンクとしてPHPレポートにリンク • SHPのIDをRoadレイヤから取り出し、ハイパーリンク • それをACCESS DBの項目と一致しているものを表示 • PHP Report example は ODBCを利用してる。 <?php $conn=odbc_connect('spain_roads_odbc','',''); if (!$conn) {exit("Connection Failed: " . $conn);} $sql="SELECT * FROM Roads where osm_id in(" . stripslashes($_REQUEST["OBJ_KEYS"]) . “) order by NAME "; $rs=odbc_exec($conn,$sql); 今回は実施しません。
  • 64. Attach LAYER TO PHP Report • PHP Report – road_report.phpファイルをC:Program FilesOSGeoMapGuideWebApache2htdoc sにコピー – MaestroでRoadレイヤのリンク部分を下記に設 定 • Concat('/road_report.php?OBJ_KEYS=', osm_id) – ODBC設定 • データソースspain_roads_odbc • Sphanish_roads.mdbを選択 今回は実施しません。
  • 65. Using OpenLayers to put Google Maps behind MapGuide 今回はMaestroを使用します。
  • 66. Using OpenLayers to put Google Maps behind MapGuide MapGuideの背景としてOpenLayerを重ね合わせる手順 1. FUSIONレイアウトを使用 2. GoogleMercatorの座標系を取得 3. FUSIONテンプレートのIndex.htmlページを編集 4. 「openlayers.js」と「maps.google.com JavaScript libraries」を組み込む. (NOTE: Google Maps API KEYが必要) 5. MAP_LOADED FUSION event を作り、addGoogleStuffファンクションを呼ぶ 6. 最後に – FUSION APIを使い, Google Streetsとベースレイヤとして G_NORMAL_MAPを追加する。 今回はMaestroを使用します。
  • 67. Using OpenLayers to put Google Maps behind MapGuide MapGuideの背景としてOpenLayerを重ね合わせる手順 1. GoogleMercatorの座標系を取得1 1. WKT version の 座標系を以下から取得: http://www.spatialreference.org ) 1. Spherical merctorで検索 2. SR-ORG4705 Populor Visualisation CRS/Mercaorを選択 3. OGC-WKTを取得し、コピーする。 今回はMaestroを使用します。
  • 68. Using OpenLayers to put Google Maps behind MapGuide MapGuideの背景としてOpenLayerを重ね合わせる手順 1. GoogleMercatorの座標系を取得2 1. MaestroのSpain_MapからXMLEditorを起動。以下の文字列を置換する。 GEOGCS["GCS_WGS_1984",DATUM["D_WGS_1984",SP HEROID["WGS_1984",6378137,298.257223563]],PRIME M["Greenwich",0],UNIT["Degree",0.0174532925199432 95]] PROJCS["Popular Visualisation CRS / Mercator",GEOGCS["Popular Visualisation CRS",DATUM["Popular Visualisation Datum",SPHEROID["Popular Visualisation Sphere",6378137,0,AUTHORITY["EPSG","7059"]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY["EP SG","6055"]],PRIMEM["Greenwich",0,AUTHORITY["EPSG","8901"]],UNIT["degree",0.01745 32925199433,AUTHORITY["EPSG","9102"]],AXIS[E,EAST],AXIS["N",NORTH],AUTHORITY[" EPSG","4055"]],PROJECTION["Mercator_1SP"],PARAMETER["False_Easting",0],PARAMETER ["False_Northing",0],PARAMETER["Central_Meridian",0],PARAMETER["Latitude_of_origin",0 ],UNIT["metre",1,AUTHORITY["EPSG","9001"]],AXIS["East",EAST],AXIS["North",NORTH],A UTHORITY["EPSG","3785"]] 今回はMaestroを使用します。
  • 69. Using OpenLayers to put Google Maps behind MapGuide MapGuideの背景としてOpenLayerを重ね合わせる手順 1. FUSIONテンプレートのIndex.htmlページを編集 1. Hands- OnFOSS4G2010_MAPGUIDEos_DATAFOSS4G2010_MAPGUIDEos _WEBPAGESProgram FilesOSGeoMapGuideWebwwwfusiontemplatesmapguidema roon のIndex.html 2. C:Program FilesOSGeoMapGuideWebwwwfusiontemplatesmapguidema roon にコピー 今回はMaestroを使用します。
  • 70. Using OpenLayers to put Google Maps behind MapGuide • SPAIN_MAPをSPAIN_MAP(1)にコピーする。 • SPAIN_MAP(1)の投影系を変更する。 WGS84 PseudoMercator を指定する。
  • 71. Using OpenLayers to put Google Maps behind MapGuide • FLEXIBLE_SPAIN_LAYOUT を FLEXIBLE_SPAIN_LAYOUT(1)にコピー • Map Definitionを SPAIN_MAP(1)に変更 • GoogleMapsV3 のStreets等に☑を入れる。 • レイアウトを保存する
  • 72. Using OpenLayers to put Google Maps behind MapGuide
  • 73. AJAX VIEWERの日本語化 • www/localized/ の 「en」ファイルを「ja」という名前でコピ ーする。 • 「ja」の内容を編集し、英語文字列を日本語文字列に置換える 。 • license_en.htm を license_ja.htm にコピーする。 • PoweredBy_en.gif を PoweredBy_ja.gif にコピーする • help/en/* を help/ja/* にコピーする。 • help/ja/のhtmlファイルを編集し、英語文字列を日本語文字列に 置換える。 • www/mapagent/Resources/mapguide_en.res を mapguide_ja.resにコピーする。 • mapguide_ja.res の内容を編集し、英語文字列を日本語文字列 に置換える。
  • 75. Fusionの日本語化 • www/fusion/text/en を ja にコピー jaの内容を編集し、英語文字列を日本語文字列に置換える 。 • www/fusion/text/en.json を ja.json にコピー。 ja.json の内容を編集し、英語文字列を日本語文字列に置換える 。 • www/fusion/lib/fusionSF.js を編集し、 Fusion.Strings.en = { } の後にja.jsonの中身をペーストする。 • fusionSF.js を 「YUI Compressor」 で圧縮し、 fusionSF-compressed.js に上書きコピーする。 • www/fusion/widgets/widgetinfo/ の各 xml ファイルの内容 を編集し、英語文字列を日本語文字列に置換える。