标注 | 说明 | 数据类型 |
地址定位器 | 将用于创建复合定位器的定位器。 参与定位器的顺序决定候选项的搜素方式以及地点或地址的匹配方式。 对单个地点或地址进行地理编码时,除非为定位器指定了选择条件,否则将根据所有参与定位器来匹配地点或地址。 系统将根据参与定位器的列出顺序来显示找到的所有候选项。 对地址或地点表进行地理编码时,地址或地点将自动与在前几个参与定位器中找到的第一个最佳候选项匹配。 如果地址或地点匹配失败,它将回退到列表中后面的定位器。 每个参与定位器都需要一个参考名称。 这是复合定位器所引用的定位器的名称。 切勿在名称中使用空格或特殊符号。 名称的最大长度为 14 个字符。 | Value Table |
字段映射 | 每个参与定位器所使用的输入字段与复合定位器的输入字段之间的映射。 这包含由参与定位器生成的字段和字段内容。 字段映射参数列出了所有的唯一输入字段。 在输入字段列的左侧,提供了复合定位器的所有输入字段列表。 当您选择一个字段时,您可以在子字段和属性列下查看映射到该字段的每个参与定位器的字段。 这些字段是复合定位器的输入字段。 警告:请勿从字段映射参数中删除任何定位器字段。 所创建的不包含所有定位器字段的复合定位器将无效。 | Field Mappings |
选择条件 (可选) | 每个参与定位器的选择条件。 每个参与定位器仅支持一个选择条件。 构建复合定位器时,您可以基于输入地址字段的值来指定所使用的定位器。 例如,如果复合定位器使用包含某特定城市街道数据的定位器,则您可以过滤掉没有此城市名称的所有地址或地点。 使用选择条件将会排除不满足特定地址条件的参与定位器,从而提高地理编码过程的效率。 例如,如果为某个街道地址定位器指定了选择条件 "City" = 'Atlanta',则只有包含城市名 "Atlanta" 的地址才会根据此定位器进行地理编码。 要指定选择条件,请在选择条件列下,选中要应用此条件的定位器复选框。 可在文本框中输入一个表达式(例如 "City" = 'Atlanta')或单击“更多”按钮打开指定定位器选择条件对话框并定义相应的条件。 | Value Table |
输出复合地址定位器 | 将创建的复合地址定位器。 ArcGIS AllSource 仅支持将定位器保存到文件文件夹中。 | Address Locator |
结果顺序 (可选) | 指定可以与地址匹配的参与定位器的回退顺序,从而增加在地理编码时找到最佳匹配地址的可能性。
| String |
使用情况
参数
arcpy.geocoding.CreateCompositeAddressLocator(in_address_locators, in_field_map, {in_selection_criteria}, out_composite_address_locator, {in_result_ordering})
名称 | 说明 | 数据类型 |
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 AllSource 仅支持将定位器保存到文件文件夹中。 | Address Locator |
in_result_ordering (可选) | 指定可以与地址匹配的参与定位器的回退顺序,从而增加在地理编码时找到最佳匹配地址的可能性。
要生成正确 Python 语法,首先使用从地理处理窗格中运行工具。 然后打开运行菜单,选择复制 Python 命令。 | String |
代码示例
以下 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.geocoding.CreateCompositeAddressLocator("Atlanta_locator Atlanta;US_Streets_locator US_Streets", composite_loactor_field_map,"Atlanta '\"City\" = 'Atlanta'';US_Streets #",Atlanta_Composite)