请求参数

GetFeatureInfo 操作的主要请求参数如下表所示:

表1 GetFeatureInfo 操作请求主要参数

请求参数

是否必需

描述

VERSION=version

请求版本号。

REQUEST=GetFeatureInfo

请求名称。

请求 GetFeatureInfo 操作,请求名称需要设为“GetFeatureInfo”。

<map_request_copy>

GetMap 请求参数的部分副本。

不包含其中的 VERSION 和 REQUEST 参数。决定查询的目标地图,即在哪个地图图片上查询。

QUERY_LAYERS=layer_list

待查询的图层列表,图层之间以英文逗号分隔。

INFO_FORMAT=output_format

要素信息的返回格式(MIME 类型)。

可以为  application/vnd.ogc.wms_xml , application/geojson , text/xml , text/html。

FEATURE_COUNT=number

要返回信息的要素的数量(默认为1)。

以(I, J)为中心点,根据 GetMap 操作中的请求参数 BBOX,Width 和 Height 确定初始查找范围半径,对指定的查询图层进行查找。如果查询返回结果小于用户指定的 number 值,将查找半径扩大一倍继续查找,如果查询结果数目满足用户要求返回的要素数目,返回结果,否则继续扩大半径。当查找半径达到初始搜索半径的8倍时,终止查询,返回查询结果,进入下一图层的查询。

图层的查询顺序与待查询图层列表中的顺序一致。

I=pixel_column

以像素表示的要素 X 坐标(最左侧为0,向右递增)。

J=pixel_row

以像素表示的要素 Y 坐标(最上侧为0,向下递增)。

EXCEPTIONS=exception_format

WMS 的异常错误报告格式(默认为 application/vnd.ogc.se_xml)。

BBOX=minx,miny,maxx,maxy

同 GetMap。

使用该参数进行查询时支持返回 application/geojson 格式的响应体,响应体中包含图层名称 layerName,即 GetCapabilities 操作获取的能力文档中的 Title 值。

请注意:该参数和 layerDefs 参数必选其一,也可同时设置并将同时生效。

layerDefs

属性过滤,语法为 {<layer1>:<layerDefs1>,<layer2>:<layerDefs2>},不同图层的过滤条件间以 ',' 分隔。

其中,<layer1>、<layer2>的值使用 GetCapabilities 操作获取的能力文档中 图层属性 Name 元素的值;支持的比较操作包括 =、<>、>、> =、<、<= ,支持的字符串匹配操作包括 BETWEEN AND 、 IN 、 like ,支持的逻辑关系判断包括 AND , OR , NOT。示例如下:

layerDefs={"0.11":"Shape_Area <500 and OBJECTID>100","0.12": "STATE_NAME LIKE ‘N%'"}   

使用该参数进行查询时支持返回 application/geojson 格式的响应体,响应体中包含图层名称 layerName。

请注意:该参数和 BBOX 参数必选其一,也可同时设置并将同时生效;该参数仅对矢量图层生效。

请求示例

GetFeatureInfo 操作的请求方式如下:

<ServiceRoot>?Version=version&REQUEST=GetFeatureInfo&<map_request_copy>& QUERY_LAYERS=layer_list&INFO_FORMAT=output_format&I=pixel_column&J=pixel_row

ServiceRoot 为服务的 URI 根目录,请参见 服务的 URI 设置

例如,本机 SuperMap iServer WMS 1.3.0 服务启动成功之后,访问 GetFeatureInfo 操作的 URI 是:http://localhost:8090/iserver/services/map-world/wms130/世界地图_Day?VERSION=1.3.0&REQUEST=GetFeatureInfo&LAYERS=0.8,0.11,0.3&STYLES=&CRS=CRS:84&BBOX=-180,-90,180,90&WIDTH=800&HEIGHT=400&FORMAT=image/png&QUERY_LAYERS=0.11&INFO_FORMAT=text/xml&I=650&J=150&layerDefs={"0.11":"SMID<200"}&INFO_FORMAT=application/geojson。

该请求示例的响应结果请参见 响应示例