将街道分配给点 (地理编码)

摘要

将使用地址信息(如门牌号和街道名称)以及距离来查找点的最佳街道要素候选项。 地址信息的优先级高于距离。

此工具可用于将点地址链接到街道数据。 通过比较点和街道要素的地址信息以及它们之间的距离来建立链接。 最佳候选项之间的名称最相似,但也应该很接近。 建立链接后,可以为点地址生成街道对象 ID、街道一侧和街道旁的新点。 附加属性也可以从街道传输到点地址。 该工具的一些使用实例包括:将街道的属性追加到点地址(反之亦然)、生成在同名街道(可用作路径选择位置)旁边的点,或者生成鱼骨图来说明点地址及其关联街道要素之间的关系。

对于更多信息,请参阅根据街道名称和邻近程度将街道分配给点

插图

分配街道至点工具图示
分配街道至点工具,通过比较点和街道要素的街道名称以及它们之间的距离,将点地址链接到街道要素。

使用情况

  • 此工具将接受单部件点和线要素类作为输入。

  • 此工具可以帮助为街道参考数据和点参考数据的备用名称分配一个连接 ID,以便两个数据集具有相同的连接 ID 来链接到备用街道名称表。

  • 当输入点要素几何位于屋顶或宗地质心时,使用此工具保存街道上相应点的坐标,以便与定位器的首选位置属性配合使用。

  • 当输入点和线要素类存储在地理数据库中且输出也保存到地理数据库时,此工具的性能最佳。

  • 对于点字段映射街道字段映射参数值,请在两个数据集上使用将地址拆分为组件工具,并将该工具的输出结果用作将街道分配给点工具的输入点要素街道要素参数值以获得优化的街道分配。

  • 对于完全优化的匹配,请确保为点字段映射街道字段映射参数值映射了城市、州/省/自治区/直辖市、国家/地区代码以及语言代码字段。 对于部分优化的匹配,请确保映射了国家/地区代码和语言代码字段,或者在国家或地区参数中指定国家,在语言代码参数中指定语言。

  • 为了提高质量,请确保为点字段映射街道字段映射参数值指定输入点和街道要素类中的门牌号和街道名称字段。

  • 为了帮助规划工作流,输出提供了点所在街道一侧的指示器。 通过此指示器,可在构建定位器时确保该定位器在街道的正确一侧显示结果。

  • 输出结果是从输入点要素复制的所有要素和属性,其中包括从链接街道中通过街道字段参数值追加到点要素上的指定字段的属性值。 这可以包括来自输入街道要素类的街道 ID 字段。

  • 输出将默认包含以下字段:

    • Street_ObjectID- 来自与输入点关联的街道要素参数值的街道段的对象 ID。
      注:

      如果输入街道要素类包含具有街道 ID 的字段,请选择该字段作为可在查看结果时使用的街道字段参数值。

    • InputPoint_X- 点要素类的空间参考中输入点要素参数值的 x 坐标。
    • InputPoint_Y- 点要素类的空间参考中输入点要素参数值的 y 坐标。
    • Street_X- 点要素类的空间参考中街道要素参数值的链接街道上输入点位置的 x 坐标。
    • Street_Y- 点要素类的空间参考中街道要素参数值的链接街道上输入点位置的 y 坐标。
    • Street_Side- 相对于要素数字化方向,输入点所在的街道一侧。 该值不是相对于沿街道出行的方向。 此属性具有下列值之一:
      • L - 该点与街道左侧相连。
      • R - 该点与街道右侧相连。
      • NULL - 该点未连接到街道。
    • Street_MatchReason- 指示运行该工具后,如何将输入点要素参数值链接或匹配到街道要素参数值。 此属性可具有下列值中的一个:
      • Match_FullStAddr_AddNum - 使用所有街道地址组件将点与街道进行匹配,并且门牌号在所链接街道的门牌号范围内。
      • Match_FullStAddr - 所有街道地址组件均用于将点与街道进行匹配。
      • Match_Enhanced_AddNum - 所有街道地址组件和门牌号均用于将点与街道进行匹配。
      • Match_StName_AddNum - 仅使用街道名称组件将点链接到街道,且门牌号在链接街道的门牌号范围内。
      • Match_StName - 仅使用街道名称组件将点与街道链接起来。
      • Match_Distance_AddNum - 使用距离将点链接到街道,因为点和街道之间的街道名称组件不匹配,但门牌号在链接街道的门牌号范围内。
      • Match_Distance - 使用距离将点链接到街道,因为点和街道之间的街道名称值不匹配。
      • Unmatched - 根据距离或街道地址组成部分,该点与街道不匹配。
        注:

        当点与街道不匹配时,默认输出字段和选定街道字段将具有 NULL 属性,但 InputPoint_XInputPoint_Y 字段将使用输入点要素类的坐标进行填充。

    • Street_Distance - 从输入点到链接街道上最近位置的距离(以米为单位)。

  • 当字段的值为 Street_MatchReasonMatch_Distance_AddNumMatch_DistanceUnmatched 时,查看输出点参数值的结果。 在地图上直观地显示点与街道之间的链接方式,可以更轻松地查看结果。

  • 该工具支持并行处理。 当未设置并行处理因子环境(默认)时,并行处理会根据表的大小和逻辑核心的数量进行缩放。 对于少于 50 行的数据集,仅使用一个进程。

