ArcGIS Desktop

  • ArcGIS Pro
  • ArcMap

  • My Profile
  • 帮助
  • Sign Out
ArcGIS Desktop

ArcGIS Online

专为贵组织打造的制图平台

ArcGIS Desktop

全面的专业性 GIS

ArcGIS Enterprise

面向企业的 GIS

ArcGIS for Developers

用于构建位置感知应用程序的工具

ArcGIS Solutions

适用于行业的免费模板地图和应用程序

ArcGIS Marketplace

获取适用于组织的应用程序和数据

  • 文档
  • 支持
Esri
  • 登录
user
  • 我的个人资料
  • 登出

ArcMap

  • 主页
  • 入门
  • 地图
  • 分析
  • 管理数据
  • 工具
  • 扩展模块

反向地理编码

  • 描述
  • 使用
  • 语法
  • 代码示例
  • 环境
  • 许可信息

描述

基于要素类中的点位置创建地址。在反向地理编码过程中,根据指定的搜索距离搜索点位置的最近地址或交叉点。使用 ArcGIS World Geocoding Service 时,此操作可能会消耗配额。

使用

  • 输入要素类必须包含具有有效 x,y 坐标的点形状。对于包含空坐标的点,将不返回地址。

  • 输出要素类将包含与输入要素类相同的记录数。其他包含结果地址的字段将被添加到要素类中。字段名以 REV_ 作为前缀。如果找不到某个地址,字段将包含空值。

  • 如果输入要素类的空间参考与地址定位器不同,则地址定位器将动态转换坐标并尝试找到匹配项。输出要素类将保存在与输入要素类相同的空间参考中。可通过在工具的环境设置中指定其他输出坐标系来更改输出要素类的空间参考。

  • 如果输入要素类中的某个点无法返回地址,则表明地址定位器中不存在任何可与输入点关联的要素。以下是导致不匹配点的几个常见原因:

    • 搜索距离过小,点无法查找到任何最近的要素。
    • 点包含空坐标。
    • 点的坐标不正确并且无法转换为地址定位器中使用的空间参考。
    • 地址定位器的相应区域内不包含可与点关联的参考要素。

    您可以增加搜索距离以增大找到最近地址的几率,或者使用包含更多要素或覆盖更大区域的其他地址定位器以与输入点匹配。

  • 如果使用ArcGIS World Geocoding Service 对某要素类进行反向地理编码,则需要订阅 ArcGIS Online for organizations。有关详细信息,请参阅使用 ArcGIS Online World Geocoding Service。

语法

ReverseGeocode(in_features, in_address_locator, out_feature_class, {address_type}, {search_distance}, {feature_type}, {location_type})
参数说明数据类型
in_features

根据要素的点位置而返回地址的点要素类或图层。

Feature Class
in_address_locator

要用于对输入要素类进行反向地理编码的地址定位器。

旧版本:

定位器应存储于文件夹中,这样您就可以利用地理数据库中存储的不支持定位器的新的要素,例如性能改善、多线程功能和建议支持。ArcGIS 10.4 是支持地理数据库中存储定位器的最后一个版本。

Address Locator
out_feature_class

输出要素类。

Feature Class
address_type
(可选)

指示是将点对应的地址以街道地址的形式返回,还是以交叉点地址的形式返回(如果地址定位器支持交叉点匹配)。

  • ADDRESS —返回街道地址或以输入地址定位器所定义的格式返回地址。这是默认选项。
  • INTERSECTION —返回交叉点地址。如果地址定位器支持匹配交叉点地址,则可使用此选项。
String
search_distance
(可选)

搜索点位置的最近地址或交叉点时所用的距离。某些定位器使用不支持覆盖搜索距离参数的优化距离值。

Linear Unit
feature_type
[feature_type,...]
(可选)

限制返回的可能匹配类型。可选择单个或多个值。如果选择单个值,则输入要素类型的搜索容差为 500 米。如果包括多个值,则将应用要素类型等级表中指定的默认搜索距离。有关 reverseGeocode 的 featureTypes 参数的更多详细信息,请参阅 REST API Web 帮助。

此参数不受所有定位器支持。

注:

如果指定了多个参数值,则这些值必须使用逗号分隔,且逗号后不能有空格。

  • POINT_ADDRESS —街道地址(基于代表房屋和建筑位置的点)。
  • STREET_ADDRESS —与 POINT_ADDRESS 不同的街道地址,因为门牌号是由数字范围内插的。STREET_ADDRESS 匹配包括匹配街段的门牌号范围,而不包括内插的门牌号值。
  • STREET_INTERSECTION —包括街道交叉点和城市以及州和邮政编码信息(可选信息)的街道地址。这是从 STREET_ADDRESS 参考数据中获取的,例如 Redlands Blvd & New York St, Redlands, CA, 92373。
  • STREET_NAME —类似于 STREET_ADDRESS,但没有门牌号、行政区域和邮政编码(可选)的街道地址,例如 W Olive Ave, Redlands, CA, 92373。
  • LOCALITY —代表居民区的地名。
  • POSTAL —邮政编码。参考数据是邮政编码点,例如 90210 USA。
  • POINT_OF_INTEREST —感兴趣点。参考数据包括行政区域、地名、企业、地标和地理要素,例如星巴克。
  • DISTANCE_MARKER —用于表示沿某条街道的线性距离的街道地址(通常以公里或英里为单位,且指定了原点位置,如 Mile 25 I-5 N, San Diego, CA)。
