URI

<geocodeService_uri>/reverseGeocode[.<format>]

支持的方法

GETHEAD

父资源

geocodeService

介绍

反向地址匹配,根据特定的地理坐标查找地址,返回最接近该位置的地址或地点。

请注意:转发由 10.2、10.9 版本 ArcGIS Server 发布的地址匹配服务仅支持部分请求参数,支持的情况在下表中“转发 10.2/10.9 ArcGIS Server 的服务是否支持”列标注。

支持的方法:

  • GET:获取反向地址匹配结果。
  • HEAD:检查 reverseGeocode 资源是否存在,或权限是否可以访问 reverseGeocode 资源。

HTTP 请求方法

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

http://supermapiserver:8090/iserver/services/{component}/arcgisrest/geocode/GeocodeServer/reverseGeocode.json

GET 请求

获取反向地址匹配结果。

请求参数

名称 类型 含义 转发10.2/10.9 ArcGIS Server的服务是否支持
f String 【必填参数】响应格式,支持 json、pjson
token String 访问服务所需的 token  
featureTypes String[] 指定结果中可返回的地址匹配类型。可传入单个或多个类别值,用逗号分隔。可选项包括:Subaddress,PointAddress,Parcel,StreetAddress,StreetInt,StreetName,POI,DistanceMarker,Locality,Postal

请注意:
1、当输入单个值时,地址搜索容差为500m;
2、若输入多个值时,每类特征的地址搜索容差为默认值。默认值如下:
     1)StreetAddress(近)、DistanceMarker、StreetName 默认值为3m;
     2)StreetInt、Subaddress 默认值为10m;
     3)POI(点)默认值为25m;
     4)PointAddress 默认值为50m;
     5)StreetAddress(远)、DistanceMarker、StreetName 默认值为100m
 
outSR String 结果的坐标系。如果未指定,则坐标系与服务的坐标系相同
location ArcGISPoint2D 【必填参数】一个点坐标,用于搜索最近地址或地点的起始点,如果搜索区域的坐标系与服务的坐标系不同,则必需设置坐标系。例如:location=-109.55,25.76
locationType String 用于指定响应体中 location 坐标使用的位置,可选值为rooftop(屋顶坐标)和 street(街道位置坐标)。默认为rooftop  
langCode String 指定响应体中返回结果的语言,只可设置一种语言代码;若未设置或无匹配项,将按搜索请求中使用的语言返回

代码列表见:https://developers.arcgis.com/rest/geocode/geocode-coverage
 
preferredLabelValues String[] 指定响应体中包含的地址按照何种信息返回。可传入单个或多个类别值,用逗号分隔。

参数值对应于两个组,每组只能提供一个值:City 和 Street 。City 的可选值包括:postalCity(邮政城市) , localCity(本地城市) 和 matchedCity(匹配城市);Street 的可选值包括:primaryStreet(主要街道)和 matchedStreet(匹配街道)。

若 countryCode 或 sourceCountry 为美国时,地址信息将默认按照 postalCity 和 matchedStreet 返回
 
distance double 距离参数,使用其进行邻近搜索,单位为米。该参数仅转发由 10.2 版本 ArcGIS Server 发布的地址匹配服务仅支持

响应结构

对 reverseGeocode 资源执行 GET 请求,返回的资源表述的结构如下:

字段 类型 说明
location ArcGISPoint2D 匹配结果的位置信息,包括 x、y 坐标以及对应的空间参考信息    
address AddressInfo 匹配结果的地址信息,包括的字段如下表

附表 address 对象参数结构

字段 类型 说明
Address String 地址中的完整街道地址,包括门牌号和街道名称,不含城市和区域等信息
Match_addr String 完整地址。格式基于地址所在国家/地区的地址标准
LongLabel String 完整地址。较 Match_addr 包含更多信息的地址书写方式
ShortLabel String Match_addr 的简化书写
Addr_type String 地理编码请求的地址类型。支持的类型因国家/地区而异。可选值包括 Subaddress、StreetAddress、PointAddress、POI、Locality 等19种。

详见:https://developers.arcgis.com/rest/geocode/service-output/
Type String 返回结果的特征类型。仅当 Addr_type 为 POI、Locality 时有值,其他为空
PlaceName String 地址候选项的正式名称,如 Paris
AddNum String 地址中含有的数字值,仅当 Addr_type 为 StreetAddress、PointAddress 时有值,其他为空
例如:在 380 New York Street 中,该值为380
Block String 地址中的行政区划
Sector String 地址中的部级行政区域名称,是 block 的集合
Neighborhood String 地址中的社区级行政区域名称,是 city 的子集
District String 地址中的区级行政区域名称
City String 地址中的市级行政区域名称
MetroArea String 地址中的多市级行政区域名称,指由大城市和周围的小城市组成的城市区域
Subregion String 地址中的子区域级行政区域名称,是 Region 的子集
Region String 地址中的地区级行政区域的名称,是一个国家或地区的子集
RegionAbbr String 区域的缩写名称。
例如:对于 California,该值为 CA
Territory String 地址中的地区级行政区域的名称,是 country 的子集
Postal String 地址中的邮政编码
PostalExt String 地址中的邮政编码分号
例如:对于 92373-8110,该值为 8110
CountryCode String 地址中国家的 3 字符代码
CntryName String 地址中国家的完整名称
StrucType String 地址所在地点的类型,仅当国家为美国且 Addr_type 为Subaddress、PointAddress 时返回该字段。可选值为 Residential 和 Commercial
StrucDet String 地址所在地点的细分类型,由 StrucType 决定,仅当国家为美国且 Addr_type 为 Subaddress、PointAddress 时返回该字段

可选值详见:https://developers.arcgis.com/rest/geocode/service-output/

响应示例

对 reverseGeocode 资源:http://supermapiserver:8090/iserver/services/addressmatch-arcgisGeocode/arcgisrest/geocode/GeocodeServer/reverseGeocode?location=39826409.835875519,2597586.8380455966&langCode=&locationType=&featureTypes=&outSR=4528&preferredLabelValues=&f=pjson 执行 GET 请求,查找坐标为 {39826409.835875519,2597586.8380455966} 对应的地址信息,返回的 pjson 格式的表述如下:

{
    "address": {
        "RegionAbbr": "",
        "Territory": "",
        "Address": "",
        "MetroArea": "",
        "Sector": "",
        "CntryName": "ASM",
        "City": "",
        "ShortLabel": "广东省",
        "Neighborhood": "",
        "PlaceName": "广东省",
        "Subregion": "",
        "Type": "State or Province",
        "Addr_type": "Locality",
        "LongLabel": "广东省",
        "Block": "",
        "Region": "广东省",
        "PostalExt": "",
        "CountryCode": "",
        "Match_addr": "广东省",
        "District": "",
        "Postal": "",
        "AddNum": ""
    },
    "location": {
        "x": 3.982640983587552E7,
        "y": 2597586.8380455966,
        "spatialReference": null
    }
}

HEAD 请求

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

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

请参见