Обновить по полям альтернативных ID (Network Analyst)

Краткая информация

Обновляет все ссылки на ребра в классах объектов поворотов с помощью поля альтернативного ID для определения соответствующих объектов-ребер для каждого поворота. Используйте этот инструмент после внесения изменений в классы объектов источников ребер, которые изменяют значения ObjectID.

Более подробно о разворотах в наборе сетевых данных

Использование

  • Поля Edge#FID в классе пространственных объектов-поворотов обращаются к ObjectID линейного объекта в источнике ребер в сети. Однако ObjectID управляются системой и могут измениться в процессе некоторых операций редактирования. Чтобы убедиться, что объекты-повороты сохраняют корректную ссылку на объекты ребер после такого типа рабочего процесса редактирования, используйте следующий рабочий процесс:

    1. Создайте и заполните поле уникальных ID в каждом классе объектов источника ребер сети. Или используйте поле уникальных ID, включенное в данные от поставщика данных, если оно есть.
    2. Запустите инструмент Заполнить альтернативные поля идентификаторов, чтобы создать и заполнить набор полей альтернативных ID (AltID#) в классах пространственных объектов-поворотов набора сетевых данных. Инструмент заполняет поля альтернативных ID назначенными уникальными значениями идентификаторов из источников ребер, связывая каждый объект-поворот с подходящим источником ребер через альтернативные поля ID в дополнение к полям Edge#FID.
    3. Выполните операции изменения, которые могут изменить ObjectID источников ребер.
    4. Запустите инструмент Обновить по полям альтернативных ID, чтобы обновить поля Edge#FID в классах пространственных объектов-поворотов путем поиска значений ObjectID соответствующих объектов источников ребер с помощью значений полей альтернативных ID.

Параметры

ПодписьОписаниеТип данных
Входной набор сетевых данных

Набор сетевых данных, классы пространственных объектов-поворотов которого обновляются по полям альтернативных ID.

Network Dataset Layer
Имя поля альтернативных ID

Название поля альтернативного идентификатора в источниках объектов ребер набора сетевых данных. Все источники объектов ребер, на которые ссылаются повороты, должны иметь одинаковые имена для поля альтернативного ID.

String

Производные выходные данные

ПодписьОписаниеТип данных
Обновленный входной набор сетевых данных

Обновленный набор сетевых данных.

Network Dataset Layer

arcpy.management.UpdateByAlternateIDFields(in_network_dataset, alternate_ID_field_name)
ИмяОписаниеТип данных
in_network_dataset

Набор сетевых данных, классы пространственных объектов-поворотов которого обновляются по полям альтернативных ID.

Network Dataset Layer
alternate_ID_field_name

Название поля альтернативного идентификатора в источниках объектов ребер набора сетевых данных. Все источники объектов ребер, на которые ссылаются повороты, должны иметь одинаковые имена для поля альтернативного 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

#Set environment settings
arcpy.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.na.UpdateByAlternateIDFields(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.na.BuildNetwork(inNetworkDataset)

print("Script completed successfully.")