2009年9月22日火曜日

OpenLayers で東京都の地図表示 4a 東京都の地図をOpenLayers で表示1

「OpenLayers 7units metersのWMS」を参考にします。

tokyo_bmi_ogis_img.map を修正して WMS サーバの設定をします。

MAP
NAME tokyo_bmi_pgis_img_map
---
PROJECTION # 投影法 (OpenLayers のため追加)
"init=epsg:2456" #
END #

WEB
IMAGEPATH "/home/user/ka-map/htdocs/tmp/kacache/"
IMAGEURL "/ka-map/tmp/kacache/"
METADATA
"wms_title" "Tokyo Map WMS Server" # WMS サーバ設定
"wms_srs" "EPSG:2456" #
END
END
---
LAYER
NAME height
TYPE RASTER
STATUS ON
DATA "../mapdata/tokyo_bmi/tokyo_height201-epsg2456.tif"
MINSCALEDENOM 1000 # 不適当な縮尺で使用されないように。
MAXSCALEDENOM 1000000 # (MINSCALE, MAXSCALE から置き換え。MapServer5より>)
METADATA
"group_title" "標高"
"wms_title" "Tokyo Height WMS LAYER" # 追加
END
END

LAYER
NAME kukaku
GROUP kukaku
TYPE LINE #POLYGON
STATUS ON
CONNECTIONTYPE POSTGIS
CONNECTION "dbname=tokyo_bmi host=localhost user=user password=password"
DATA "the_geom from gyoseisen" #gyoseikukaku
# DATA "../mapdata/tokyo_bmi/AdmArea.shp"
MINSCALEDENOM 1000 # 追加
MAXSCALEDENOM 1000000 #
METADATA
"group_title" "行政区画"
"wms_title" "Tokyo Kukaku WMS LAYER" # 追加
END
CLASS
NAME "行政区画"
STYLE
COLOR 102 102 102 #255 255 204
# OUTLINECOLOR 204 204 204
END
END
END
---

WMS 機能ドキュメントのチェック
端末(ターミナル)で次のようにコマンドを入力します。

wget -O tokyo_bmi_pgis_img.xml "http://localhost/cgi-bin/mapserv?map=/home/user/mapfile/tokyo_bmi_pgis_img.map&service=WMS&version=1.1.1&request=GetCapabilities"

tokyo_bmi_pgis_img.xml の内容をみてみます。

<!-- MapServer version 5.0.3 OUTPUT=GIF OUTPUT=PNG OUTPUT=JPEG OUTPUT=WBMP OUTPUT=SVG SUPPORTS=PROJ SUPPORTS=AGG SUPPORTS=FREETYPE SUPPORTS=WMS_SERVER SUPPORTS=WMS_CLIENT SUPPORTS=WFS_SERVER SUPPORTS=WFS_CLIENT SUPPORTS=WCS_SERVER SUPPORTS=FASTCGI SUPPORTS=THREADS SUPPORTS=GEOS INPUT=EPPL7 INPUT=POSTGIS INPUT=OGR INPUT=GDAL INPUT=SHAPEFILE -->

ここには、MapServer がサポートする機能が出力されています。
WMS がサポートされています。

SUPPORTS=WMS_SERVER SUPPORTS=WMS_CLIENT

height レイヤに次のような警告が出力されていますが、地図は表示されます。
内容は、MAP オブジェクトか Layer オブジェクト、height レイヤの Metadata に wms_srs のどれか一つに投影法を記述するべきとあります。

<!-- WARNING: Mandatory mapfile parameter '(at least one of) MAP.PROJECTION, LAYER.PROJECTION or wms_srs metadata' was missing in this context. -->

0 件のコメント: