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

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

Создает и заполняет дополнительные поля классов пространственных объектов-поворотов, ссылающиеся на ребра в сети по альтернативным ID. Альтернативные ID помогают сохранить целостность объектов-поворотов, если исходные данные ребер редактируются таким образом, что их значения ObjectId изменяются.

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

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

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

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

  • Инструмент создает и заполняет новые поля AltID#, где # - это максимальное число ребер на поворот. Например, для классов пространственных объектов-поворотов, которые поддерживают повороты до трех ребер, инструмент создает и заполняет поля AltID1, AltID2 и AltID3.

Параметры

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

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

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

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

String

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

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

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

Network Dataset Layer

arcpy.na.PopulateAlternateIDFields(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

Пример кода

PopulateAlternateIDFields, пример 1 (окно Python)

Запустите инструмент с использованием всех параметров.

network = "C:/Data/SanFrancisco.gdb/Transportation/Streets_ND"
arcpy.na.PopulateAlternateIDFields(network, "ID")
PopulateAlternateIDFields, пример 2 (автономный скрипт)

Следующий скрипт Python демонстрирует использование функции PopulateAlternateIDFields в качестве автономного скрипта.

# Name: PopulateAlternateIDFields_ex02.py
# Description: Create and populate the alternate ID fields for all turn sources
#              in 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/Transportation"

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

#Populate alternate IDs on all turn sources in the network dataset
arcpy.PopulateAlternateIDFields_na(inNetworkDataset,altIDFieldName)

print("Script completed successfully.")

Информация о лицензиях

  • Basic: Да
  • Standard: Да
  • Advanced: Да

Связанные разделы