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

摘要

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

此工具可用于将点地址链接到街道数据。 通过比较点要素和街道要素的地址信息以及它们之间的距离来建立链接。 最佳候选对象名称之间具有最高的相似度,同时也预期距离较近。 建立链接后,即可为点地址生成街道对象 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_MatchReason 字段值为 Match_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.。
  • 城市 - 与地址相关联的城市,例如 Redlands in 380 New York St., Redlands, Ca。
  • 州/省 - 与地址相关联的州,例如 Ca in 380 New York St., Redlands, 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 - 与地址相关联的城市,例如 Redlands in 380 New York St., Redlands, Ca。
  • STATE - 与地址相关联的州,例如 Ca in 380 New York St., Redlands, 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瑞士
  • COL哥伦比亚
  • CZE捷克
  • DEU德国
  • DNK丹麦
  • ESP西班牙
  • EST爱沙尼亚
  • FIN芬兰
  • FRA法国
  • GBR大不列颠
  • GUM关岛
  • IND印度
  • ISR以色列
  • ITA意大利
  • JPN日本
  • KOR韩国
  • LTU立陶宛
  • LVA拉脱维亚
  • MNP北马里亚纳群岛
  • NLD荷兰
  • NOR挪威
  • NZL新西兰
  • 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捷克语
  • DAN丹麦语
  • DUT荷兰语
  • ENG英语
  • EST爱沙尼亚语
  • FIN芬兰语
  • 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"
)