创建地址定位器 (地理编码)

描述

创建地址定位器。地址定位器可用于查找某个地址的位置、对地址表进行地理编码或获取某个位置点的地址。

旧版本:

此工具已弃用。此功能已由创建定位器工具替代。

使用方法

  • 可在指定的文件夹中创建地址定位器。在 ArcGIS Pro 中,定位器必须存储在文件夹中,而非地理数据库中。

  • 参考数据集的角色定义了其用作地址定位器的参考数据。ArcGIS Pro 提供的定位器样式使用以下值来描述参考数据集的角色:

    • 主表 - 定义定位器的主参考数据集要素类(例如,街道中心线要素类)。此表是必须的。
    • 备用城市名称表 - 定义一个备用城市名称表,用来存储城市或地名的备用名称。如果要包含一个可用于连接至主表的 JoinID,则需要此表。此表为可选表。
    • 备用名称表 - 定义一个备用街道名称表,用来存储街道或点要素的备用名称。如果要包含一个可用于连接至主表的 JoinID,则需要此表。此表为可选表。
    • 别名表 - 定义一个地名别名表,用来存储地名以及名称对应的实际地址。用户可以使用地名(如 Field Museum)或地址(如 1400 S Lakeshore Drive Chicago, IL 60605)来查找相应的位置。此表为可选表。
  • 表示为服务的要素类和表作为数据类型,不支持用作参考数据。

  • 自定义定位器样式或第三方提供的定位器样式可能会为参考数据要素类和表定义其他类型的角色。有关这些定位器为参考数据集所定义的角色的信息,请参阅相应的文档。

  • 不能使用此工具创建复合定位器。要创建复合定位器,请使用创建复合地址定位器工具。

语法

arcpy.geocoding.CreateAddressLocator(in_address_locator_style, in_reference_data, in_field_map, out_address_locator, {config_keyword}, {enable_suggestions})
参数说明数据类型
in_address_locator_style

构建新的地址定位器时所依据的地址定位器样式。

  • US Address-Dual Ranges - 当参考数据为包含街段两侧信息的门牌号范围的线要素类,并且您要搜索街道指定侧上的地址或街道交叉点时使用。
  • US Address-One Range - 当参考数据为包含每个路段的某一门牌号范围的线要素类,并且您要搜索地址(无需指定侧)或街道交叉点时使用。
  • US Address-Single House - 当参考数据为每个要素表示单个地址的点要素类或面要素类,并且您要搜索宗地、建筑物或地址点的确切地址时使用。
  • US Address-Single House Subadress - 当参考数据为每个要素表示具有可选子地址元素的单个地址的点要素类或面要素类,并且您要搜索公寓单元、联排别墅、复式别墅或购物广场内的商店时使用。
  • US Address-Street Name - 当参考数据为线要素类,并且您要仅使用街道名称搜索地址时使用。无需地址范围信息。
  • US Address-City State - 当参考数据为点要素类或面要素类,并且您要搜索某个州的特定城市时使用。
  • US Address-ZIP 5 Digit - 当参考数据为每个要素表示邮编区域的质心或地理区域的点要素类或面要素类,并且您要搜索特定的邮政编码位置时使用。
  • General-Gazetteer - 当参考数据为每个要素表示任意唯一要素的点要素类或面要素类,并且您要搜索地名、地标、水表或任意唯一值时使用。
Address Locator Style
in_reference_data
[[reference_data, {role}],...]

地址定位器要使用的参考数据要素类和表及其角色。

  • Primary table - 定义定位器的主参考数据集要素类(例如,街道中心线要素类)。此表是必须的。
  • Alternate City Name table - 定义一个备用城市名称表,用来存储城市或地名的备用名称。如果要包含一个可用于连接至主表的 JoinID,则需要此表。此表为可选表
  • Alternate Name table - 定义一个备用街道名称表,用来存储街道或点要素的备用名称。如果要包含一个可用于连接至主表的 JoinID,则需要此表。此表为可选表。
  • Alias table - 定义一个地名别名表,用来存储地名以及名称对应的实际地址。用户可以使用地名(如 Field Museum)或地址(如 1400 S Lakeshore Drive Chicago, IL 60605)来查找相应的位置。此表为可选表。

表示为服务的要素类和表作为数据类型,不支持用作参考数据。

自定义定位器样式或第三方提供的定位器样式可能会为参考数据集定义一组其他的角色。

注:

如果使用包含数百万个要素的参考数据创建地址定位器,则包含临时目录的驱动上的可用磁盘空间必须至少为数据大小的 3 到 4 倍,原因是在将定位器复制到输出位置之前,需将用于构建定位器的文件写入此位置。如果没有足够的磁盘空间,则一旦空间不足,工具将失败。此外,在创建大型定位器时,计算机必须具备足够的 RAM,才能处理占用较大内存的进程。

Value Table
in_field_map

地址定位器样式所使用的参考数据字段与参考数据集中各字段之间的映射。此参数中的每个字段映射均采用如下格式:

# <locator field alias> <dataset field name>
# This shows as an example:
reference_data_field_map = """
"'Feature ID' FeatureID;'*From Left' L_F_ADD;
'*To Left' L_T_ADD;'*From Right' R_F_ADD;
'*To Right' R_T_ADD;'Prefix Direction' PREFIX;
'Prefix Type' PRE_TYPE;'*Street Name' NAME;
'Suffix Type' TYPE;'Suffix Direction' SUFFIX;
'Left City or Place' CITYL;'Right City or Place' 
CITYR;'Left ZIP Code' ZIPL;'Right ZIP Code' 
ZIPR;'Left State' State_Abbr;'Right State' State_Abbr"
"""

其中,<locator field alias> 是地址定位器使用的参考数据字段的别名,<dataset field name> 是参考数据集中字段的名称。名称旁带有星号 (*) 的字段是地址定位器样式必需的字段。

如果不想将地址定位器样式所使用的可选参考数据字段映射到参考数据集中的字段,请使用 <None> 来代替字段名,以此指定不存在任何映射。

要确定定位器样式所使用的参考数据字段的别名,请打开创建地址定位器工具并选择相应的定位器样式。字段映射参数的字段名称列中的名称就是字段的别名。

Field Info
out_address_locator

要在文件夹中创建的定位器。将定位器保存到文件夹中后,即可利用性能改进、多线程功能和建议支持。创建定位器后,可以在定位器设置中修改其他属性和选项。

Address Locator
config_keyword
(可选)

此参数在 ArcGIS Pro 中不起作用。保留它是为了支持向后兼容。

String
enable_suggestions
(可选)

指定是否针对客户端应用程序中的用户输入生成逐字符的自动完成建议。此功能通过在获取建议的匹配前减少必须输入的字符数来改善交互式搜索体验。该想法是这样的:客户端应用程序提供的建议列表可通过用户输入的各字符进行更新,直到在列表中返回要查找的位置。

仅可使用 Esri 提供的定位器样式按照启用的建议构建定位器。仅当将此类定位器共享至您的门户时才会显示建议功能。

  • ENABLED针对定位器启用建议。
  • DISABLED针对定位器禁用建议。这是默认设置。
Boolean

代码示例

CreateAddressLocator 示例(Python 窗口)

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

# Create a street address locator using a street centerline feature class 
# in a file geodatabase as reference data.
# The new address locator will be created in a file folder.
# Import system modules
import arcpy
arcpy.env.workspace = "C:/ArcTutor/Geocoding/atlanta"
arcpy.CreateAddressLocator_geocoding("US Address - Dual Ranges", "streets.shp 'Primary table'", "'Feature ID' FID;'*From Left' L_F_ADD;'*To Left' L_T_ADD;'*From Right' R_F_ADD;'*To Right' R_T_ADD;'Prefix Direction' PREFIX;'Prefix Type' PRE_TYPE;'*Street Name' NAME;'Suffix Type' TYPE;'Suffix Direction' SUFFIX;'Left City or Place' CITYL;'Right City or Place' CITYR;'Left ZIP Code' ZIPL;'Right ZIP Code' ZIPR;'Left State' State_Abbr;'Right State' State_Abbr", "Atlanta_AddressLocator", "", "DISABLED")

许可信息

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

相关主题