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

摘要

创建复合地址定位器。一个复合定位器由两个或更多的定位器组成,这些定位器允许根据多个定位器来匹配地址。

了解有关复合定位器的详细信息

使用情况

  • 在创建复合地址定位器之前,请先使用创建定位器工具创建参与地址定位器。

  • 复合地址定位器的空间参考是必须的。除非在工具的环境设置中指定了其他输出坐标系,否则,将使用第一个参与地址定位器的空间参考。

参数

标注说明数据类型
地址定位器

参与地址定位器的顺序决定候选项的搜素方式以及地址的匹配方式。对单个地址进行地理编码时,除非为定位器指定了选择条件,否则将根据所有参与地址定位器来匹配地址。系统将根据参与地址定位器的列出顺序来显示找到的所有候选项。对地址表进行地理编码时,地址将自动与在前几个参与地址定位器中找到的第一个最佳候选项匹配。如果地址匹配失败,它将回退到列表中后面的定位器。

每个参与定位器都需要一个参考名称。该定位器名称即复合定位器所引用的名称。该名称不应包含空格或特殊符号。其最大长度为 14 个字符。

Value Table
字段映射

每个参与定位器所使用的输入字段与复合定位器的输入字段之间的映射。

由参与定位器生成的字段和字段内容。字段映射部分列出了所有的唯一输入字段,展开后,可看到每个参与地址定位器的所有输入字段(子字段)的列表。这些字段是复合地址定位器的输入字段。如果由于唯一名称是根据参与地址定位器进行填充的,因而产生了重复的字段(如 ZIP 和邮政编码),那么您可以对子字段进行分组,方法是将子字段拖放到相应的字段,或使用上箭头下箭头按钮来移动子字段。

Field Mappings
选择条件
(可选)

每个参与定位器的选择条件。每个参与定位器仅支持一个选择条件。

构建复合地址定位器时,您可能希望基于输入地址字段的值来指定所使用的地址定位器。例如,如果复合地址定位器使用包含某特定城市街道数据的定位器,则您可能希望过滤掉没有此特定城市名称的所有地址。使用选择条件将会排除不满足特定地址条件的参与地址定位器,从而提高地理编码过程的效率。例如,如果为某个街道地址定位器指定了选择条件 "City" = 'Atlanta',则只有包含城市名“Atlanta”的地址才会根据此定位器进行地理编码。

要指定选择条件,请在选择条件列中单击要应用此条件的地址定位器旁边的框。可在文本框中输入一个表达式(例如 "City" = 'Atlanta')或单击 ... 按钮打开指定定位器选择条件 对话框并定义相应的条件。

Value Table
输出复合地址定位器

要创建的复合地址定位器。ArcGIS Pro 仅支持保存在文件文件夹中的定位器。

Address Locator

arcpy.geocoding.CreateCompositeAddressLocator(in_address_locators, in_field_map, {in_selection_criteria}, out_composite_address_locator)
名称说明数据类型
in_address_locators
[[in_address_locator, name],...]

参与地址定位器的顺序决定候选项的搜素方式以及地址的匹配方式。对单个地址进行地理编码时,除非为定位器指定了选择条件,否则将根据所有参与地址定位器来匹配地址。系统将根据参与地址定位器的列出顺序来显示找到的所有候选项。对地址表进行地理编码时,地址将自动与在前几个参与地址定位器中找到的第一个最佳候选项匹配。如果地址匹配失败,它将回退到列表中后面的定位器。

每个参与定位器都需要一个参考名称。该定位器名称即复合定位器所引用的名称。该名称不应包含空格或特殊符号。其最大长度为 14 个字符。

Value Table
in_field_map

每个参与定位器所使用的输入字段与复合地址定位器的输入字段之间的映射。

Field Mappings
in_selection_criteria
[[in_address_locator, selection_criteria],...]
(可选)

每个参与定位器的选择条件。每个参与地址定位器仅支持一个选择条件。

使用选择条件将会排除不满足特定地址条件的参与地址定位器,从而提高地理编码过程的效率。有关如何在地理编码过程中使用选择条件的详细信息,请参阅将多个定位器组合成复合定位器的基础知识主题。

Value Table
out_composite_address_locator

要创建的复合地址定位器。ArcGIS Pro 仅支持保存在文件文件夹中的定位器。

Address Locator

代码示例

CreateCompositeAddressLocator 示例(Python 窗口)

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

# Create a composite address locator using the StreetMap US Streets and Tutorial Atlanta locators.
# Import system modules
import arcpy 
arcpy.env.workspace = "C:/ArcTutor/Geocoding/atlanta/"
# Set local variables:
US_Streets_locator = "C:/dm_stmap_dvd/streetmap_na/data/Street_Addresses_US"
Atlanta_locator = Atlanta
Atlanta_Composite = US_Atlanta_Composite
arcpy.CreateCompositeAddressLocator_geocoding("Atlanta_locator Atlanta;US_Streets_locator US_Streets", "Address 'Street or Intersection' true true false 100 Text 0 0 ,First,#,Atlanta_locator,Address,0,0,US_Streets_locator,Street,0,0;City 'City or Placename' true true false 40 Text 0 0 ,First,#,Atlanta_locator,City,0,0,US_Streets_locator,City,0,0;State 'State' true true false 20 Text 0 0 ,First,#,Atlanta_locator,State,0,0,US_Streets_locator,State,0,0;Zip 'Zipcode' true true false 10 Text 0 0 ,First,#,Atlanta_locator,Zip,0,0,US_Streets_locator,ZIP,0,0","Atlanta '\"City\" = 'Atlanta'';US_Streets #",Atlanta_Composite)

许可信息

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

相关主题