URI
<geocodeService_uri>/reverseGeocode[.<format>]
支持的方法
父资源
介绍
反向地址匹配,根据特定的地理坐标查找地址,返回最接近该位置的地址或地点。
请注意:转发由 10.2、10.9 版本 ArcGIS Server 发布的地址匹配服务仅支持部分请求参数,支持的情况在下表中“转发 10.2/10.9 ArcGIS Server 的服务是否支持”列标注。
支持的方法:
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>格式的表述。
请参见
- geocodeService、geocodeAddresses、findAddressCandidates、suggest
- 客户端构建 REST 请求
- 状态码列表及说明
- SuperMap iServer REST API 表述格式介绍