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 请求指示返回功能信息的功能的最大数量。默认值为 1X,Y 参数表示地图上兴趣点的像素坐标。 X,Y 值分别在 WidthHeight 参数值内。坐标的原点在图片的左上角。

如果 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 相比:

diff_mfb2_mfb1.html

此Mapfile使用WMS服务进行配置。查看功能:

Open a link

5.4.2. 查看地图

http://webgis.cn/cgi-bin/mapserv?map=/owg/mfb2.map&layer=states&mode=map

5.4.3. 使用GetFeatureInfo进行访问

使用GetFeatureInfo

Use GetFeatureInfo

以上结果是使用模板输出的。

注意事项

WMS,即Web地图服务,是由OGC发布的规范。

GetFeatureInfo 是WMS支持的一种访问方法。