参数

标注说明数据类型
输入点要素

输入点要素类或图层。

Feature Layer
点字段映射

来自点要素的街道地址组件字段的映射,用于将完整街道名称与街道要素参数值中的完整街道名称进行比较,计算该点所链接到的街道段。

要从输入点要素参数值中选择用于将点链接到街道的地址组件,请执行以下操作:

  • 字段名称列的下拉列表中选择地址组件。
  • 数据字段列下,从下拉列表中选择包含相应地址组件的点要素类的字段。

可用的地址组件字段如下:

  • 街道前缀方向 - 街道名称前面的方向,例如 W. Redlands Blvd. 中的 W。
  • 街道前缀类型 - 街道名称前面的街道类型,如 Avenue B 中的 Avenue。
  • 街道名称 - 街道的名称,如 Cherry Rd 中的 Cherry。
  • 街道类型 - 街道名称后面的街道类型,如 New York St. 中的 St.
  • 街道方向 - 街道名称后面的方向,如 Bridge St. NW 中的 NW。
  • 街道全名 - 地址的完整街道名称,例如 S. Orange St.
  • 城市 - 与地址关联的城市,例如 380 New York St., Redlands, Ca 中的 Redlands。
  • 州/省/自治区/直辖市 - 与地址关联的州/省/自治区/直辖市,例如 380 New York St., Redlands, Ca 中的 Ca。
  • 国家/地区代码 - 国家/地区的三字符代码,例如 CAN 对应加拿大。
  • 语言代码 - 表示地址的语言的三字符语言代码,例如 ENG 对应英语。
Value Table
街道要素

输入街道要素类或图层,其属性将被分配给输入点要素参数值。

Feature Layer
街道字段映射

来自街道要素的街道地址组件、城市、州/省/自治区/直辖市、国家/地区代码和语言代码字段的映射,用于将完整街道名称与输入点要素参数值中的完整街道名称进行比较,计算该点所链接到的街道段。

要从街道要素参数值中选择用于将点链接到街道的地址组件,请执行以下操作:

  • 字段名称列的下拉列表中选择地址组件。
  • 数据字段列下,从下拉列表中选择包含相应地址组件的街道要素类的字段。

数据字段下拉列表中,从街道要素类中选择与字段名称列中列出的街道地址组件相对应的字段。 可用的地址组件字段如下:

  • 街道前缀方向 - 街道名称前面的方向,例如 W. Redlands Blvd. 中的 W。
  • 街道前缀类型 - 街道名称前面的街道类型,如 Avenue B 中的 Avenue。
  • 街道名称 - 街道的名称,如 Cherry Rd 中的 Cherry。
  • 街道类型 - 街道名称后面的街道类型,如 New York St. 中的 St.
  • 街道方向 - 街道名称后面的方向,如 Bridge St. NW 中的 NW。
  • 街道全名 - 地址的完整街道名称,例如 S. Orange St.
  • 左侧门牌号始于 - 表示街道左侧门牌号范围的起始数字的值。
  • 左侧门牌号止于 - 表示街道左侧门牌号范围的结束数字的值。
  • 右侧门牌号始于 - 表示街道右侧门牌号范围的起始数字的值。
  • 右侧门牌号止于 - 表示街道右侧门牌号范围的结束数字的值。
  • 左侧城市 - 表示与街道左侧地址关联的城市的值。
  • 右侧城市 - 表示与街道右侧地址关联的城市的值。
  • 左侧州/省/自治区/直辖市 - 表示与街道左侧地址关联的州/省/自治区/直辖市的值。
  • 右侧州/省/自治区/直辖市 - 表示与街道右侧地址关联的州/省/自治区/直辖市的值。
  • 国家/地区代码 - 表示国家/地区的三字符代码的值,例如 CAN 对应加拿大。
  • 语言代码 - 表示地址的三字符语言代码的值,例如 ENG 对应英语。
