2008年9月13日土曜日

OpenLayers 9bFeature Info マップファイル

kanagawa_mlit_shp.map をコピーして修正します。

user@debian:~/mapfile$ cp kanagawa_mlit_shp.map kanagawa_mlit_pgis.map

WEB オブジェクトの METADATA に次のように追加します。

---
WEB
IMAGEPATH "/home/user/ka-map/htdocs/tmp/kacache/"
IMAGEURL "/ka-map/tmp/kacache/"
METADATA
"wms_title" "Kamakura mlit Map WMS Server"
"wms_srs" "EPSG:2451 EPSG:4612" #修正 OpenLayers 10 参照
"wms_onlineresource" "http://localhost/cgi-bin/mapserv?map=/home/user/mapfile/kanagawa_mlit_pgis.map"
"wms_encoding" "utf-8"
"wms_feature_info_mime_type" "text/html"
"wfs_title" "Kamakura mlit Map WFS Server"
"wfs_srs" "EPSG:2451 EPSG:4612" #修正 OpenLayers 10 参照
END
END
---

wms_title WMSサーバに必須です。人が理解できる名前をつけます。(レイヤにも必要です。)
wms_srs (推奨)WMSサーバのすべてのレイヤに有効なものとして通知されるEPSGプロジェクションコードが入ります。EPSGはスペースで区切って複数設定できます。大文字で記述します。
wms_onlinesource (推奨)WMSサーバーにアクセスするために使用されるURLです。 GetCapabilitiesで使用します。
wms_encoding (オプション)XMLのエンコーディングタイプ。
wms_feature_info_mime GetFeatureリクエストに応答するときに使用される追加MIMEタイプを設定するために使用されます。
応答の基本にレイヤのHTMLテンプレートを使用するなら、 "wms_feature_info_mime_type" "text/html" と追加します。これを設定すると、GetFeatureリクエストをサポートするMIMEタイプの一つとして、text/htmlを通知する効果があります。レイヤが有効なhtmlテンプレートを示すことを確認してください。クライアントは、INFO_FORMAT=text/htmlとサーバに要求します。
デフォルトは、text/plainとGML implemented。
返されるGMLのために、WMSサーバのマップファイルのレイヤには DUMP TRUE を設定します。

public_facilities LAYER オブジェクトの METADATA に次のように追加します。

---
METADATA
"group_title" "公共施設"
"wms_title" "Public Facilities Kanagawa mlit WMS Layer"
"wfs_title" "Public Facilities Kanagawa mlit WFS Layer"
"gml_include_items" "all"
"gml_exclude_items" ""
"searchfield" "na0"
"fields" "na0:公共施設,ads:住所"
END
---

gml_include_items (オプション getfeatureinfo gml リクエストのみ適用されます)include(含める)のためのカンマで区切られた項目のリストか、またはキーワードの "all" です。 mapserver 4.6から、メタデータを設定したレイヤのデータの属性(フィールド)の公開する数を制御することができます。それ以前のバージョンの動作は、単純にすべての属性をいつでも公開していました。
全公開を、キーワード "all" を使って次のように有効にできます。
"gml_include_items" "all"
一部公開のための属性(フィールド)リストを次のように設定できます。
"gml_include_items" "Name,ID"
デフォルトは属性をすべて非公開になっています。
gml_exclude_items
特定フィールドの除外の例は次のようになります。
"gml_include_items" "all"
"gml_exclude_items" "Phonenum"

WMS Server with MapServerより
http://mapserver.gis.umn.edu/docs/howto/wms_server

各レイヤの MINSCALE と MAXSCALE は OpenLayers で地図が表示されなくなるのでコメントアウトとしました。
# MINSCALE 1000
# MAXSCALE 1000000000

temp_facilities.html をコピーしてファイル名を temp_facilities_pgis.htmlにし、次のように大文字を小文字に修正します。
---
<li>公共施設:[na0]
<li>住所:[ads]
---

MAP
NAME kanagawa_mlit_pgis_map
STATUS ON
SIZE 600 300
EXTENT 138.91 35.12 139.84 35.68
UNITS DD
IMAGECOLOR 255 255 255
IMAGETYPE png
FONTSET "fonts.txt"
PROJECTION
"init=epsg:2451"
END