String
location_type
(可选)

此参数对于支持 locationType 参数的定位器可用。可用于指定 PointAddress 匹配的首选输出几何。此参数的选项是街道位置的一侧,可用于路径或表示地址屋顶或宗地质心的位置。如果数据中不存在首选位置,则将返回默认位置。对于 Addr_type=PointAddress 的地理编码结果,X,Y 属性值用于描述沿着街道的地址的坐标,而 DisplayX 和 DisplayY 值用于描述屋顶或建筑物质心坐标。有关 reverseGeocode 的 locationType 参数的更多详细信息,请参阅 REST API Web 帮助。

此参数不受所有定位器支持。

  • ADDRESS_LOCATION —返回地理编码结果的几何,该几何可以表示地址位置,例如屋顶、建筑物质心或前门。
  • ROUTING_LOCATION —返回地理编码结果的几何,该几何表示靠近街道一侧的位置,可用于车辆配送。这是默认设置。
String

代码示例

ReverseGeocode 示例 1(Python 窗口)

以下 Python 窗口脚本演示了如何在即时模式下使用 ReverseGeocode 函数。

import arcpy
arcpy.env.workspace = "C:/ArcTutor/Geocoding/atlanta.gdb"
# Set local variables:
input_feature_class = "geocode_result"
address_locator = "C:/ArcTutor/Geocoding/Atlanta.loc"
result_feature_class = "customers_with_address"
arcpy.ReverseGeocode_geocoding(input_feature_class, address_locator, 
                               result_feature_class, "ADDRESS", "100 Meters")
ReverseGeocode 示例 2(独立脚本)

以下 Python 脚本演示了如何在独立脚本中使用 ReverseGeocode 函数。

# Description: 
# Reverse Geocode customer point locations using the ArcGIS World Geocoding Service using SignInToPortal and 
# Ready-To-Use-Services that returns multiple feature types and preferred location.
import arcpy
import os
arcpy.SignInToPortal_server("<Username>","<Password>", "https://geocode.arcgis.com/arcgis")
# Set workspace
arcpy.env.workspace = r"C:\arcgis\ArcTutor\Geocoding\atlanta.gdb"
# Set local variables
in_feature_class = "customers_ParcelBlk"
address_locator = "Ready-To-Use Services/Geocoding/ArcGIS World Geocoding Service.GeocodeServer"
out_feature_class = "customers_with_streets"
addr_type = "ADDRESS"
search_distance = "0 Meters"
feature_type = "STREET_ADDRESS;STREET_INTERSECTION"
location_type = "ROUTING_LOCATION"
# Perform Reverse Geocoding
arcpy.ReverseGeocode_geocoding(in_feature_class, address_locator, out_feature_class,
                               addr_type, search_distance, feature_type, location_type)
ReverseGeocode 示例 3(独立脚本)

以下 Python 脚本演示了如何在独立脚本中使用 ReverseGeocode 函数。

# Description: 
# Reverse Geocode customer point locations using the ArcGIS World Geocoding Service using an ArcGIS Server connection file
# that returns multiple feature types and preferred location.
# Import system modules import arcpy import os
# Set workspace arcpy.env.workspace = r"C:\arcgis\ArcTutor\Geocoding\atlanta.gdb"
# Set local variables in_feature_class = "customers_ParcelBlk"
# Create this ags connection file in ArcMap address_locator = r"C:/connection_files/arcgis on geocode.arcgis.com (user)/World.GeocodeServer"
out_feature_class = "customers_with_streets"
addr_type = "ADDRESS"
search_distance = "0 Meters"
feature_type = "STREET_ADDRESS;STREET_INTERSECTION"
location_type = "ROUTING_LOCATION"
# Perform Reverse Geocoding arcpy.ReverseGeocode_geocoding(in_feature_class, address_locator, out_feature_class,                               addr_type, search_distance, feature_type, location_type)

环境

  • 输出坐标系

许可信息

  • Basic: 是
  • Standard: 是
  • Advanced: 是

相关主题

  • 从某个位置获取地址
  • 地理编码工具箱概述

ArcGIS Desktop

  • 主页
  • 文档
  • 支持

ArcGIS 平台

  • ArcGIS Online
  • ArcGIS Desktop
  • ArcGIS Enterprise
  • ArcGIS for Developers
  • ArcGIS Solutions
  • ArcGIS Marketplace

关于 Esri

  • 关于我们
  • 招贤纳士
  • Esri 博客
  • 用户大会
  • 开发者峰会
Esri
分享您的想法。
Copyright © 2019 Esri. | 隐私政策 | 法律声明