GetFeaturelnfo
操作(可选)返回地图上指定点附近要素的信息。使用户可以点击像素查询要素的模式和元数据。
GetFeaturelnfo
是一个可选的操作。该操作只支持对于属性 queryable="1"
(真)的图层。如果一个WMS客户端向不支持该操作的图层发出请求,将返回一个格式化的服务异常信息。GetFeaturelnfo
操作要求客户端指定查询的图层(或图层列表)以及要素信息的返回格式。
一个WMS可以提供可选的 GetFeaturelnfo
操作,对提供这种操作的WMS,称其地图为“可查询的”。客户机可以通过增加一个位置参数(如(X,Y)值,即距图片左上角的偏移量)或该点附近需要查询信息的要素的数量等参数,到所请求地图的URL中,就可以请求地图上相应要素的信息了。
由于WMS是无状态的,所以在 GetFeaturelnfo
请求中还应包括原始的
GetMap
请求中所有的参数(除Version和Request外)。根据 GetMap
请求中的空间上下文信息(BBOX、SRS、Width和Height)和用户选择的 (X, Y)
位置,WMS返回该位置更多的信息。
在 GetFeaturelnfo
请求参数中还包括 Query_Layers
参数,该参数列表指明获取要素信息的图层。该参数列表中的图层必须是WMS的 Capabilities
XML文档中包含的图层。
GetFeaturelnfo
请求中可选的 Info_Format
参数指明用什么格式返回要素的信息。该格式在WMS的 Capabilities
XML文档中定义为MIME类型。如 Info_Format=application/vnd.ogc.gml
表不返回结果用GML描述。
GetFeaturelnfo
请求中 Feature_Count
可选的参数表明返回要素信息的最大要素数量。默认值为 1
。X,Y
参数表示地图上感兴趣点的像素坐标。X,Y
值分别在 Width
和 Height
参数值内。坐标原点在图片的左上角。
如果 GetFeaturelnfo
请求有效,WMS将根据 Info_Format
作出响应。响应的性质将由WMS服务器作出判断,但一般与点 (X,Y)
最近的要素相对应。
GetFeatureInfo
请求这里说明发布的 MapServer WMS 服务的 GetFeatureInfo
访问。
首先是 Mapfile:
01 MAP 02 NAME "EX2_" 03 IMAGETYPE "png24" 04 EXTENT -180 -90 180 90 05 SIZE 600 300 06 SHAPEPATH "/gdata" 07 SYMBOLSET "../symbols/symbols35.sym" 08 FONTSET "../fonts/fonts.list" 09 OUTPUTFORMAT 10 NAME "png" 11 DRIVER "AGG/PNG" 12 MIMETYPE "image/png" 13 IMAGEMODE RGB 14 EXTENSION "png" 15 FORMATOPTION "GAMMA=0.75" 16 END 17 WEB 18 TEMPLATE "tmpl_ogc.html" 19 IMAGEPATH "/owg/ms_tmp/" 20 IMAGEURL "/ms_tmp/" 21 METADATA 22 "wms_title" "WMS Demo Server" 23 "wms_version" "1.3.0" 24 "wms_onlineresource" "http://webgis.cn/cgi-bin/mapserv?map=/owg/mfb2.map&" 25 "wms_srs" "EPSG:4326" 26 "wms_enable_request" "*" 27 "ows_enable_request" "*" 28 "wms_feature_info_mime_type" "text/html" 29 "wms_format" "image/png" 30 END 31 END 32 PROJECTION 33 "init=epsg:4326" 34 END 35 LAYER 36 NAME "topo" 37 DATA "land_shallow_topo_8192.tif" 38 STATUS OFF 39 TYPE RASTER 40 PROCESSING "BANDS=1,2,3" 41 PROJECTION 42 "init=epsg:4326" 43 END 44 END 45 LAYER 46 NAME "states" 47 DATA "wcountry.shp" 48 STATUS OFF 49 TYPE POLYGON 50 TEMPLATE "tmpl_ogc.html" 51 METADATA 52 "wms_title" "test2" 53 "wms_version" "1.3.0" 54 "wms_srs" "EPSG:4326 EPSG:3857" 55 "wms_enable_request" "*" 56 "ows_enable_request" "*" 57 "wms_feature_info_mime_type" "text/html" 58 "wms_format" "image/png" 59 END 60 PROJECTION 61 "init=epsg:4326" 62 END 63 CLASS 64 NAME "States" 65 STYLE 66 COLOR 232 232 232 67 OUTLINECOLOR 32 32 32 68 END 69 END 70 END 71 LAYER 72 NAME "states_line" 73 DATA "wcountry.shp" 74 STATUS OFF 75 TYPE LINE 76 TEMPLATE "tmpl_ogc.html" 77 METADATA 78 "wms_title" "test3" 79 "wms_version" "1.3.0" 80 "wms_srs" "EPSG:4326 EPSG:3857" 81 "wms_enable_request" "*" 82 "ows_enable_request" "*" 83 "wms_feature_info_mime_type" "text/html" 84 "wms_format" "image/png" 85 END 86 PROJECTION 87 "init=epsg:4326" 88 END 89 CLASS 90 NAME "State Boundary" 91 STYLE 92 COLOR 132 132 32 93 END 94 END 95 END 96 END
与前面 mfb1.map
相比:
f | 1 | MAP | f | 1 | MAP |
n | n | 2 | NAME "EX2_" | ||
2 | IMAGETYPE "PNG" | 3 | IMAGETYPE "png24" | ||
3 | EXTENT -180 -90 180 90 | 4 | EXTENT -180 -90 180 90 | ||
5 | SHAPEPATH "/gdata" | 6 | SHAPEPATH "/gdata" | ||
n | 6 | IMAGECOLOR 255 255 255 | n | 7 | SYMBOLSET "../symbols/symbols35.sym" |
8 | FONTSET "../fonts/fonts.list" | ||||
9 | OUTPUTFORMAT | ||||
10 | NAME "png" | ||||
11 | DRIVER "AGG/PNG" | ||||
12 | MIMETYPE "image/png" | ||||
13 | IMAGEMODE RGB | ||||
14 | EXTENSION "png" | ||||
15 | FORMATOPTION "GAMMA=0.75" | ||||
16 | END | ||||
7 | WEB | 17 | WEB | ||
n | n | 18 | TEMPLATE "tmpl_ogc.html" | ||
19 | IMAGEPATH "/owg/ms_tmp/" | ||||
20 | IMAGEURL "/ms_tmp/" | ||||
8 | METADATA | 21 | METADATA | ||
9 | "wms_title" "WMS Demo Server" | 22 | "wms_title" "WMS Demo Server" | ||
n | n | 23 | "wms_version" "1.3.0" | ||
10 | "wms_onlineresource" "//webgis.cn/cgi-bin/mapserv?map=/owg/mfb1.map&" | 24 | "wms_onlineresource" "http://webgis.cn/cgi-bin/mapserv?map=/owg/mfb2.map&" | ||
11 | "ows_onlineresource" "//webgis.cn/cgi-bin/mapserv?map=/owg/mfb1.map&" | ||||
12 | "wms_srs" "EPSG:4269 EPSG:4326" | 25 | "wms_srs" "EPSG:4326" | ||
13 | "wms_enable_request" "* !GetFeatureInfo" | 26 | "wms_enable_request" "*" | ||
27 | "ows_enable_request" "*" | ||||
28 | "wms_feature_info_mime_type" "text/html" | ||||
29 | "wms_format" "image/png" | ||||
14 | END | 30 | END | ||
n | n | 31 | END | ||
32 | PROJECTION | ||||
33 | "init=epsg:4326" | ||||
15 | END | 34 | END | ||
30 | TYPE POLYGON | 49 | TYPE POLYGON | ||
n | n | 50 | TEMPLATE "tmpl_ogc.html" | ||
51 | METADATA | ||||
52 | "wms_title" "test2" | ||||
53 | "wms_version" "1.3.0" | ||||
54 | "wms_srs" "EPSG:4326 EPSG:3857" | ||||
55 | "wms_enable_request" "*" | ||||
56 | "ows_enable_request" "*" | ||||
57 | "wms_feature_info_mime_type" "text/html" | ||||
58 | "wms_format" "image/png" | ||||
59 | END | ||||
60 | PROJECTION | ||||
61 | "init=epsg:4326" | ||||
62 | END | ||||
31 | CLASS | 63 | CLASS | ||
n | 32 | NAME "The Upper Great Lakes States" | n | 64 | NAME "States" |
33 | STYLE | 65 | STYLE | ||
38 | END | 70 | END | ||
t | t | 71 | LAYER | ||
72 | NAME "states_line" | ||||
73 | DATA "wcountry.shp" | ||||
74 | STATUS OFF | ||||
75 | TYPE LINE | ||||
76 | TEMPLATE "tmpl_ogc.html" | ||||
77 | METADATA | ||||
78 | "wms_title" "test3" | ||||
79 | "wms_version" "1.3.0" | ||||
80 | "wms_srs" "EPSG:4326 EPSG:3857" | ||||
81 | "wms_enable_request" "*" | ||||
82 | "ows_enable_request" "*" | ||||
83 | "wms_feature_info_mime_type" "text/html" | ||||
84 | "wms_format" "image/png" | ||||
85 | END | ||||
86 | PROJECTION | ||||
87 | "init=epsg:4326" | ||||
88 | END | ||||
89 | CLASS | ||||
90 | NAME "State Boundary" | ||||
91 | STYLE | ||||
92 | COLOR 132 132 32 | ||||
93 | END | ||||
94 | END | ||||
95 | END | ||||
39 | END | 96 | END |
这个 Mapfile 配置了 WMS 服务。查看功能:
上面的结果使用模板输出 。
WMS,Web Mapping Server,属于 OGC 发布的规范。
GetFeatureInfo
是 WMS 支持的访问方法。