WEB
IMAGEPATH "/home/user/ka-map/htdocs/tmp/kacache/"
IMAGEURL "/ka-map/tmp/kacache/"
METADATA
"wms_title" "Kamakura mlit Map WMS Server"
"wms_srs" "EPSG:2451 EPSG:4612" #修正 OpenLayers 10 参照
"wms_onlineresource" "http://localhost/cgi-bin/mapserv?map=/home/user/mapfile/kanagawa_mlit_pgis.map"
"wms_encoding" "utf-8"
"wms_feature_info_mime_type" "text/html"
"wfs_title" "Kamakura mlit Map WFS Server"
"wfs_srs" "EPSG:2451 EPSG:4612" #修正 OpenLayers 10 参照
END
END

LEGEND
TRANSPARENT TRUE
LABEL
TYPE TRUETYPE
FONT vl-gothic
COLOR 0 0 0
ENCODING UTF-8
SIZE 10
OFFSET 0 -4
END
END

SCALEBAR
TRANSPARENT TRUE
END

SYMBOL
NAME 'circle'
TYPE ELLIPSE
FILLED TRUE
POINTS
1 1
END
END


LAYER
NAME gyoseikai
GROUP gyoseikai
TYPE POLYGON
STATUS ON
DUMP TRUE
CONNECTIONTYPE POSTGIS
CONNECTION "dbname=kanagawa_mlit host=localhost user=user password=password"
DATA "the_geom from gyoseikai"
# MINSCALE 1000 OpenLayers にコメントアウトが必要
# MAXSCALE 1000000000 同上
LABELITEM "cn2"
METADATA
"group_title" "行政界"
"wms_title" "Kanagawa mlit Map WMS Gyoseikai Layer"
"searchfield" "cn2"
"fields" "con:郡政令,cn2:市区町村"
END
CLASS
NAME "行政界"
STYLE
OUTLINECOLOR 153 153 153
END
LABEL
MINFEATURESIZE 40
TYPE TRUETYPE
FONT vl-gothic
ENCODING UTF-8
SIZE 8
END
END
TEMPLATE temp_tokyo_shp.html
END

LAYER
NAME gun_seirei
GROUP gun_seirei
TYPE ANNOTATION
STATUS ON
CONNECTIONTYPE POSTGIS
CONNECTION "dbname=kanagawa_mlit host=localhost user=user password=password"
DATA "the_geom from gyoseikai"
LABELITEM "con"
METADATA
"group_title" "郡政令"
"queryable" "true"
"searchfield" "con"
"fields" "con:郡政令,cn2:市区町村"
END
CLASS
NAME "郡政令"
LABEL
MINFEATURESIZE 40
TYPE TRUETYPE
FONT vl-gothic
ENCODING UTF-8
SIZE 8
POSITION uc
END
END
TEMPLATE temp_tokyo_shp.html
END

LAYER
NAME railroad
GROUP railroad
TYPE line
STATUS ON
DUMP TRUE
CONNECTIONTYPE POSTGIS
CONNECTION "dbname=kanagawa_mlit host=localhost user=user password=password"
DATA "the_geom from railroad1"
LABELITEM "lin"
METADATA
"group_title" "鉄道"
"wms_title" "Railroad Map WMS Layer"
"wfs_title" "Railroad Map WFS Layer"
"searchfield" "lin"
"fields" "lin:鉄道,opc:会社"
END
CLASS
NAME "鉄道"
STYLE
COLOR 102 204 204
END
LABEL
MINFEATURESIZE 40
TYPE TRUETYPE
FONT vl-gothic
ENCODING UTF-8
SIZE 8
POSITION uc
END
END
TEMPLATE temp_railroad.html
END

LAYER
NAME public_facilities
GROUP public_facilities
TYPE POINT
STATUS ON
DUMP TRUE
CONNECTIONTYPE POSTGIS
CONNECTION "dbname=kanagawa_mlit host=localhost user=user password=password"
DATA "the_geom from publicfacilities"
MAXSCALEDENOM 100000
LABELITEM "na0"
METADATA
"group_title" "公共施設"
"wms_title" "Public Facilities Kanagawa mlit WMS Layer"
"wfs_title" "Public Facilities Kanagawa mlit WFS Layer"
"gml_include_items" "all"
"gml_exclude_items" ""
"searchfield" "na0"
"fields" "na0:公共施設,ads:住所"
END
CLASS
NAME "公共施設"
STYLE
SYMBOL 'circle'
COLOR 102 255 102
SIZE 5
END
LABEL
MINFEATURESIZE 40
TYPE TRUETYPE
FONT vl-gothic
ENCODING UTF-8
SIZE 8
POSITION uc
END
END
TEMPLATE temp_facilities_pgis.html
END

END #MAP END


temp_facilities_pgis.html
<html>
<head>
<title>Public Facilities Template</title>
</head>
<body>
<li>公共施設:[na0]
<li>住所:[ads]
</body>
</html>

0 件のコメント: