ZNET TOWN #2.0 ユーザデータ連携 インタフェース仕様書 株式会社ゼンリン 2011 年 11 月発行 Copyright (C) ZENRIN CO., LTD. All Rights Reserved. 1 目次: はじめに..........................................................................................................................................................................................................................................3 1.1. 対象範囲.............................................................................................................................................................................................................................3 1.2. 方針.......................................................................................................................................................................................................................................3 1.3. ユーザデータの配信......................................................................................................................................................................................................4 1.4. ユーザデータの重ね合せ............................................................................................................................................................................................4 1.5. 座標系..................................................................................................................................................................................................................................4 1.6. EPSGコード一覧 ..............................................................................................................................................................................................................5 1.7. 投影法..................................................................................................................................................................................................................................6 1.8. 機能認証.............................................................................................................................................................................................................................6 2. ラスタ(Image) WMS.....................................................................................................................................................................................................................7 2.1. 概要.......................................................................................................................................................................................................................................7 2.2. GetMapリクエスト ............................................................................................................................................................................................................7 2.2.1. リクエストパラメータ解説........................................................................................................................................................................................7 2.2.2. リクエスト例..................................................................................................................................................................................................................8 2.3. GetMapレスポンス ..........................................................................................................................................................................................................8 2.3.1. ラスタ画像の生成手法 ...........................................................................................................................................................................................8 3. ファイル(GeoJSON) ...................................................................................................................................................................................................................9 3.1. 概要.......................................................................................................................................................................................................................................9 3.2. リクエスト.............................................................................................................................................................................................................................9 3.2.1. リクエストパラメータ解説........................................................................................................................................................................................9 3.2.2. リクエスト例..................................................................................................................................................................................................................9 3.3. レスポンス ..........................................................................................................................................................................................................................9 3.3.1. レスポンスデータ解説 .............................................................................................................................................................................................9 3.3.2. レスポンス例 ...............................................................................................................................................................................................................9 3.3.3. GeoJSONファイルの生成手法............................................................................................................................................................................9 4. ベクトル(GeoJSON) WFS ..................................................................................................................................................................................................... 10 4.1. 概要.................................................................................................................................................................................................................................... 10 4.2. GetFeatureリクエスト.................................................................................................................................................................................................. 10 4.2.1. パラメータ解説......................................................................................................................................................................................................... 10 4.2.2. リクエスト例............................................................................................................................................................................................................... 11 4.3. GetFeaturerレスポンス.............................................................................................................................................................................................. 11 4.3.1. レスポンスデータ解説 .......................................................................................................................................................................................... 11 4.3.2. レスポンス例 ............................................................................................................................................................................................................ 11 5. GeoJSONデータ仕様............................................................................................................................................................................................................. 12 5.1. データ仕様範囲 ............................................................................................................................................................................................................ 12 5.2. 拡張されるJSONオブジェクト.................................................................................................................................................................................. 12 5.3. GeoJSON全体............................................................................................................................................................................................................... 12 5.4. 各要素の説明................................................................................................................................................................................................................ 13 5.4.1. FeatureCollection(フィーチャコレクション)................................................................................................................................................. 13 5.4.2. Feature(フィーチャ).............................................................................................................................................................................................. 14 5.4.3. Geometries(幾何形状)....................................................................................................................................................................................... 15 5.4.4. その他GeoJSONメンバー................................................................................................................................................................................... 19 5.4.5. Style(スタイル)....................................................................................................................................................................................................... 21 5.4.6. IconStyle(アイコンスタイル)............................................................................................................................................................................. 22 5.4.7. LineStyle(ラインスタイル) ................................................................................................................................................................................. 22 5.4.8. PolyStyle(ポリゴンスタイル) ............................................................................................................................................................................ 23 5.4.9. LabelStyle(ラベルスタイル).............................................................................................................................................................................. 23 6. 導入手順 ..................................................................................................................................................................................................................................... 24 6.1. MS4W................................................................................................................................................................................................................................. 24 6.2. PostGIS ............................................................................................................................................................................................................................ 24 6.3. Mapファイル .................................................................................................................................................................................................................... 26 6.4. ZNET TOWN重ね合せ機能..................................................................................................................................................................................... 28 7. 導入事例 ..................................................................................................................................................................................................................................... 29 7.1. 航空写真ファイル......................................................................................................................................................................................................... 29 8. 参考、引用 .................................................................................................................................................................................................................................. 31 8.1. Webサイト......................................................................................................................................................................................................................... 31 8.2. 参考書籍.......................................................................................................................................................................................................................... 31 9. 改訂履歴 ..................................................................................................................................................................................................................................... 32 1. Copyright (C) ZENRIN CO., LTD. All Rights Reserved. 2 1. はじめに 本ドキュメントはユーザデータとZNET TOWNアプリケーション「重ね合わせ」機能とのインタフェース仕様を記述したものである。 1.1. 対象範囲 本ドキュメントは、以下の2種類のインタフェース仕様について記述する。 ①ZNET TOWNからユーザデータを要求する際の仕様 ②ユーザデータをZNET TOWN向けに配信する際の仕様 ①ユーザデータを要求 ユーザ データ Web ブラウザ ZNET TOWN 「重ね合わせ」 Web 配信 サーバ ③ユーザデータと 地図を重ねて表示 ②ユーザデータを配信 本ドキュメントの後半でユーザデータをWeb配信するサーバ導入の事例を紹介する。 1.2. 方針 本インタフェース仕様は、以下2種類の通信手順(プロトコル)に習って定義される。 プロトコルはOGC(Open Geospatial Consortium)にて提唱されている。 ①WMS(Web Map Service) 投影法や測地系、緯度経度矩形範囲を要求すると、GIF形式のラスタ画像が配信される。 ②WFS(Web Feature Service) 投影法や測地系、緯度経度矩形範囲を要求すると、GML形式のベクトル情報が配信される。 本インタフェース仕様では、ベクトル情報のデータ形式に、GML形式でなくGeoJSON形式を採用する。 ZNET TOWNアプリケーションは、JavaScriptにてコーディングされており、GML形式よりも処理速度に有利なGeoJSON形式を適用 する。 GML形式は、XML様式を拡張して地理空間情報を表現している。 GeoJSON形式は、JSON様式を拡張して地理空間情報を表現している。 Copyright (C) ZENRIN CO., LTD. All Rights Reserved. 3 1.3. ユーザデータの配信 本ユーザデータをZNET TOWNアプリケーションへ配信する手法として、以下のオープンソースが利用できる。 ◇ MapServer C言語で実装されており、Linux版やWindows版が公開されている。 Shape形式のベクトル地理データをWMSやWFSなどの通信手順でWeb配信できる。 ◇ GeoServer Java言語で実装されており、Linux版やWindows版が公開されている。 Shape形式のベクトル地理データをWMSやWFSなどの通信手順でWeb配信できる。 1.4. ユーザデータの重ね合せ ZNET TOWNの地図上にユーザデータを重ねる手段は、以下の3種類が用意される。 ◇ ラスタ(Image) ZNET TOWNアプリケーションは緯度経度座標矩形と画像サイズを指定してユーザデータを要求する。 要求に応じて、ユーザデータをGIFやPNGなどの画像にて配信する。 ZNET TOWNアプリケーションは受け取った画像を地図上に重ねる。 地図を移動、拡大縮小するたびに、ユーザデータの要求と配信が行われる。 ◇ ファイル(GeoJSON) ZNET TOWNアプリケーションは格納先名を指定してユーザデータを要求する。 要求に応じて、ユーザデータを指定された格納先名を付加して配信する。 ZNET TOWNアプリケーションは受け取ったGeoJSON形式のユーザデータを地図上に表現する。 ZNET TOWNアプリケーション起動初回と設定変更されたときに、ユーザデータの要求と配信が行われる。 ◇ ベクトル(GeoJSON) ZNET TOWNアプリケーションは緯度経度座標矩形と画像サイズを指定してユーザデータを要求する。 要求に応じて、ユーザデータをGeoJSON形式にて配信する。 ZNET TOWNアプリケーションは受け取ったGeoJSON形式のユーザデータを地図上に表現する。 地図を移動、拡大縮小するたびに、ユーザデータの要求と配信が行われる。 1.5. 座標系 ZNET TOWNアプリケーションは、以下の座標系を利用する。 ①住宅地図は、日本測地系(TokyoDatum)の平面直角座標系(19座標系)で表現されている。 既知の座標系として、以下の範囲でEPSGコードが定義されている。 EPSG:30161(第1系)~EPSG:30179(第19系) 座標単位は、mとする。 ②全建地図や上位図は、日本測地系(TokyoDatum)の緯度経度座標で表現されている。 既知の座標系として、EPSG:4301が定義されている。 座標単位は、度とする。 1度は、60分(3600秒)に相当する。 Copyright (C) ZENRIN CO., LTD. All Rights Reserved. 4 1.6. EPSGコード一覧 既知の座標系として、以下のEPSGコードが定義されている。 No EPSG コード 座標系・測地系 1 EPSG:2443 平面直角座標系 1 系(世界測地系:JGD2000) 2 EPSG:2444 平面直角座標系 2 系(世界測地系:JGD2000) 3 EPSG:2445 平面直角座標系 3 系(世界測地系:JGD2000) 4 EPSG:2446 平面直角座標系 4 系(世界測地系:JGD2000) 5 EPSG:2447 平面直角座標系 5 系(世界測地系:JGD2000) 6 EPSG:2448 平面直角座標系 6 系(世界測地系:JGD2000) 7 EPSG:2449 平面直角座標系 7 系(世界測地系:JGD2000) 8 EPSG:2450 平面直角座標系 8 系(世界測地系:JGD2000) 9 EPSG:2451 平面直角座標系 9 系(世界測地系:JGD2000) 10 EPSG:2452 平面直角座標系 10 系(世界測地系:JGD2000) 11 EPSG:2453 平面直角座標系 11 系(世界測地系:JGD2000) 12 EPSG:2454 平面直角座標系 12 系(世界測地系:JGD2000) 13 EPSG:2455 平面直角座標系 13 系(世界測地系:JGD2000) 14 EPSG:2456 平面直角座標系 14 系(世界測地系:JGD2000) 15 EPSG:2457 平面直角座標系 15 系(世界測地系:JGD2000) 16 EPSG:2458 平面直角座標系 16 系(世界測地系:JGD2000) 17 EPSG:2459 平面直角座標系 17 系(世界測地系:JGD2000) 18 EPSG:2460 平面直角座標系 18 系(世界測地系:JGD2000) 19 EPSG:2461 平面直角座標系 19 系(世界測地系:JGD2000) 20 EPSG:30161 平面直角座標系 1 系(日本測地系:TokyoDatum) 21 EPSG:30162 平面直角座標系 2 系(日本測地系:TokyoDatum) 22 EPSG:30163 平面直角座標系 3 系(日本測地系:TokyoDatum) 23 EPSG:30164 平面直角座標系 4 系(日本測地系:TokyoDatum) 24 EPSG:30165 平面直角座標系 5 系(日本測地系:TokyoDatum) 25 EPSG:30166 平面直角座標系 6 系(日本測地系:TokyoDatum) 26 EPSG:30167 平面直角座標系 7 系(日本測地系:TokyoDatum) 27 EPSG:30168 平面直角座標系 8 系(日本測地系:TokyoDatum) 28 EPSG:30169 平面直角座標系 9 系(日本測地系:TokyoDatum) 29 EPSG:30170 平面直角座標系 10 系(日本測地系:TokyoDatum) 30 EPSG:30171 平面直角座標系 11 系(日本測地系:TokyoDatum) 31 EPSG:30172 平面直角座標系 12 系(日本測地系:TokyoDatum) 32 EPSG:30173 平面直角座標系 13 系(日本測地系:TokyoDatum) 33 EPSG:30174 平面直角座標系 14 系(日本測地系:TokyoDatum) 34 EPSG:30175 平面直角座標系 15 系(日本測地系:TokyoDatum) Copyright (C) ZENRIN CO., LTD. All Rights Reserved. 5 35 EPSG:30176 平面直角座標系 16 系(日本測地系:TokyoDatum) 36 EPSG:30177 平面直角座標系 17 系(日本測地系:TokyoDatum) 37 EPSG:30178 平面直角座標系 18 系(日本測地系:TokyoDatum) 38 EPSG:30179 平面直角座標系 19 系(日本測地系:TokyoDatum) 39 EPSG:4301 日本測地系緯度経度 (Tokyo Datum) 40 EPSG:4326 世界測地系緯度経度 (WGS84) 41 EPSG:4612 世界測地系緯度経度 (Japanese Geodetic Datum 2000) 42 EPSG: 55005 ZNET TOWN #2.0 上位図・全健地図座標系(カスタム座標系) 1.7. 投影法 ZNET TOWNアプリケーションでは、地図画像への重ね合せは以下の投影法にて行う。 ①住宅地図は座標系と同様に、日本測地系(TokyoDatum)の平面直角座標系(19座標系)として投影する。 EPSG:30161(第1系)~EPSG:30179(第19系) ②全建地図や上位図は日本測地系(TokyoDatum)のZENRIN独自投影にて行う。 ZENRIN独自投影とは正距円筒投影法(eqc)の計算式を用いて標準緯線を35.43094469として表現する。 《緯度経度からXYを算出》 X = 経度 * Ra * cos(Ts) Y = 緯度 * Ra 《XYから緯度経度を算出》 経度 = X ÷ Ra ÷ cos(Ts) 緯度 = Y ÷ Ra Ra = 6377397.155 ←ベッセル楕円体の長半径[m] Ts = 0.6183866419 ←標準緯線(35.43094469)のラジアン 緯度経度の単位はラジアンとする。 XYの単位はmとする。 ZNET TOWNアプリケーションは、EPSG:55005 と定義する。 「MapServer」付属の投影プログラム(PROJ)では、epsgファイルに以下を定義することで対応できる。 <55005> +proj=eqc +a=6377397.155 +b=6356079 +lat_ts=35.43094469 +lon_0=0 +lat_0=0 +k=1.0 +x_0=0 +y_0=0 +units=m no_defs <> 1.8. 機能認証 ゼンリンでは、住宅地図へ重ねられるよう、各種のコンテンツをZNET TOWNアプリケーション向けに配信しています。 ユーザごとに利用可否をサーバ側で確認する必要があるため、以下の方法で、ZNET TOWN アプリケーションから認証情報を送信 します。 以下の様式でURLパラメータに「ZNET_AUTH」パラメータを記述します。 例: http://zcgi.znet-town.net/cgi/XXXXXXX.cgi?ZNET_AUTH=1234-5678 最初の4桁数字には、機能IDを指定します。 最後の4桁数字には、機能サブIDを指定します。 上記のように、「ZNET_AUTH」パラメータを指定すると、ZNET TOWNアプリケーションは、以下のパラメータを新たに追加して、サー バ側へHTTPリクエストを発信します。 例: http://zcgi.znet-town.net/cgi/XXXXXXX.cgi?ZNET_AUTH=1234-5678&aid=XXXXXXXX&lmtinf=YYYYYYYY,ZZZZZZZZ aidパラメータには認証承認ID、lmtinfパラメータには機能ID、機能サブIDに対応した、制御情報が付加されます。 Copyright (C) ZENRIN CO., LTD. All Rights Reserved. 6 2. ラスタ(Image) WMS 2.1. 概要 ZNET TOWNアプリケーションは緯度経度座標矩形と画像サイズを指定してユーザデータを要求する。ユーザデータ配信サーバは、 ZNET TOWNアプリケーションからの要求に応じて、ユーザデータをGIFやPNGなどのラスタ画像にて配信する。ZNET TOWNアプリケー ションは受け取った画像を地図上に重ねる。地図を移動、拡大縮小するたびに、ユーザデータの要求と配信が行われる。 OGCのWMS1.3.0プロトコルに習って本インタフェース仕様を定義する。 WMS1.3.0には、下記のリクエストがある。 z GetCapabilities サービス情報を取得する。 z GetMap ラスタ地図画像を取得する。 z GetFeatureInfo フィーチャ情報を取得する。 本インタフェース仕様ではGetMapのみを実現する。 2.2. GetMapリクエスト 1 2 3 4 5 6 7 8 9 10 11 12 13 リクエストパラメータ VERSION=1.3.0 REQUEST=GetMap LAYERS=layer_list STYLES=style_list CRS=namespace:identifier SRS= namespace:identifier BBOX=minx,miny,maxx,maxy WIDTH=output_width HEIGHT=output_height FORMAT=image/png TRANSPARENT=TRUE|FALSE BGCOLOR=color_value EXCEPTIONS=exception_format O/M※ M M M M M M M M M O O O O 14 TIME=time O 15 ELEVATION=elevation O 16 Other sample dimension(s) O ※ M=必須、O=オプション ※ 灰色はZNET TOWNアプリケーションでは感知しない。 2.2.1. デフォルト FALSE 0xFFFFFF XML 説明 リクエストバージョン WFSリクエスト名 レイヤリスト 描画スタイルリスト 座標系。SRSと同値を設定 座標系。CRSと同値を設定 描画範囲(CRS座標) 地図画像幅(ピクセル単位) 地図画像高さ(ピクセル単位) 地図画像のフォーマット 背景を透過の設定 背景RGB色 失敗した場合、エラー報告のフォー マット 時間の指定 標高の指定 その他多次元関係の指定 リクエストパラメータ解説 5,CRS 6,SRS ZNET TOWNアプリケーションが座標系を指定する。地図の座標系が変わるたびに自動的に設定される。また、古いWMSバージョンに も対応できるようSRSにもCRSと同じ内容で設定する。「投影法」を参照のこと。 7.BBOX ZNET TOWNアプリケーションが表示範囲を指定する。地図の移動や拡大/縮小が変わるたびに自動的に設定する。 8.WIDTH, 9.HEIGHT ZNET TOWNアプリケーションがラスタ画像のサイズを指定する。表示ウインドウのサイズが変わるたびに自動的に設定する。 10.FORMAT ラスタ画像のフォーマットを以下のいずれかで指定する。 PNG形式:「image/PNG」 右記は2012年1月以降に対応予定→GIF形式:「image/GIF」、JPEG形式:「image/JPEG」 Copyright (C) ZENRIN CO., LTD. All Rights Reserved. 7 【特記事項】 Microsoft Internet Explorer 6.0では、透過(アルファチャンネル)PNG形式の画像を透過して表現できない問題がある。これを解決する ために、ZNET TOWNアプリケーションは、Microsoft独自のスタイルシートAlphaImageLoaderを画像に適用して透過を有効にする。 FORMATパラメータにPNGが指定された場合に作用する。透過が必要なユーザデータをMicrosoft Internet Explorer 6.0で表現する場 合は、かならず、FORMATパラメータにPNGを指定する必要がある。 2.2.2. リクエスト例 http://localhost/cgi-bin/test_wms.cgi?VERSION=1.3.0&REQUEST=getmap&FORMAT=image/gif&TRANSPARENT=TRUE ⇒ここま ではユーザがZNET TOWNアプリケーションへ個別に設定する。 ↓以下はZNET TOWNアプリケーションが自動的に設定する。 &CRS=EPSG:55005 ⇒CRSは地図座標系に応じて設定。 &SRS=EPSG:55005 ⇒SRSは地図座標系に応じて設定。 &BBOX=12669628.968458933,3975101.8708411953,12672558.745394652,3977711.5772378356 ⇒BBOXは表示範囲に応じて設 定。 &WIDTH=600 ⇒横方向の画像サイズを表示ウインドウのサイズに応じて設定。 &HEIGHT=600 ⇒縦方向の画像サイズを表示ウインドウのサイズに応じて設定。 2.3. GetMapレスポンス ユーザデータ配信サーバは、ZNET TOWNアプリケーションからの要求に応じて、ユーザデータをラスタ画像にて配信する。 2.3.1. ラスタ画像の生成手法 ユーザデータをラスタ画像に生成する役割はユーザデータ配信サーバ側にある。 生成手法として、オープンソースの「MapServer」などがある。 2009年5月時点の実績情報として以下に資料を残す。 PC : IBM ThinkPad R50e CPU : Pentium M 1.5GHz Memory : 768Mbyte OS : Microsoft WindowsXP Home Edition Service Pack 2 MapServer for Windows – MS4W version 2.3.1 以下のコンポーネントが含まれる。 Apache HTTP Server version 2.2.10 PHP version 5.2.6 MapServer CGI 5.2.1 ZNET TOWNアプリケーション独自の投影法(EPSG:55005)を「MapServer」に設定する必要がある。 投影処理は、「MapServer」から呼び出される投影プログラム(PROJ)にて行われる。 Copyright (C) ZENRIN CO., LTD. All Rights Reserved. 8 3. ファイル(GeoJSON) 3.1. 概要 ZNET TOWNアプリケーションは格納先名を指定してユーザデータを要求する。ユーザデータ配信サーバは、要求に応じて、ユーザ データを指定された格納先名を付加して配信する。ZNET TOWNアプリケーションは受け取ったGeoJSON形式のユーザデータを地図 上に表現する。ZNET TOWNアプリケーション起動初回と設定変更されたときに、ユーザデータの要求と配信が行われる。地図の表示 範囲が変わっても、動的に再取得はしない。 ※ZNET TOWNアプリケーション側に座標系間の変換機能がないため、日本測地系(TokyoDatum)に限定される。 3.2. リクエスト リクエストパラメータ 1 VAR= 2 URLENC=0 ※ M=必須、O=オプション 3.2.1. O/M※ M O デフォルト 0 説明 GeoJSON格納先の名称 URLのエンコードタイプ リクエストパラメータ解説 1,VAR GeoJSON形式のデータを格納する先をZNET TOWNアプリケーションが指定する。 2,URLENC URLのエンコードタイプを設定する。 3.2.2. リクエスト例 http://localhost/addVAR.php?URL=./zsample.geojson ⇒ここまではユーザがZNET TOWNアプリケーションへ個別に設定する。 ↓以下はZNET TOWNアプリケーションが自動的に設定する。 &VAR=ZntJSONRequest._recData[4] ⇒格納先のオブジェクト名を指定。 &URLENC= 0 ⇒URLのエンコードタイプ(当面0固定) 3.3. レスポンス ユーザデータ配信サーバは、ZNET TOWNアプリケーションからの要求に応じて、ユーザデータをGeoJSON形式にて配信する。 レスポンスデータ 説明 1 GeoJSON格納先の名称 2 = 固定文字”=” 3 GeoJSONデータ 3.3.1. レスポンスデータ解説 1. GeoJSON格納先の名称 リクエスト時点にVARパラメータへ設定された名称を出力する。 2. 代入文字 代入を表す固定文字(=)を記述する。 3. GeoJSONデータ GeoJSONの実データを記述する。詳細は、「GeoJSONデータ仕様」を参照のこと。 エラー発生などの事象により、サーバ側からZNET TOWNアプリケーション側へユーザデータを戻せないときは、ステータスコードのみ を返却する。詳細は、「GeoJSONデータ仕様のstatus」を参照のこと。 GeoJSON格納先の名称すらも返却できない場合は、なにも返却しない。 3.3.2. レスポンス例 ZntJSONRequest._recData[4]={ "status": "00000000", "type": "FeatureCollection",…. 3.3.3. GeoJSONファイルの生成手法 ユーザデータをGeoJSONファイルに生成する役割はユーザデータ配信サーバ側にある。 生成手法として、「GoogleMap」や「GoogleEarth」から KML ファイルを取得し、GeoJSON 形式に変換することで、GeoJSON ファイルを生 成できる。 Copyright (C) ZENRIN CO., LTD. All Rights Reserved. 9 4. ベクトル(GeoJSON) WFS 4.1. 概要 ZNET TOWNアプリケーションは緯度経度座標矩形と画像サイズを指定してユーザデータを要求する。ユーザデータ配信サーバは、 要求に応じて、ユーザデータをGeoJSON形式にて配信する。ZNET TOWNアプリケーションは受け取ったGeoJSON形式のユーザデー タを地図上に表現する。地図を移動、拡大縮小するたびに、ユーザデータの要求と配信が行われる。 OGCのWFS1.1.0プロトコルに習って本インタフェース仕様を定義する。 WFS1.1.0には、下記のリクエストがある。 z GetCapabilities サービス情報を取得する。 z DescribeFeature フィーチャのタイプ情報を取得する。 z GetFeature フィーチャを検索し取得する。 z GetFeaureWithLock フィーチャ取得と同時にロックする。 z GetGmlObject IDからフィーチャを取得する。 z LockFeature フィーチャをロックする。 z Transaction フィーチャを削除、追加、更新する。 本インタフェース仕様ではGetFeatureのみを実現する。 また、WFSプロトコルでは出力形式はGMLを基本とするが、本インタフェース仕様はGMLに代わって、GeoJSONを採用する。 GeoJSONについては、「GeoJSONデータ仕様」を参照のこと。 4.2. GetFeatureリクエスト パラメータ 1 2 3 4 5 6 7 8 9 10 11 12 13 VERSION SERVICE REQUEST REQUEST=GetFeature OUTPUTFORMAT RESULTTYPE PROPERTYNAME FEATUREVERSION MAXFEATURES TYPENAMED FEATUREID FILTER SORTBY O/M ※ M※ M M M O O O O O M O O O 14 NAMESPACE O デフォルト 1.1.0 WFS リクエストバージョン サービスタイプ WFSリクエスト名 リクエスト名 results result:結果を返す。 プロパティリスト フィーチャバージョン 結果の最大フィーチャ数 検索対象フィーチャタイプ名 フィーチャIDリスト 検索条件 ソートキーとなるプロパティ名の リスト 名前空間等を指定 xmlns(prefix=escaped_url) 座標系名 検索範囲(CRS座標) GeoJSON格納先の名称 URLのエンコードタイプ 15 SRSNAME=namespace:identifier M 16 BBOX=minx,miny,maxx,maxy M 17 VAR M 18 URLENC=0 O 0 ※ M=必須、O=オプション ※ 灰色はZNET TOWNアプリケーションでは感知しない。 4.2.1. 説明 パラメータ解説 15.SRSNAME ZNET TOWNアプリケーションが座標系を指定する。地図の座標系が変わるたびに自動的に設定される。「投影法」を参照の こと。 16.BBOX Copyright (C) ZENRIN CO., LTD. All Rights Reserved. 10 ZNET TOWNアプリケーションが表示範囲を指定する。地図の移動や拡大/縮小が変わるたびに自動的に設定する。 17.VAR GeoJSON形式のデータを格納する先をZNET TOWNアプリケーションが指定する。 18.URLENC URLのエンコードタイプを設定する。 4.2.2. リクエスト例 http://localhost/cgi-bin/test_wfs.cgi?SERVICE=WFS&VERSION=1.1.0&REQUEST=getfeature&OUTPUTFORMAT=text/json; subtype=geojson&TYPENAME=boundary ⇒ここまではユーザがZNET TOWNアプリケーションへ個別に設定する。 ↓以下はZNET TOWNアプリケーションが自動的に設定する。 &SRSNAME=EPSG:55005 ⇒SRSは地図座標系に応じて設定。 &BBOX=12669628.968458933,3975101.8708411953,12672558.745394652,3977711.5772378356 ⇒BBOXは表示範囲に応じて設 定。 &VAR=ZntJSONRequest._recData[4] ⇒格納先のオブジェクト名を指定。 &URLENC= 0 ⇒URLのエンコードタイプ(当面0固定) 4.3. GetFeaturerレスポンス ユーザデータ配信サーバは、ZNET TOWNアプリケーションからの要求に応じて、ユーザデータをGeoJSON形式にて配信する。 レスポンスデータ 説明 1 GeoJSON格納先の名称 2 = 固定文字”=” 3 GeoJSONデータ 4.3.1. レスポンスデータ解説 1.GeoJSON格納先の名称 リクエスト時点にVARパラメータへ設定された名称を出力する。 2.代入文字 代入を表す固定文字(=)を記述する。 3.GeoJSONデータ GeoJSONの実データを記述する。詳細は、「GeoJSONデータ仕様」を参照のこと。 エラー発生などの事象により、サーバ側からZNET TOWNアプリケーション側へユーザデータを戻せないときは、ステータスコードのみ を返却する。詳細は、「GeoJSONデータ仕様のstatus」を参照のこと。GeoJSON格納先の名称すらも返却できない場合は、なにも返却 しない。 4.3.2. レスポンス例 ZntJSONRequest._recData[4]={ "status": "00000000", "type": "FeatureCollection",…. Copyright (C) ZENRIN CO., LTD. All Rights Reserved. 11 5. GeoJSONデータ仕様 5.1. データ仕様範囲 本インタフェース仕様はGeoJSONのdraft_version_6を基本とする。しかしGeoJSONにスタイルの表現がないためオプションでKMLの スタイルをJSON形式で取り込み、GeoJSONを拡張する。 また本インタフェース仕様はGeoJSON及びKMLの一部分を採用するが、将来拡張されるものとし、対象外の部分は無視する等でエ ラーを引き起こさない設計とする。 本インタフェース仕様はGeoJSONのFeatureCollection、Feature、Point、crsのみを対象する。またPolygonの穴は対象外として無視 する。crsは限定的に識別する。 ※LineString、Polygon、MultiPoint、MultiLineString、MultiPolygon、GeometryCollection、bbox等のオブジェクト及び要素について仕 様説明に言及される場合はありえるが、対象外とする。 スタイルについて下図(KML2.1)の赤い枠に囲まれているスタイルに関する要素、および、上位抽象要素は本インタフェース仕様で 採用する。本インタフェース仕様で説明されない部分は対象外とする。 5.2. 拡張されるJSONオブジェクト 下記のJSONオブジェクトにスタイルが追加される。 z FeatureCollection z Feature 5.3. GeoJSON全体 GeoJSONは一つの形状(Geometry)、フィーチャ(Feature)または形状コレクション(GeometryCollection)、フィーチャコレクション (FeatureCollection)オブジェクトを含める。 GeoJSONに“type”メンバーは必須(エラーの場合を除く)で上記のオブジェクト種類を識別する。 GeoJSONは他の任意数のメンバー(name/value ペア)を含めることを可能とする。 Copyright (C) ZENRIN CO., LTD. All Rights Reserved. 12 5.4. 各要素の説明 以下、本インタフェース仕様が対象とする要素(抽象要素を除く)を説明する。 各要素の構文にない要素もしくは属性は対象外とし、読込みプログラム側では無視する。 5.4.1. FeatureCollection(フィーチャコレクション) 構文 { "status": ”...”, // オプション、拡張(トップレベルのみ) "type": "FeatureCollection", // 必須(エラーの場合を除く) "styleUrl": ”...”, // オプション、拡張 "style": {...}, // オプション、拡張 "styles": [...], // オプション、拡張 "features": [ … ] // 必須 } 説明 フィーチャの集合を示す。 <status> status はトップレベルのオブジェクトのみ返される。 ステータスコードは、CGI コード(3 桁)、ステータス(1 桁)、エラー発生箇所(1 桁)、エラー原因(3 桁)の 8 桁で表される。 例) 2 0 1 1 6 9 0 0 CGI コード ステータス 種別 CGI コード ステータス エラー発生箇所 エラー原因 エラー発生箇所 エラー原因 コード 000 その他 0 1 0 その他 000 001-009 その他 説明 共通モジュール サーバー依存 成功 失敗 なし サーバー依存 エラー無し 保留 サーバー依存 本インタフェース仕様では、ZNET TOWN アプリケーション側はステータスのみを判定し、エラーの場合エラーコードを表示する。 <styleUrl> トップレベルの Feature か FeatureCollection に定義されている <Style> の URI (URI は [URL]#ID と同じ) を指定する。 スタイル が同じファイル内にある場合は、# 参照を使用する。スタイルが外部ファイル内に定義されている場合は、# 参照とともに完全な URL を使用する。以下に例を示す。 Copyright (C) ZENRIN CO., LTD. All Rights Reserved. 13 “styleUrl”: “#myIconStyleID” “styleUrl”: “http://someserver.com/somestylefile.xml#restaurant” <style> 1 つの Styleを定義して、Feature 等のGeometry の外観をカスタマイズできます。 (<StyleSelector> や、<ColorStyle> から派生 するスタイルを参照。) Feature 内に定義されるスタイルはそのスタイルを含む Feature にのみ適用されます。 <FeatureCollection> 内に定義されるスタイルはFeatureCollection内の全てのフィーチャに適用されます。但し、フィーチャ内にスタイル定義がある場合、フ ィーチャ内のスタイルが優先されます。 <styles> 1 つ以上の共有 Style を定義する。スタイルに id を定義し共有スタイルとして参照される。但し共有スタイルは GeoJSON トップレベ ルのオブジェクト(Feature または FeatureCollection)にのみ定義されると限定する。 <features> Featureの配列から構成される。 5.4.2. Feature(フィーチャ) 構文 { "status": ”...”, // オプション、拡張(トップレベルのみ) "type": "Feature", // 必須 “id”: “ID”, // オプション "styleUrl": "...", // オプション、拡張 "style": {...}, // オプション、拡張 "styles": [...], // オプション、拡張 "geometry": {...}, // 必須 "properties": { // 必須 "prop0": "value0", “prop1”: “value1”, ... } } 説明 幾何形状(Geometry) が関連付けられるオブジェクトである。 Copyright (C) ZENRIN CO., LTD. All Rights Reserved. 14 <id> 識別子。 <styleUrl> (<FeatureCollection>の<styleUrl>を参照) <style> (<FeatureCollection>の<style>を参照) <styles> (<FeatureCollection>の<styles>を参照) <geometry> 形状要素。 <properties> 属性。 5.4.3. Geometries(幾何形状) Geometry に Point、LineString、Polygon、MultiPoint、MultiLineString、MultiPolygon、GeometryCollection が含まれる。 1.1.1.1 Point(ポイント) 構文 { "status": ”...”, // オプション、拡張(トップレベルのみ) "type": "Point", // 必須 "coordinates": [100.0, 0.0] // 必須 } 説明 ポイントです。 <coordinates> 一個の Position から構成される。 Position は経度、緯度、高度もしくは直角座標系の X(横軸)座標、Y 座標、高度を (この順序で) 表す浮動小数点値で構成される 一まとまりのデータ。 経度と緯度の値は度数で指定し、直角座標の場合、X、Y をメートル単位で指定する。高度はオプションとする。 1.1.1.2 LineString(ポリライン) 2009/7/1現在:未対応 構文 { "status": ”...”, "type": "LineString", // オプション、拡張(トップレベルのみ) // 必須 Copyright (C) ZENRIN CO., LTD. All Rights Reserved. 15 "coordinates": [[100.0, 0.0], [101.0, 1.0]] // 必須 } 説明 ポリライン。2個以上の Position から構成される。 4 つ以上の Position から構成され閉じた LineString を LinearRing と呼ぶ。LinearRing は、最初と最後の Position が同じ値を とる。LinearRing は明示的に GeoJSON オブジェクトとして定義されていないが、Polygon の定義で言及する。 <coordinates> 2個以上のPositionから構成される。 1.1.1.3 Polygon(ポリゴン) 2009/7/1現在:未対応 構文 { "status": ”...”, // オプション、拡張(トップレベルのみ) “type”: “Polygon”, // 必須 "coordinates": {...}, // 必須 [[100.0, 0.0], [101.0, 0.0], [101.0, 1.0], [100.0, 1.0], [100.0, 0.0]], // 必須 [[100.2, 0.2], [100.8, 0.2], [100.8, 0.8], [100.2, 0.8], [100.2, 0.2]], ... ] } 説明 ポリゴン (Polygon) は、外側の境界と、0 個以上の内側境界を指定することによって定義する。 境界は LinearRing によっ て定義する。 <coordinates> 複数のLinearRing点列から構成される。最初のLinearRing点列はポリゴンの外側の境界で 次項はポリゴン内側の穴を表します。 1.1.1.4 MultiPoint(マルチポイント) 2009/7/1現在:未対応 構文 { "type": "MultiPoint", // 必須 Copyright (C) ZENRIN CO., LTD. All Rights Reserved. 16 "coordinates": [ // 必須 [100.0, 0.0], [101.0, 1.0] ] } 説明 複数のポイント。 <coordinates> Point の coordinates の配列から構成される。 1.1.1.5 MultiLineString(マルチポリライン) 2009/7/1現在:未対応 構文 { "status": ”...”, // オプション、拡張(トップレベルのみ) "type": "MultiLineString", // 必須 "coordinates": [ // 必須 [ [100.0, 0.0], [101.0, 1.0] ], [ [102.0, 2.0], [103.0, 3.0] ] ] } 説明 複数のポリライン。 <coordinates> LineString の coordinates の配列から構成される。 1.1.1.6 MultiPolygon(マルチポリゴン) 2009/7/1現在:未対応 構文 { "status": ”...”, // オプション、拡張(トップレベルのみ) "type": "MultiPolygon", "coordinates": [ // 必須 // 必須 Copyright (C) ZENRIN CO., LTD. All Rights Reserved. 17 [ [ [102.0, 2.0], [103.0, 2.0], [102.0, 3.0], [102.0, 2.0] ], ], [ [ [100.0, 0.0], [101.0, 1.0], [100.0, 1.0], [100.0, 0.0] ], [ [100.2, 0.2], [100.8, 0.8], [100.2, 0.8], [100.2, 0.2] ] ] ] } 説明 複数のポリゴン。 <coordinates> Polygon の coordinates の配列から構成される。 1.1.1.7 GeometryCollection(形状コレクション) 2009/7/1現在:未対応 構文 { "status": ”...”, // オプション、拡張(トップレベルのみ) "type": "GeometryCollection", // 必須 "geometries": [ // 必須 { “type”: “Point”, “coordinates”: [100.0, 0.0] }, { “type”: “LineString”, “coordinates”: [ [101.0, 0.0], [102.0, 1.0] ] Copyright (C) ZENRIN CO., LTD. All Rights Reserved. 18 } } 説明 幾何形状の集合。 <geometries> Geometry の配列から構成される。 5.4.4. その他GeoJSONメンバー 1.1.1.8 crs(座標系) GeoJSONオブジェクトにcrsで座標系を指定する。 構文 名前指定 { “type”: “name”, // 必須 “properties”: { // 必須 “name”: “urn:ogc:def:crs:OGC:1.3:CRS84” } } リンク指定(http) { “type”: “link”, // 必須 “properties”: { // 必須 “href”: “http://example.com/src/42”, “type”: “proj4” } } リンク指定(file) { Copyright (C) ZENRIN CO., LTD. All Rights Reserved. 19 “type”: “link”, // 必須 “properties”: { // 必須 “href”: “data.prj”, “type”: “proj4” } } 例: { "type": "FeatureCollection", // 必須 “crs”: { // オプション “type”: “EPSG”, “properties”: { “code”: 4326, “coordinate_order”: [1, 0] } } "styleUrl": ”...”, // オプション、拡張 "style": {...}, // オプション、拡張 "features": [ … ] // 必須 } 本仕様はEPSG方式で下記のコードのみを識別する。 第1系: "code": "30161" 第2系: "code": "30162" 第3系: "code": "30163" 第4系: "code": "30164" 第5系: "code": "30165" 第6系: "code": "30166" 第7系: "code": "30167" 第8系: "code": "30168" Copyright (C) ZENRIN CO., LTD. All Rights Reserved. 20 第9系: "code": "30169" 第10系: "code": "30170" 第11系: "code": "30171" 第12系: "code": "30172" 第13系: "code": "30173" 第14系: "code": "30174" 第15系: "code": "30175" 第16系: "code": "30176" 第17系: "code": "30177" 第18系: "code": "30178" 第19系: "code": "30179" 日本測地系(TokyoDatum)緯度経度: “code”: "4301" 上記以外の座標系で返された場合、座標系情報が無視され、リクエスト通りの座標系が返されたとみなす。 リクエストで要求した座標系と異なる座標系が返された場合、ZNET TOWNアプリケーションで直角座標系間の変換含む座標変換を 行う。 1.1.1.9 bbox(範囲ボックス) GeoJSONオブジェクトに幾何形状の範囲を示すbboxを含めることができる。 例: { “bbox”: [-180, -90, 180, 90], // オプション “type”: “Polygon”, // 必須 "coordinates": [ // 必須 [[-180, 10], [20, 90], [180, -5], [-30, -90]] // 必須 ] } 5.4.5. Style(スタイル) 構文 { "id": "ID", // 共用スタイルの場合、必須 ”iconStyle”: {...}, // オプション ”labelStyle”: {...}, // オプション ”lineStyle”: {...}, // オプション ”polyStyle”: {...} // オプション Copyright (C) ZENRIN CO., LTD. All Rights Reserved. 21 } 説明 Style では、Feature 等で参照できる処理可能なスタイル グループが定義される。 Style は、形状を表示する方法等に影響する。 共有スタイルは GeoJSON トップレベルの Feature か FeatureCollection に収 集される。共有スタイルには、そのスタイルを使用する個々の Feature 等 から参照できるように、id を定義する必要がある。 5.4.6. IconStyle(アイコンスタイル) 構文 { "color": "ffffffff", "icon": {"href": "..."} // オプション // 必須 } 説明 ポイントのフィーチャに対するアイコンの描画方法を指定する。 <Icon> 要素はアイコンのイメージを指定する。 <color>(デフォルトはffffffff) 色と不透明度(アルファ)値を16進表記で示す。1つの色に対する値は0~255(00~ff)である。アルファでは、00は完全な透明を表し、 ffは完全な不透明を表す。表記順はaabbggrrとなる。ここで、aa はアルファ (00 ~ ff)、bb は青 (00 ~ ff)、gg は緑 (00 ~ ff)、rr は赤 (00 ~ ff) を表す。 たとえば、オーバーレイに 50 % 不透明な青色を適用する場合は、<color>7fff0000</color> と指定する。 ここで、アルファは 0x7f、青は 0xff、緑は 0x00、赤は 0x00 とする。 <icon> カスタムのアイコンを指定する。 ・<href>: アイコンをロードするために使用する、HTTPアドレスを指定する。 5.4.7. LineStyle(ラインスタイル) 構文 { "color": "ffffffff", "width": 1 // オプション // オプション } 説明 すべての線形状の描画スタイル (色、線の幅) を指定する。 線形状には、アウトライン表示されたポリゴンの外形線も含ま れる。 Copyright (C) ZENRIN CO., LTD. All Rights Reserved. 22 <color> (<IconStyle>の<color>を参照のこと) <width>(デフォルトは1) 線の幅(ピクセル単位)。 5.4.8. PolyStyle(ポリゴンスタイル) 構文 { "color": "ffffffff", // オプション "fill": 1, // オプション "outline": 1 // オプション } 説明 ポリゴンの描画スタイルを指定する。 <color> (<IconStyle>の<color>を参照のこと) <fill> ブール値を指定する。デフォルトは1。ポリゴンを塗りつぶすかどうか指定する。 <outline> ブール値を指定する。デフォルトは1。ポリゴンの輪郭を描画するかどうか指定する。ポリゴンの輪郭にはLineStyleの現在の設定が 適用される。 5.4.9. LabelStyle(ラベルスタイル) 構文 { "color": "ffffffff" // オプション } 説明 Feature の 属性をラベルとしての描画方法を指定する。 カスタム色を指定できる。 <color> (<IconStyle>の<color>を参照のこと) Copyright (C) ZENRIN CO., LTD. All Rights Reserved. 23 6. 導入手順 本章では ZNET TOWN の重ね合せ機能を使用して、ユーザデータ連携システムを導入する事例を示す。 6.1. MS4W まず、ZNET TOWN 重ね合せ機能を使うための Web マッピング機能として MapServer を使用します。MapServer とは、点や線、面 の地図データを Web 画像用にデータを変換させる Web マッピングエンジンのことです。対応しているデータは Shapefile、ArcSDE、 MapinfoTAB などのベクトルデータや GIF、PNG、JPEG 等のラスタデータに対応しています。 この MapServer を設定するために使用するのが MS4W というパッケージソフトです。このパッケージソフトを使えば、MapServer の設 定に必要な Web サーバ、ブラウザ上で画像を動作させるための CGI、ブラウザ上の画面を設定するためのスクリプト言語 PHP、地図 情報解析用 PostGIS を一括で設定できます。MS4W の設定は MS4W のダウンロードページからダウンロード・解凍を行います。これに より下図に一覧されているものが取得できます。 6.2. PostGIS ZNET TOWN に重ね合わせるデータを shape 形式で準備し、PostGIS にロードします。 PostGIS は地図情報を解析しデータに出力させるための拡張ソフトであり、MS4W のインストール時に導入されています。PostGIS を 使用するにはデータベースである PostgreSQL が必要となります。PostgreSQL のインストール方法は PostgreSQL のホームページか ら postgresql-8.4.0-ja.zip をダウンロードし、インストールを行います。 インストールの設定が終了したら、以下の手順で Shape 形式のデータを PostgreSQL に設定します。 1.コマンド・プロンプト上で PostgreSQL を操作しますので、コマンド・プロンプトを起動し、PostgreSQL の場所を指定します。 ・cd C:\Program Files\PostgreSQL\8.3\bin 2.gisdb という名前のデータベースを作成します。(template_postgis からコピー) ・createdb -U postgres -T template_postgis gisdb (今後、gisdb をデータベースとして使う場合は作成する必要はありません) 3.Shapefile から PostGIS が読み込めるファイルを生成し、データベースに設定します。 ・shp2pgsql -s 4301 -W sjis C:\・・・\Polygon.shp polygontb gisdb > polygon.sql ・psql -U postgres -d gisdb -f polygon.sql (shp2pgsql -s 4301 の 4301 は PostgreSQL の空間参照(SRID)で、4301 が日本測地系の経緯度座標(単位は度)であることを示しま す ) また、大容量のデータをロードするならば、処理能力向上のためにインデックスの作成を行います。インデックス作成の手順は 1.使用するデータベースにアクセスします。 ・psql -U postgres -h localhost gisdb Copyright (C) ZENRIN CO., LTD. All Rights Reserved. 24 2.使用するテーブルに The_geom_p という名前のインデックスを作成します。 ・gisdb=# create index the_geom_p on polygontb using gist (the_geom); 以上で PostGIS のロードが完了します。 作成したデータベースを確認するには pgAdminⅢを起動し、データベース gisdb の中にあるテーブルを確認してください。 pgAdminⅢの起動画面 テーブルの詳細画面 Copyright (C) ZENRIN CO., LTD. All Rights Reserved. 25 6.3. Mapファイル PostGIS のロードの次に MapServer を使用するための Map ファイルを作成します。 下記の図が Map ファイルのサンプルとなります。 Copyright (C) ZENRIN CO., LTD. All Rights Reserved. 26 Map ファイルの主要なところを説明しています。 Map 内の設定 ・ INTERLACE ON → 地図を表示させるか? ON/OFF ・ UNITS DD → 地図の単位は? DD(単位は緯度経度) ・ FONTSET "fonts.txt" → フォント設定(下図のような別途テキスト作成が必要) Web 内の設定 ・ IMAGEPATH "C:/ms4w/tmp/ms_tmp/" → 一時画像を書き込むためのパス ・ IMAGEURL "/ms_tmp/" → IMAGEPATH のベース URL ・ "wms_onlineresource" “http://localhost/cgi-bin/mapserv.exe?map=../htdocs/kitakyusyu.map&” → WMS サーバ及び Map ファイルの URL を指定 ・ "wms_srs" "EPSG:4301" → EPSG の投影法コードを設定 EPSG とは投影に関連する設定を参照するインデックスコードです。MS4W で入手した…/ms4w/proj/nad/epsg の中にイン デックスコードの一覧があります。 Layer 内の設定 ・ TYPE POLYGON → レイヤの種類の設定(POINT,LINE,POLYGON など) ・ CONNECTIONTYPE POSTGIS → データベース接続の種類 ・ CONNECTION "user=~ dbname=~ host=~ password=~ port=5432" → データベース接続(ホスト名,インスタンス,DB 名,ユーザ名,パスワード) ・ DATA "the_geom from kitakyusyu_polygontb" → 使用するテーブルを指定 その他の詳細については MapServer 実践というホームページが Map ファイルについて詳しく説明されているので参考にしてください。 (http://mapabc.wikidot.com/howto:menu) 以 上 で Map フ ァ イ ル の 作 成 と な り ま す が Map フ ァ イ ル は apache の サ ー バ 上 で ア ク セ ス す る 必 要 が あ り ま す の で /ms4w/Apache/htdocs 以下のディレクトリ内に保存する必要があります。 Copyright (C) ZENRIN CO., LTD. All Rights Reserved. 27 6.4. ZNET TOWN重ね合せ機能 Map ファイルの作成ができれば、ZNET TOWN 重ね合せ機能より地図画面にデータを重ね合せることができます。 ZNET TOWN を起動し、メニューから重ね合せ機能をクリックし、画面左の追加をクリックします。追加ボタン以下に表示された種別 やタイトル、URL、表示範囲倍率を指定し、OK をクリックすれば、下記のように地図画面に画像が追加されます。 URL は以下のようになります。 http://localhost/cgi-bin/mapserv.exe?map=../htdocs/kitakyusyu/kitakyusyu.map&request=getmap&service=WMS&layers=kitakyusyu &version=1.3.0&FORMAT=image/png&TRANSPARENT=TRUE URL の詳細は以下のようになります。 ・ http://localhost/cgi-bin/mapserv.exe?・・・MapServer を実行 ・ map=../htdocs/kitakyusyu/kitakyusyu.map・・・Map ファイルの場所を指定 ・ request=getmap・・・ラスタ地図画像を取得 ・ service=WMS・・・WMS プロトコルという通信手順によりラスタ画像を配信 ・ layers=kitakyusyu・・・レイヤの名称を指定 ・ version=1.3.0 ・・・WMS プロトコルのバージョン ・ FORMAT=image/png・・・画像のフォーマットを指定 ・ TRANSPARNT=TRUE・・・ラスタ画像の背景色を透明にする 以上が Web マッピングの環境設定から ZNET TOWN の重ね合せ機能までの手順となります。 Copyright (C) ZENRIN CO., LTD. All Rights Reserved. 28 7. 導入事例 本章ではユーザデータ連携のために Web サーバ(MapServer)を導入した事例を示します。いずれの事例ともに商用利用の場合はコ ンテンツ出展元に対して使用許諾を得る必要があります。 7.1. 航空写真ファイル 2011 年東北地方太平洋沖地震正射画像データ(オルソ画像)陸前高田の航空写真画像を MapServer で Web 配信した事例です。 国土地理院から航空写真(*.jpg)とワールドファイル(*.jgw)をダウンロードします。 http://saigai.gsi.go.jp/h23taiheiyo-zort/block/index_rikuzen.html 10-NF67*.jpg 正射画像データ(オルソ画像)の航空写真 JPEG 形式のファイル 10-NF67*.jgw 画像ファイルのアフィン変換パラメータを記録したテキストファイル ※ワールドファイルは平面直角座標系(世界測地系 JGD2000)10 系(EPSG:2452)として生成されています。 JPEG 画像ファイルを gdaltindex コマンドにてインデックス情報を埋め込んだ Shape ファイルを生成します。 gdaltindex rikuzen.shp 10-NF67*.jpg 以下の内容で Map ファイルを制作します。ファイル名 rikuzen.map MAP NAME rikuzen IMAGETYPE PNG24 EXTENT 34000.00000000000 -180000.00000000000 84000.00000000000 -170000.00000000000 UNITS METERS SHAPEPATH "C:/ms4w/Apache/htdocs/imagemap/" IMAGECOLOR 255 255 255 PROJECTION "init=epsg:30170" END WEB IMAGEPATH "c:/ms4w/tmp/ms_tmp/" IMAGEURL "/ms_tmp/" METADATA "wms_title" "rikuzen" "wms_onlineresource" "http://localhost/cgi-bin/mapserv.exe?map=../htdocs/mapfiles/rikuzen.map&" "wms_srs" "EPSG:2452 EPSG:30170 EPSG:55005 EPSG:4326 EPSG:2452 EPSG:4301 EPSG:30166 EPSG:4612" END END LAYER NAME "tile" STATUS ON TILEINDEX "C:/ms4w/Apache/htdocs/imagemap/rikuzen.shp" TILEITEM "location" #デフォルトでの指定 TYPE RASTER METADATA "wms_title" "rikuzen" "wms_srs" "epsg:2452 epsg:30170 epsg:4326 epsg:55005" END PROJECTION "init=epsg:2452" END END END Copyright (C) ZENRIN CO., LTD. All Rights Reserved. 29 Web サーバへファイルを格納します。 C:\ms4w ├─Apache │ ├─cgi-bin │ ├─htdocs │ │ ├─imagemap │ │ │ ├─*.jpg JPEG 画像ファイル │ │ │ ├─*.jgw ワールドファイル │ │ │ ├─rikuzen.shp Shape ファイル │ │ │ │ │ ├─mapfiles │ │ │ ├─rikuzen.map Map ファイル │ │ │ ファイル格納後に Web サーバ(Apache)を起動します。 ZNET TOWN アプリケーションの重ね合わせメニューから、以下の設定値を追加します。 種別 ラスタ(Image) タイトル 航空写真(陸前高田) URL http://localhost/cgi-bin/mapserv.exe?MAP=../htdocs/mapfiles/rikuzen.map&SERVICE=WMS&REQUEST=GetMap&VERSI ON=1.3.0&LAYERS=tile&FORMAT=PNG24&TRANSPARENT=TRUE 表示倍率 2~17 透明度 33% 設定完了後に、住所検索にて「宮城県陸前高田市」を検索し、地図を表示します。 Copyright (C) ZENRIN CO., LTD. All Rights Reserved. 30 8. 参考、引用 本インタフェース仕様や導入ガイドの情報は下記資料を参考、引用している。 8.1. Webサイト 参考のリンク集を以下に示す。2011年10月17日現在 ・KML http://code.google.com/intl/ja/apis/kml/documentation/ ・ GeoJSON(英文) http://geojson.org/geojson-spec.html http://wiki.geojson.org/GeoJSON_draft_version_6 ・ OGC標準(英文) http://www.opengeospatial.org/standards ・ MapServer(英文) http://mapserver.org/ ・ MapServer for Windowss(英文) http://www.maptools.org/ms4w/ ・ GeoServer(英文) http://geoserver.org/ ・ PostgreSQL http://www.postgresql.jp/ ・ TIPSサイト Yaskey http://www.yaskey.cside.tv/mapserver/ MapServer実践 http://mapabc.wikidot.com/howto:menu 8.2. 参考書籍 ・『入門 Webマッピング』 (2006.05)Tyler Mitchell著 株式会社オライリー・ジャパン Copyright (C) ZENRIN CO., LTD. All Rights Reserved. 31 9. 改訂履歴 当文書の改定箇所を以下に記録する。 日付 対象 内容 2011/10/31 全体 分冊していた仕様書類を当仕様書に集約した。 Copyright (C) ZENRIN CO., LTD. All Rights Reserved. 32
© Copyright 2024 Paperzz