大きく進歩したMapServer6の新機能((株)オークニー・丹羽誠様)

2,576 views

Published on

Published in: Education
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
2,576
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
26
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

大きく進歩したMapServer6の新機能((株)オークニー・丹羽誠様)

  1. 1. 大きく進歩したMapServer6の新機能 の新機能株式会社 オークニー 丹羽 誠 2011/11/07
  2. 2. はじめに■ MapServerとは・・・ とは・・・ ・オープンソースのアプリケーション ・色々なGISデータを読み込んで地図を作成するプログラム ・色々な データを読み込んで地図を作成するプログラム ・C言語で書かれています 言語で書かれています ・Webアプリケーション アプリケーション(CGI)としての動作が基本 アプリケーション としての動作が基本 ・MapScript APIを使うことで、 を使うことで、JAVA、PHP等の言語で使えます を使うことで、 、 等の言語で使えます ・1994年から開発がスタート 年から開発がスタート ・2004年に国際化対応して日本語の扱いが簡単に 年に国際化対応して日本語の扱いが簡単に ・2007年に 年にOSGeoに合流 年に に合流 ・2011年5月 MapServer 6.0リリース 年 月 リリース
  3. 3. MapServer6.0 コアの刷新■描画インターフェースAPIの実装 描画インターフェース の実装 内部に描画用APIを作成してレンダラーの追加、修正を簡単に 内部に描画用 を作成してレンダラーの追加、修正を簡単に ⇒まずはCAIROで利用 まずは で利用 検索表現(EXPRESSION)パーサーの全面改定■ 検索表現 パーサーの全面改定 ⇒統一的な表現とわかりやすさ OGC Filterでの処理の簡素化 での処理の簡素化■一回の問い合わせを一発で検索 これまで一部2回行っていた検索を1回で済むように ⇒検索、問い合わせの高速化
  4. 4. MapServer6.0の新機能 の新機能●新描画エンジン(CAIRO)の追加 新描画エンジン( の追加●KML出力のサポート 出力のサポート●複数のレイヤのフィーチャを結合(UNION)●複数のレイヤのフィーチャを結合( )●重なり合うデータの表現(CLUSTER)●重なり合うデータの表現( )●ビルトインopenlayersビューワ●ビルトイン ビューワ●表現力の向上(GEOMTRANSFORM、STYLE)●表現力の向上( 、 )●OGCリクエストの制御 リクエストの制御●WFSの出力フォーマットの追加 の出力フォーマットの追加
  5. 5. 新描画エンジンの追加●新描画エンジンCAIROが追加されました 新描画エンジン が追加されました ・SVG,PDFの出力を の出力をCAIROに変更することで、より高速で複雑なイメージ出力が可能に の出力を に変更することで、より高速で複雑なイメージ出力が可能に ・CAIROはPNGも出力可能。見た目は は も出力可能。見た目はAGGとほぼ同じだが、処理速度は も出力可能。見た目は とほぼ同じだが、処理速度はAGGより遅い とほぼ同じだが、処理速度は より遅い AGG CAIRO GD
  6. 6. KML、KMZ出力 、 出力●KML,KMZの出力が追加されました の出力が追加されました Google EarthやGoogle Mapsで利用できる や で利用できるKML,KMZが出力できるようなりました で利用できる が出力できるようなりました ・ラベル出力はPOINTタイプで( ・ラベル出力は タイプで(ANNOTATIONは非サポート) タイプで( は非サポート) ・Google Earth,Mapsのフィーチャ数の制限に注意 のフィーチャ数の制限に注意 マップファイル OUTPUTFORMAT NAME kml DRIVER "KML" MIMETYPE "application/vnd.google-earth.kml+xml" IMAGEMODE RGB EXTENSION "kml" FORMATOPTION ATTACHMENT=mapserv.kml FORMATOPTION "maxfeaturestodraw=200" END OUTPUTFORMAT NAME kmz DRIVER "KMZ" MIMETYPE "application/vnd.google-earth.kmz" IMAGEMODE RGB EXTENSION "kmz" FORMATOPTION ATTACHMENT=mapserv.kmz FORMATOPTION "maxfeaturestodraw=200" END
  7. 7. 複数のレイヤのフィーチャを結合●複数のレイヤのフィーチャを結合できるUNIONレイヤが追加されました 複数のレイヤのフィーチャを結合できる レイヤが追加されました ・異なる種類のデータ(シェープファイルとCSV等)のデータをひとまとめに ・異なる種類のデータ(シェープファイルと 等)のデータをひとまとめに ・UNION化されたレイヤに対して、描画(スタイル)、問い合わせを一括して可能に 化されたレイヤに対して、描画(スタイル)、問い合わせを一括して可能に マップファイル 道路 LAYER NAME "union-layer" CONNECTIONTYPE UNION CONNECTION "layer1,layer2" PROCESSING "ITEMS=itemname1,itemname2” ... UNION END LAYER CONNECTIONTYPE OGR NAME layer1 ... END LAYER CONNECTIONTYPE SHAPE 鉄道 NAME layer2 ... END
  8. 8. データの重なりを表現●一定範囲内のデータをまとめて表示するCLUSTERが追加されました 一定範囲内のデータをまとめて表示する が追加されました ・POINTタイプのレイヤ内に タイプのレイヤ内にCLUSTERを定義 タイプのレイヤ内に を定義 ・指定距離以内のフィーチャをひとまとめにして別のシンボルで表示 マップファイル LAYER NAME "駅" DATA eki 拡大 STATUS ON TYPE POINT CLUSTER MAXDISTANCE 20 REGION "ellipse" END LABELITEM "Cluster:FeatureCount" CLASSITEM "Cluster:FeatureCount“ CLASS 拡大 NAME "駅(集合表示)" EXPRESSION ("[Cluster:FeatureCount]" != "1") … END CLASS NAME "駅(単一表示)" 数字は含まれる EXPRESSION "1“ … 点の数 END END
  9. 9. ビルトインOpenLayersビューワ ビルトイン ビューワ●OpenLayersのビューワをテンプレートに指定して地図を簡易表示できるようになりました のビューワをテンプレートに指定して地図を簡易表示できるようになりました ・地図の移動、拡大、縮小出来、簡単に表示の確認ができます ・MapServerのCGIパラメータに の パラメータにmode=browse&template=openlayersを追加するだけ パラメータに を追加するだけ
  10. 10. 表現力の向上●GEOMTRANSFORM、STYLEに新しい表現方法が追加されました 、 に新しい表現方法が追加されました ・GEOMTRANSFORMで矢印やノード、文字背景などが指定できるように で矢印やノード、文字背景などが指定できるように ・STYLEと属性との設定方法がより柔軟かつ自由に指定できるように と属性との設定方法がより柔軟かつ自由に指定できるように ・SIZEなどのパラメータで実数指定ができるように などのパラメータで実数指定ができるように マップファイル 矢印 LAYER NAME "鉄道:節点位置" DATA tetsudokukan TYPE LINE CLASS BBOX NAME "鉄道:節点位置" STYLE GEOMTRANSFORM "vertices" SYMBOL "square“ … END LAYER 節点位置 NAME "鉄道:始点“ DATA tetsudokukan TYPE LINE CLASS NAME "鉄道:始点" STYLE ANGLE AUTO GEOMTRANSFORM "start" SYMBOL "from“ … END
  11. 11. OGCリクエストの制御 リクエストの制御●OGCサービス サービス(WMS,WFS,WCS,SOS)のリクエストに対して制御が出来るようになりました サービス のリクエストに対して制御が出来るようになりました ・マップ単位、レイヤ単位でサービス、リクエストに対して可・不可の制御が可能 ・制御はMAP、LAYERのMETADATAでそれぞれ指定可能 ・制御は 、 の でそれぞれ指定可能 ・リクエストの制御は、“GetMap GetFeature GetFeatureInfo”が指定可能 ・リクエストの制御は、“ が指定可能 ・OWSなんでもOK 使用例 ows_enable_request "*“ この指定は、旧MapServerと同じ動作 この指定は、旧 と同じ動作 ・WMSは全部OK wms_enable_request "*" ・GetFeatureInfo以外のWMSはOK wms_enable_request "* !GetFeatureInfo" Copyright表示は常に出したいが、 ・GetMapとGetFeatureInfoのWMSはOK wms_enable_request "GetMap GetFeatureInfo“ GetCapabilitiesでは見せたくない ・WFSは全部OK Layer wfs_enable_request "*" Name “Copyright” ・特定のレイヤでWFSのGetFeatureを禁止 STATUS DEFAULT wfs_enable_request "!GetFeature" METADATA ows_enable_request "!*“ wms_enable_request “GetMap” END
  12. 12. WFSの出力フォーマットの追加 の出力フォーマットの追加●WFSのGetFeatureで出力できるフォーマットが追加されました の で出力できるフォーマットが追加されました ・出力可能なフォーマットは、OGRで出力可能で、 ・出力可能なフォーマットは、 で出力可能で、OUTPUTFORMATで定義できれば で出力可能で、 で定義できればOK で定義できれば ・例えば、WKT形式の ・例えば、 形式のCSV、シェープファイル、 形式の 、シェープファイル、MIDMIF等が可能 、シェープファイル、 等が可能 ・オプションで、zip圧縮や ・オプションで、 圧縮やmultipart、メモリーやストリーミング等の指定が可能 圧縮や 、メモリーやストリーミング等の指定が可能例:zip圧縮のシェープファイル例: 圧縮のシェープファイルOUTPUTFORMAT 出力:result.zip 出力: NAME "SHAPEZIP" DRIVER "OGR/ESRI Shapefile" ・Tetsudo.shp FORMATOPTION "STORAGE=memory" ・Tetsudo.dbf FORMATOPTION "FORM=zip" FORMATOPTION "FILENAME=result.zip" ・Tetsudo.shxEND ・Tetsudo.prjLAYERMETADATA "wms_title" "Tetsudo" "wms_srs" "EPSG:4612" "gml_include_items" "all" "wfs_getfeature_formatlist" "shapezip" END …END
  13. 13. おわりに■ こんなところに注意 ・MapServerを6.0にバージョンアップする場合、修正が必要です を にバージョンアップする場合、修正が必要です ・シンボル、特にラインの表現が大きく変わりました ・WMSを使っていた場合、 を使っていた場合、ows_enable_requestを追加が必要です を使っていた場合、 を追加が必要です ・PNGのデフォルトが のデフォルトがAGG 24bitになりました のデフォルトが になりました ・MapScriptでいくつかのメソッド、メンバーが削られました でいくつかのメソッド、メンバーが削られました ・EXPRESSION(表現式)の書き方が変わりました (表現式)の書き方が変わりました ・ラベルの背景の書き方が変わりました

×