URI
<mapService_uri>/find[.<format>]
支持的方法
父资源
介绍
针对地图或地图中一个或多个图层进行属性查询,每个结果都包括其值,要素 ID,字段名称,图层 ID,图层名称,几何,几何类型等属性信息。
(注:ArcGIS REST 地图服务通过 iServer 再次发布为 ArcGIS REST 地图服务后,不支持此资源。)
支持的方法:
资源层次
HTTP 请求方法
对如下 URI 执行 HTTP 请求,以 json 输出格式为例加以说明,其中,supermapiserver 是服务器名,{component}是服务组件名,{mapName}是地图名。
http://supermapiserver:8090/iserver/services/{component}/arcgisrest/{mapName}/MapServer/find.json
GET 请求
根据查询条件查询结果
请求参数
名称 | 类型 | 含义 |
f |
String | 响应格式,支持 json、pjson |
searchText | String | 【必需】 搜索字符串。这是在用户指定的层和字段中搜索的文本。如:searchText=abc |
contains | boolean | 如果为 false,则该搜索操作要求与 searchText 字符串完全匹配,且区分大小写。否则,它将搜索所有包含提供的 searchText 的值,不区分大小写。默认值为 true。 |
searchFields | String | 要搜索的字段名称,这些字段以逗号分隔。如果未指定此参数,则搜索所有字段。如:searchFields=AREANAME,SUB_REGION |
sr | String | 输出几何对象的坐标参考系统,如果此参数为空,则默认返回地图原坐标参考系统下的状态信息 。 |
layers | int | 【必需】 执行查找操作的图层,图层以逗号分隔。如:layers=2,4,7 |
returnGeometry | boolean | 如果为true,则结果集将包括每个与结果关联的几何对象。默认值为true |
响应结构
对 find 资源执行 GET 请求得到的是符合查询要求对象的属性信息的集合,集合中的每一个元素的结构如下:
字段 | 类型 | 说明 |
layerId | int | 图层的 ID |
displayFieldName | String | 显示的字段名称 |
attributes | Map<String, String> |
属性信息 |
geometry | ArcGISGeometry | 查找结果几何要素 |
layerName | String | 图层名称 |
value | String | 显示字段值或查询字段值 |
geometryType | ArcGISGeometryType | 返回的几何要素的类型 |
foundFieldName | String | 查找结果字段名称 |
响应示例
对 find 资源执行 get 请求。URI为: http://localhost:8090/iserver/services/map-BeijingAddress/arcgisrest/county_R/MapServer/find?searchText=abc&contains=true&searchFields=&sr=&layers=0,2&returnGeometry=true 返回 pjson 格式的资源表述如下:
{{"results": [{
"layerId": 2,
"displayFieldName": "",
"attributes": {
"SmGeometrySize": "20",
"序号": "9064.0",
"一级分类": "企业",
"法人代码": "75820312-7",
"名称": "北京蒂本斯工程技术有限公司",
"二级分类": "先进制造技术",
"区县": "丰台区",
"SmID": "11609",
"园区名称": "丰台园",
"SmUserID": "0",
"地址": "北京市丰台区星火路1号6层ABC间",
"ID": "837.0",
"SmY": "4841851.189640395",
"SmGeoPosition": "633032",
"SmX": "1.2944868428453632E7",
"SmLibTileID": "1"
},
"geometry": {
"x": 1.2944868428453632E7,
"y": 4841851.189640395,
"spatialReference": {}
},
"layerName": "company@BeijingAddress",
"value": "北京市丰台区星火路1号6层ABC间",
"geometryType": "esriGeometryPoint",
"foundFieldName": "地址"
}]}
POST 请求
跟 GET 请求结构类似。
HEAD 请求
返回跟 GET 请求一样的 HTTP 响应头,但是没有响应实体。可以在不必传输整个响应内容的情况下,获取包含在响应消息头中的元数据信息。元数据信息包括媒体类型,字符编码,压缩编码,实体内容长度等。
HEAD 请求可以用来判断 find 资源是否存在,或者客户端是否有权限访问 find 资源。通过对加.<format>的 URI 执行 HEAD 请求,还可以快速判断 find 资源是否支持<format>格式的表述。