5.4. WMS获取要素信息访问权限¶
GetFeatureInfo
操作(可选)返回有关地图上指定点附近要素的信息,允许用户单击像素以查询要素的方案和元数据。
GetFeatureInfo
是一个可选操作。仅具有属性的图层支持此操作 queryable="1"
(True)。如果WMS客户端向不支持此操作的层发出请求,将返回格式化的服务异常。
TA WMS可以提供可选的 GetFeatureInfo
操作,提供此操作的WMS将其地图称为“可查询”。客户端可以将位置参数(如(X,Y)值,即距图片左上角的偏移量)或需要查询点附近信息的元素数量添加到所请求的地图URL中,现在可以请求有关地图上相应要素的信息。
由于WMS是无状态的,因此 GetFeatureInfo
请求还应包括原始中的所有参数 GetMap
请求(版本和请求除外)。基于 GetMap
请求中的空间上下文信息(BBOX、SRS、宽度和高度)以及用户选择的 (X, Y)
位置,WMS返回有关该位置的更多信息。
GetFeatureInfo
请求参数还包括 Query_Layers
参数,该参数指定从中获取要素信息的层。此参数列表中的图层必须是WMS中包含的那些 Capabilities
XML文档。
GetFeatureInfo
请求中的可选 Info_Format
参数指定返回功能信息的格式。该格式在WMS中定义为MIME类型 Capabilities
XML文档。例如 Info_Format=application/vnd.ogc.gml
表不返回不返回GML中描述的结果。
可选 Feature_Count
参数中的 GetFeatureInfo
请求指示返回功能信息的功能的最大数量。默认值为 1
。 X,Y
参数表示地图上兴趣点的像素坐标。 X,Y
值分别在 Width
和 Height
参数值内。坐标的原点在图片的左上角。
如果 GetFeatureInfo
请求有效,WMS将根据 Info_Format
。响应的性质将由WMS服务器决定,但通常对应于与点最接近的元素 (X,Y)
。
5.4.1. GetFeatureInfo
使用MapServer中的WMS服务进行请求¶
这描述了 GetFeatureInfo
访问已发布的MapServer WMS服务。
第一个是Mapfile:
1MAP
2 NAME "EX2_"
3 IMAGETYPE "png24"
4 EXTENT -180 -90 180 90
5 SIZE 600 300
6 SHAPEPATH "/gdata"
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
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
96END
与前一个 mfb1.map
相比:
此Mapfile使用WMS服务进行配置。查看功能:
5.4.2. 查看地图¶
5.4.3. 使用GetFeatureInfo进行访问¶
使用GetFeatureInfo
以上结果是使用模板输出的。
注意事项¶
WMS,即Web地图服务,是由OGC发布的规范。
GetFeatureInfo
是WMS支持的一种访问方法。