标注 | 说明 | 数据类型 |
地址定位器 | 将用于创建复合定位器的定位器。 参与定位器的顺序决定了候选项的搜索方式以及地点或地址的匹配方式。 对单个地点或地址进行地理编码时,除非为定位器指定了选择条件,否则将根据所有参与地点或地址定位器来匹配地址。 系统将根据参与定位器的列出顺序来显示找到的所有候选项。 对地点或地址表进行地理编码时,地点或地址将自动与在前几个参与定位器中找到的第一个最佳候选项匹配。 如果地点或地址匹配失败,它将回退到列表中后面的定位器。 每个参与的定位器都需要一个参考名称。 该定位器名称即复合定位器名称。 名称中不能使用空格或特殊符号。 最大名称长度: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 | 每个参与定位器所使用的输入字段与复合地址定位器的输入字段之间的映射。 对于每个定位器输入字段,字段信息的格式应如下示例字符串所示:"Address 'Address or Intersection' true true false 4 Text 0 0 ,First,'#',Street" 此字符串中的信息由以下内容组成:
| Field Mappings |
in_selection_criteria [[in_address_locator, selection_criteria],...] (可选) | 每个参与定位器的选择条件。 每个参与地址定位器仅可添加一个选择条件。 使用选择条件将会排除不满足特定地址条件的参与地址或地点定位器,从而提高地理编码过程的效率。 有关如何在地理编码过程中使用选择条件的详细信息,请参阅将多个定位器组合成复合定位器的基础知识。 | Value Table |
out_composite_address_locator | 将创建的复合地址定位器。 ArcGIS Pro 仅支持保存在文件文件夹中的定位器。 | Address Locator |
代码示例
以下 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
#Field mapping
address_field_map = "Address 'Street or Intersection' true true false 100 Text 0 0 ,First,#,Atlanta_locator,Address,0,0,US_Streets_locator,Street;"
city_field_map = "City 'City or Placename' true true false 40 Text 0 0 ,First,#,Atlanta_locator,City,0,0,US_Streets_locator,City;"
state_field_map = "State 'State' true true false 20 Text 0 0 ,First,#,Atlanta_locator,State,0,0,US_Streets_locator,State;"
zip_field_map = "Zip 'Zipcode' true true false 10 Text 0 0 ,First,#,Atlanta_locator,Zip,0,0,US_Streets_locator,ZIP"
composite_locator_field_map = address_field_map + city_field_map + state_field_map + zip_field_map
arcpy.CreateCompositeAddressLocator_geocoding("Atlanta_locator Atlanta;US_Streets_locator US_Streets", composite_loactor_field_map,"Atlanta '\"City\" = 'Atlanta'';US_Streets #",Atlanta_Composite)
许可信息
- Basic: 是
- Standard: 是
- Advanced: 是