ZNET TOWN #2.0

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