URI

<mapService_uri>/identify[.<format>]

支持的方法

GETPOSTHEAD

父资源

mapService

介绍

识别地图中与传入几何要素相交的要素。每个识别的结果都包括其名称,图层 ID,图层名称,几何和几何类型,以及该结果的其他属性。

(注:ArcGIS REST 地图服务通过 iServer 再次发布为 ArcGIS REST 地图服务后,不支持此资源。)

支持的方法:

  • GET:查询与传入几何要素相交的要素。
  • POST:按照给定参数查询与传入几何要素相交的要素。
  • HEAD:检查 identify  资源是否存在,或权限是否可以访问 identify  资源。

资源层次

该资源的资源层次图。

HTTP 请求方法

对如下 URI 执行 HTTP 请求,以 json 输出格式为例加以说明,其中,supermapiserver 是服务器名,{component}是服务组件名,{mapName}是地图名。

http://supermapiserver:8090/iserver/services/{component}/arcgisrest/{mapName}/MapServer/identify.json

GET 请求

获取与传入几何要素相交的要素。

请求参数

名称 类型 含义

f

String 响应格式,支持 json、pjson
geometry String 【必需】 用于识别的几何对象。几何对象的类型由 geometryType 参数指定。几何对象的结构与 ArcGIS REST API 返回的 JSON 几何对象的结构相同。除了 JSON 结构外,还可以使用逗号分隔的语法指定几何形状。如下: JSON: geometryType=esriGeometryPoint&geometry={x: -101, y: 31.1} 点: geometryType=esriGeometryPoint&geometry=-101,31. Envelope:geometryType=esriGeometryEnvelope&geometry=-104,35.6,-94.32,41
geometryType ArcGISGeometryType 【必需】 由 geometry 参数指定的几何对象的类型。几何类型可以是 esriGeometryPoint、esriGeometryMultipoint、esriGeometryPolyline、esriGeometryPolygon、esriGeometryEnvelope。默认几何类型是 esriGeometryPoint
sr String 输入、输出几何对象以及 mapExtent 的坐标参考系统,如果此参数为空,则默认返回地图原坐标参考系统下的状态信息 。
layers String 执行 identify 操作的层,默认值为 top。有三种方法可以指定要在哪些层上进行 identify 操作:
  • top:仅在指定位置的最顶层
  • visible:指定位置的所有可见层
  • all:指定位置的所有图层

您可以单独指定上述图层选项,也可以指定图层选项以及图层 ID 列表。当同时指定了图层选项和图层 ID 时,服务器会将其视为 AND 运算符。例如,如果将参数指定为 visible:1,6,则仅识别 ID 为 1 和 6 的图层(如果可见)。

例子:

layers=all

layers=visible:2,5

tolerance int 【必需】 容差
mapExtent String 【必需】 当前正在查看的地图的范围或边界框。如:mapExtent=-104,35.6,-94.32,41
imageDisplay int

【必需】

当前正在查看的地图的屏幕图像显示参数(宽度,高度和DPI)。如:imageDisplay=600,550,96

returnGeometry boolean 如果为true,则结果集将包括每个与结果关联的几何对象。默认值为true

响应结构

字段 类型 说明
layerId int 图层的 ID
displayFieldName String 显示的字段名称
attributes

Map<String, String>

属性信息
geometry ArcGISGeometry 查找结果几何对象
layerName String 图层名称
value String 查找结果
geometryType ArcGISGeometryType 返回的几何的类型
foundFieldName String 查找结果字段名称

 

POST 请求

跟 GET 请求结构类似。

HEAD 请求

返回跟 GET 请求一样的 HTTP 响应头,但是没有响应实体。可以在不必传输整个响应内容的情况下,获取包含在响应消息头中的元数据信息。元数据信息包括媒体类型,字符编码,压缩编码,实体内容长度等。

HEAD 请求可以用来判断 identify  资源是否存在,或者客户端是否有权限访问 identify  资源。通过对加.<format>的 URI 执行 HEAD 请求,还可以快速判断 identify  资源是否支持<format>格式的表述。

响应示例

对 ArcGIS identify 资源:

http://localhost:8090/iserver/services/map-China100/arcgisrest/China/MapServer/identify?geometryType=esriGeometryEnvelope&geometry=13022935.07,4929563.89,13021111.07,41&tolerance=10&mapExtent=-104,35.6,-94.32,41&imageDisplay=400,300,96 执行 GET 请求,返回 pjson 格式的资源表述如下:

{"results": [{

    "layerId": 6,

    "displayFieldName": "",

    "attributes": {

        "SmGeometrySize": "20",

        "BRGLEV": "0.0",

        "ANGLE": "0.0",

        "NAME": "合肥新桥国际机场",

        "SmID": "13",

        "PERIOD": "",

        "SmUserID": "0",

        "GB": "480100.0",

        "RN": "",

        "SmY": "3762584.654015376",

        "SmGeoPosition": "12157168",

        "SmX": "1.3021403647234032E7",

        "SmLibTileID": "1"

    },

    "geometry": {

        "x": 1.3021403647234032E7,

        "y": 3762584.654015376,

        "spatialReference": null

    },

    "layerName": "Airport_pt@China",

    "value": "",

    "geometryType": "esriGeometryPoint"

}]}

请参见