摘要
创建地址定位器。地址定位器可用于查找某个地址的位置、对地址表进行地理编码或获取某个位置点的地址。
用法
可在参考数据所在的工作空间中创建地址定位器,也可在所指定的地理数据库或文件夹等其他工作空间中创建地址定位器。为获取最佳做法和更好的地理编码性能,建议将定位器存储于文件夹中而不是地理数据库中。
参考数据集的角色定义了其作为地址定位器的参考数据的角色。ArcGIS 中的地址定位器样式使用以下值来描述参考数据集的角色:
- 主表 - 定义定位器的主参考数据集要素类(例如,街道中心线要素类)。此表是必须的。
- 备用名称表 - 定义一个备用街道名称表,用来存储街道或点要素的备用名称。如果要包含一个可用于连接至主表的 JoinID,则需要此表。此表为可选表。
- 别名表 - 定义一个地名别名表,用来存储地名以及名称对应的实际地址。用户可以使用地名(如 Field Museum)或地址(如 1400 S Lakeshore Drive Chicago, IL 60605)来查找相应的位置。此表为可选表。
自定义定位器样式或第三方提供的定位器样式可能会为参考数据要素类和表定义其他类型的角色。有关这些定位器为参考数据集所定义的角色的信息,请参阅相应的文档。
不能使用此工具创建复合地址定位器。要创建复合地址定位器,请使用创建复合地址定位器工具。
语法
CreateAddressLocator_geocoding (in_address_locator_style, in_reference_data, in_field_map, out_address_locator, {config_keyword}, {enable_suggestions})
参数 | 说明 | 数据类型 |
in_address_locator_style | 构建新的地址定位器时所依据的地址定位器样式。 | Address Locator Style |
in_reference_data [[Reference Data, {Role}],...] | 地址定位器要使用的参考数据要素类和表及其角色。
自定义定位器样式或第三方提供的定位器样式可能会为参考数据集定义一组其他的角色。 | Value Table |
in_field_map | 地址定位器样式所使用的参考数据字段与参考数据集中各字段之间的映射。此参数中的每个字段映射均采用如下格式:
其中,<locator field alias> 是地址定位器使用的参考数据字段的别名,<dataset field name> 是参考数据集中字段的名称。名称旁带有星号(“*”)的字段是地址定位器样式的必填字段。 VISIBLE - 字段可见;NONE - 几何是原始值的副本。 如果不想将地址定位器样式所使用的可选参考数据字段映射到参考数据集中的字段,请使用“<None>”来代替字段名,以此指定不存在任何映射。 要确定定位器样式所使用的参考数据字段的别名,请打开创建地址定位器工具对话框并选择相应的定位器样式。“字段映射”控件的字段名列中显示的名称就是字段的别名。 | Field Info |
out_address_locator | 要创建的地址定位器。 | Address Locator |
config_keyword (可选) | 配置关键字,用来确定关系数据库管理系统 (RDBMS) 中表的存储参数,仅适用于企业级地理数据库和文件地理数据库。 | String |
enable_suggestions (可选) | 支持针对客户端应用程序中的用户输入生成逐字符的自动完成建议。此功能通过在获取建议的匹配前减少需要输入的字符数来改善交互式搜索体验。该想法是这样的:客户端应用程序提供的建议列表可通过用户输入的各字符进行更新,直到在列表中返回要查找的位置。 仅可使用 Esri 提供的定位器样式按照启用的建议构建定位器。仅当将此类定位器作为地理编码服务发布时才会显示建议功能。启用建议的定位器只能保存在文件夹中;不能保存在地理数据库中。
| 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 the same file geodatabase.
# Import system modules
import arcpy
from arcpy import env
env.workspace = "C:/ArcTutor/Geocoding/atlanta.gdb"
arcpy.CreateAddressLocator_geocoding("US Address - Dual Ranges", "streets Primary", "'Feature ID' FeatureID VISIBLE NONE;'*From Left' L_F_ADD VISIBLE NONE;'*To Left' L_T_ADD VISIBLE NONE;'*From Right' R_F_ADD VISIBLE NONE;'*To Right' R_T_ADD VISIBLE NONE;'Prefix Direction' PREFIX VISIBLE NONE;'Prefix Type' PRE_TYPE VISIBLE NONE;'*Street Name' NAME VISIBLE NONE;'Suffix Type' TYPE VISIBLE NONE;'Suffix Direction' SUFFIX VISIBLE NONE;'Left City or Place' CITYL VISIBLE NONE;'Right City or Place' CITYR VISIBLE NONE;'Left Zipcode' ZIPL VISIBLE NONE;'Right Zipcode' ZIPR VISIBLE NONE;'Left State' State_Abbr VISIBLE NONE;'Right State' State_Abbr VISIBLE NONE", Atlanta_AddressLocator, "", "DISABLED")
环境
许可信息
- ArcGIS for Desktop Basic: 是
- ArcGIS for Desktop Standard: 是
- ArcGIS for Desktop Advanced: 是