URI

<mapService_uri>/find[.<format>]

支持的方法

GETPOSTHEAD

父资源

mapService

介绍

针对地图或地图中一个或多个图层进行属性查询,每个结果都包括其值,要素 ID,字段名称,图层 ID,图层名称,几何,几何类型等属性信息。

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

支持的方法:

  • GET:获取图层属性查询结果。
  • POST:按照给定参数查询图层属性 。
  • HEAD:检查 find  资源是否存在,或权限是否可以访问 find  资源。

资源层次

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>格式的表述。

请参见