按备用 ID 字段更新 (Network Analyst)

摘要

使用备用 ID 字段更新转弯要素类中的所有边引用,以识别每个转弯对应的边要素。 对改变 ObjectID 值的边源要素类进行编辑后使用此工具。

了解有关网络数据集中转弯的详细信息

使用情况

  • 转弯要素类中的 Edge#FID 字段引用网络中边源中线要素的 ObjectID。 但是,ObjectID 由系统管理,并且可以在某些编辑操作期间发生变化。 为了确保转弯要素在完成此类编辑工作流后仍保留对边要素的正确引用,请使用以下工作流:

    1. 在每个网络边源要素类中创建并填充唯一的 ID 字段。 或者,使用数据提供者在数据中包含的唯一 ID 字段(如果存在)。
    2. 运行填充备用 ID 字段工具以在网络数据集的转弯要素类中创建并填充一组备用 ID 字段 (AltID#)。 该工具将使用来自边源的指定唯一 ID 字段值填充备用 ID 字段,除 Edge#FID 字段外,还通过备用 ID 字段将每个转弯要素链接到相应的边源要素。
    3. 执行可能改变边源的 ObjectID 的编辑操作。
    4. 运行按备用 ID 字段更新工具以使用备用 ID 字段值更新转弯要素类中的 Edge#FID 字段,查找相应边源要素的 ObjectID 值。

参数

标注说明数据类型
输入网络数据集

要按备用 ID 字段更新转弯要素类的网络数据集。

Network Dataset Layer
备用 ID 字段名

网络数据集中边要素源的备用 ID 字段名称。 对于转弯引用的所有边要素源,其备用 ID 字段的名称必须相同。

String

派生输出

标注说明数据类型
更新的输入网络数据集

更新后的网络数据集。

Network Dataset Layer

arcpy.na.UpdateByAlternateIDFields(in_network_dataset, alternate_ID_field_name)
名称说明数据类型
in_network_dataset

要按备用 ID 字段更新转弯要素类的网络数据集。

Network Dataset Layer
alternate_ID_field_name

网络数据集中边要素源的备用 ID 字段名称。 对于转弯引用的所有边要素源,其备用 ID 字段的名称必须相同。

String

派生输出

名称说明数据类型
out_network_dataset

更新后的网络数据集。

Network Dataset Layer

代码示例

UpdateByAlternateIDFields 示例 1(Python 窗口)

使用所有参数运行此工具

network = "C:/Data/SanFrancisco.gdb/Transportation/Streets_ND"
arcpy.na.UpdateByAlternateIDFields(network, "ID")
UpdateByAlternateIDFields 示例 2(独立脚本)

以下 Python 脚本演示了如何在独立脚本中使用 UpdateByAlternateIDFields 函数。

# Name: UpdateByAlternateIDFields_ex02.py
# Description: Update the edge references in the turn feature classes using
#              alternate IDs and build the network dataset.
# Requirements: Network Analyst Extension

#Import system modules
import arcpy
from arcpy import env

#Set environment settings
env.workspace = "C:/data/SanFrancisco.gdb"

#Set local variables
inNetworkDataset = "Transportation/Streets_ND"
altIDFieldName = "ID"

#Update the edge references in the turn features using alternate ID fields
arcpy.UpdateByAlternateIDFields_na(inNetworkDataset, altIDFieldName)

#Since we have modified the edge references for turn sources, we should rebuild
#the network dataset so that the turn features are correctly interpreted by the
#network dataset
arcpy.BuildNetwork_na(inNetworkDataset)

print("Script completed successfully.")

许可信息

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

相关主题