Value Table
输出点

包含分配给该点的街道字段的输出点要素类。

Feature Class
街道字段
(可选)

街道要素参数值中的字段将被分配给输出点参数值。 从输入街道要素中选择包含要分配给链接点要素的属性的字段,例如包含街道 ID 值的字段。 所选字段将添加到输出点参数值。

Field
距离分析
(可选)

用于查找距离点要素最近的街道要素的距离。 距离限制越高,工具运行所需的时间越长,但匹配的质量会提高。 默认值是 100 米。

Double
输出几何
(可选)

指定将包含在输出点要素类中的几何。

  • 输入点几何原始输入点要素类的几何将包含在输出点要素类中。
  • 街道点几何链接点的街道位置的几何将包含在输出点要素类中。
String
国家/地区
(可选)

指定将特定于国家/地区的逻辑应用于输入数据的位置,以便将街道段属性分配给点要素。

默认值为操作系统的区域设置。 可通过使用 <按数据中所定义的方式> 选项并从点字段映射街道字段映射参数中映射输入点要素街道要素参数的值对其进行指定,或者可以通过指定国家/地区选项将其应用于整个数据集。

  • <按数据中所定义的方式>将使用在每个要素的参考数据中定义的三字符国家/地区代码值。
  • 美属萨摩亚美属萨摩亚
  • 澳大利亚澳大利亚
  • 奥地利奥地利
  • 比利时比利时
  • 加拿大加拿大
  • 瑞士瑞士
  • 捷克捷克
  • 德国德国
  • 西班牙西班牙
  • 爱沙尼亚爱沙尼亚
  • 法国法国
  • 大不列颠大不列颠
  • 关岛关岛
  • 印度印度
  • 以色列以色列
  • 意大利意大利
  • 日本日本
  • 韩国韩国
  • 立陶宛立陶宛
  • 拉脱维亚拉脱维亚
  • 北马里亚纳群岛北马里亚纳群岛
  • 荷兰荷兰
  • 挪威挪威
  • 波多黎各波多黎各
  • 瑞典瑞典
  • 美属维京群岛美属维京群岛
  • 美国美国
  • 美属边疆群岛美属边疆群岛
  • 南非南非
String
语言代码
(可选)

指定将特定于语言的逻辑应用于输入数据的位置,以便将街道段属性分配给点要素。

默认值为操作系统的区域设置。 可通过使用 <按数据中所定义的方式> 选项并从点字段映射街道字段映射参数中映射输入点要素街道要素参数的值对其进行指定,或者可以通过指定语言选项将其应用于整个数据集。

  • <按数据中所定义的方式>将使用在每个要素的参考数据中定义的三字符语言代码值。
  • 巴斯克语巴斯克语
  • 加泰罗尼亚语加泰罗尼亚语
  • 捷克语捷克语
  • 荷兰语荷兰语
  • 英语英语
  • 爱沙尼亚语爱沙尼亚语
  • 法语法语
  • 德语德语
  • 加利西亚语加利西亚语
  • 希伯来语希伯来语
  • 意大利语意大利语
  • 日语日语
  • 朝鲜语朝鲜语
  • 拉脱维亚语拉脱维亚语
  • 立陶宛语立陶宛语
  • 挪威语挪威语
  • 西班牙语西班牙语
  • 瑞典语瑞典语
String

