URI
<mapService_uri>/identify[.<format>]
支持的方法
父资源
介绍
识别地图中与传入几何要素相交的要素。每个识别的结果都包括其名称,图层 ID,图层名称,几何和几何类型,以及该结果的其他属性。
(注:ArcGIS REST 地图服务通过 iServer 再次发布为 ArcGIS REST 地图服务后,不支持此资源。)
支持的方法:
资源层次
该资源的资源层次图。
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 操作:
您可以单独指定上述图层选项,也可以指定图层选项以及图层 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"
}]}