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

摘要

使用地址信息(如门牌号、街道名称和距离),寻找点的最佳街道要素候选对象。 地址信息的优先级高于距离。

此工具可用于将点地址链接到街道数据。 通过比较点要素和街道要素的地址信息以及它们之间的距离来建立链接。 最佳候选对象名称之间具有最高的相似度,同时也预期距离较近。 建立链接后,即可为点地址生成街道对象 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_StName_AddNum - 仅街道名称组件用于将点链接到街道,且门牌号在链接街道的门牌号范围内。
      • Match_StName - 仅街道名称组件用于将点链接到街道。
      • Match_Distance_AddNum - 由于点和街道之间的街道名称组件不匹配,因此使用距离将点链接至街道,但房屋号码位于链接街道的房屋号码范围内。
      • Match_Distance - 由于点和街道之间的街道名称值不匹配,因此使用距离将点链接到街道。
      • Unmatched - 点未基于距离或街道地址组件与街道匹配。
        注:

        当点未与街道匹配时,默认输出字段和所选街道字段将显示为 NULL 属性,但是 InputPoint_XInputPoint_Y 字段将填充输入点要素类的坐标。

  • 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.。
  • 门牌号 - 与地址相关联的门牌号,如 380 New York St. 中的 380。
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.。
  • 左侧门牌号开始范围 - 代表街道左侧房屋号码范围的开始数字。
  • 左侧门牌号结束范围 - 代表街道左侧房屋号码范围的结束数字。
  • 右侧门牌号开始范围 - 代表街道右侧房屋号码范围的开始数字。
  • 右侧门牌号结束范围 - 代表街道右侧房屋号码范围的结束数字。
Value Table
输出点

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

Feature Class
街道字段
(可选)

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

Field
距离
(可选)

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

Double
输出几何
(可选)

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

  • 输入点几何原始输入点要素类的几何将被包含在输出点要素类中。
  • 街道点几何链接点的街道位置几何将被包含在输出点要素类中。
String

arcpy.geocoding.AssignStreetsToPoints(in_point_features, point_field_mapping, in_street_features, street_field_mapping, out_points, {street_fields}, {distance}, {output_geometry})
名称说明数据类型
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。

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 - 代表街道右侧房屋号码范围的结束数字。
Value Table
out_points

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

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

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

Field
distance
(可选)

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

Double
output_geometry
(可选)

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

  • INPUT_POINT_GEOMETRY原始输入点要素类的几何将被包含在输出点要素类中。
  • STREET_POINT_GEOMETRY链接点的街道位置几何将被包含在输出点要素类中。
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: 是

相关主题