arcpy.geocoding.AssignStreetsToPoints(in_point_features, point_field_mapping, in_street_features, street_field_mapping, out_points, {street_fields}, {distance}, {output_geometry}, {country_code}, {language_code})
名称说明数据类型
in_point_features

输入点要素类或图层。

Feature Layer
point_field_mapping
[point_field_mapping,...]

来自点要素的街道地址组件字段的映射,用于将完整街道名称与 in_street_features 参数值中的完整街道名称进行比较,计算该点所链接到的街道段。

使用可用的地址组件从 in_point_features 参数值中提供街道地址组件字段名称和数据字段名称,如下所示:

  • STREET_PREFIX_DIR - 街道名称前面的方向,如 W. Redlands Blvd 中的 W。
  • STREET_PREFIX_TYPE - 街道名称前面的街道类型,如 Avenue B 中的 Avenue。
  • STREET_NAME - 街道的名称,如 Cherry Rd 中的 Cherry。
  • STREET_SUFFIX_TYPE - 街道名称后面的街道类型,如 New York St. 中的 St.
  • STREET_SUFFIX_DIR - 街道名称后面的方向,如 Bridge St. NW 中的 NW。
  • STREET_FULL_NAME - 地址的完整街道名称,例如 S. Orange St.
  • HOUSE_NUMBER - 与地址关联的门牌号,例如 380 New York St. 中的 380。
  • CITY - 与地址关联的城市,例如 380 New York St., Redlands, Ca 中的 Redlands。
  • STATE - 与地址关联的州/省/自治区/直辖市,例如 380 New York St., Redlands, Ca 中的 Ca。
  • COUNTRY_CODE - 国家/地区的三字符代码,例如 CAN 对应加拿大。
  • LANGUAGE_CODE - 表示地址的语言的三字符语言代码,例如 ENG 对应英语。

Value Table
in_street_features

输入街道要素类或图层,其属性将被分配给 in_point_features 参数值。

Feature Layer
street_field_mapping
[street_field_mapping,...]

来自街道要素的街道地址组件字段的映射,用于将完整街道名称与 in_point_features 参数值中的完整街道名称进行比较,计算该点所链接到的街道段。

使用可用的地址组件从 in_street_features 参数值中提供街道地址组件字段名称和数据字段名称,如下所示:

  • STREET_PREFIX_DIR - 街道名称前面的方向,如 W. Redlands Blvd 中的 W。
  • STREET_PREFIX_TYPE - 街道名称前面的街道类型,如 Avenue B 中的 Avenue。
  • STREET_NAME - 街道的名称,如 Cherry Rd 中的 Cherry。
  • STREET_SUFFIX_TYPE - 街道名称后面的街道类型,如 New York St. 中的 St.
  • STREET_SUFFIX_DIR - 街道名称后面的方向,如 Bridge St. NW 中的 NW。
  • STREET_FULL_NAME - 地址的完整街道名称,例如 S. Orange St.
  • HOUSE_NUMBER_FROM_LEFT - 表示街道左侧门牌号范围的起始数字的值。
  • HOUSE_NUMBER_TO_LEFT - 表示街道左侧门牌号范围的结束数字的值。
  • HOUSE_NUMBER_FROM_RIGHT - 表示街道右侧门牌号范围的起始数字的值。
  • HOUSE_NUMBER_TO_RIGHT - 表示街道右侧门牌号范围的结束数字的值。
  • LEFT_CITY - 表示与街道左侧地址关联的城市的值。
  • RIGHT_CITY - 表示与街道右侧地址关联的城市的值。
  • LEFT_STATE - 表示与街道左侧地址关联的州/省/自治区/直辖市的值。
  • RIGHT_STATE - 表示与街道右侧地址关联的省/自治区/直辖市的值。
  • COUNTRY_CODE - 表示国家/地区的三字符代码的值,例如 CAN 对应加拿大。
  • LANGUAGE_CODE - 表示地址的三字符语言代码的值,例如 ENG 对应英语。
Value Table
out_points

包含分配给该点的街道字段的输出点要素类。

Feature Class
street_fields
[street_fields,...]
(可选)

in_street_features 参数值中的字段将被分配给 out_points 参数值。 从输入街道要素中指定包含要分配给链接点要素的属性的字段,例如包含街道 ID 值的字段。 这些字段将被添加到 out_points 参数值中。

Field
distance
(可选)

用于查找距离点要素最近的街道要素的距离。 距离限制越高,工具运行所需的时间越长,但匹配的质量会提高。 默认值是 100 米。

Double
output_geometry
(可选)

指定将包含在输出点要素类中的几何。

  • INPUT_POINT_GEOMETRY原始输入点要素类的几何将包含在输出点要素类中。
  • STREET_POINT_GEOMETRY链接点的街道位置的几何将包含在输出点要素类中。
String
country_code
(可选)

指定将特定于国家/地区的逻辑应用于输入数据的位置,以便将街道段属性分配给点要素。

可通过使用 AS_DEFINED_IN_DATA 选项并从 point_field_mappingstreet_field_mapping 参数中映射 in_point_featuresin_street_features 参数的值对其进行指定,或者可以通过指定三字符国家/地区代码将其应用于整个数据集。

  • AS_DEFINED_IN_DATA将使用在每个要素的参考数据中定义的三字符国家/地区代码值。
  • ASM美属萨摩亚
  • AUS澳大利亚
  • AUT奥地利
  • BEL比利时
  • CAN加拿大
  • CHE瑞士
  • CZE捷克
  • DEU德国
  • ESP西班牙
  • EST爱沙尼亚
  • FRA法国
  • GBR大不列颠
  • GUM关岛
  • IND印度
  • ISR以色列
  • ITA意大利
  • JPN日本
  • KOR韩国
  • LTU立陶宛
  • LVA拉脱维亚
  • MNP北马里亚纳群岛
  • NLD荷兰
  • NOR挪威
  • PRI波多黎各
  • SWE瑞典
  • VIR美属维京群岛
  • USA美国
  • UMI美属边疆群岛
  • ZAF南非
String
language_code
(可选)

指定将特定于语言的逻辑应用于输入数据的位置,以便将街道段属性分配给点要素。

可通过使用 AS_DEFINED_IN_DATA 选项并从 point_field_mappingstreet_field_mapping 参数中映射 in_point_featuresin_street_features 参数的值对其进行指定,或者可以通过使用三字符语言代码指定语言,将其应用于整个数据集。

  • AS_DEFINED_IN_DATA将使用在每个要素的参考数据中定义的三字符语言代码值。
  • BAQ巴斯克语
  • CAT加泰罗尼亚语
  • CZE捷克语
  • DUT荷兰语
  • ENG英语
  • EST爱沙尼亚语
  • FRE法语
  • GER德语
  • GLG加利西亚语
  • HEB希伯来语
  • ITA意大利语
  • JPN日语
  • KOR朝鲜语
  • LIT立陶宛语
  • LAV拉脱维亚语
  • NOR挪威语
  • SPA西班牙语
  • SWE瑞典语
String

代码示例

AssignStreetsToPoints 示例(独立脚本)

以下 Python 脚本演示了如何使用 AssignStreetsToPoints 函数。

import arcpy

# Point Address Data from Tutorial Data
in_point_features = r"C:\Data\SanMarcos.gdb\Address_Points"
point_field_mapping = "STREET_FULL_NAME ADDRESS"

# Street Address Data from Tutorial Data
in_street_features = r"C:\Data\SanMarcos.gdb\Address_Lines"
street_field_mapping = "HOUSE_NUMBER_FROM_LEFT L_ADDNUM_FROM;HOUSE_NUMBER_TO_LEFT L_ADDNUM_TO;HOUSE_NUMBER_FROM_RIGHT R_ADDNUM_FROM;HOUSE_NUMBER_TO_RIGHT R_ADDNUM_TO;STREET_PREFIX_DIR STPREDIR;STREET_NAME STNAME;STREET_SUFFIX_TYPE STSUFFIX;STREET_SUFFIX_DIR STPOSTDIR"

output_data_path = r"C:\Data\SanMarcos.gdb\Street_Points"

arcpy.geocoding.AssignStreetsToPoints(
    in_point_features,
    point_field_mapping,
    in_street_features,
    street_field_mapping,
    output_data_path,
    street_fields=None,
    distance=70,
    output_geometry="STREET_POINT_GEOMETRY"
)

许可信息

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

相关主题