Actualizar por campos Id. alternativos (Network Analyst)

Resumen

Actualiza todas las referencias de borde en las clases de entidad de giro utilizando un campo de ID alternativo para identificar las entidades de borde correspondientes para cada giro. Utilice esta herramienta después de realizar cambios en las clases de entidades de origen de borde que alteren los valores de ObjectID.

Más información sobre los giros en un dataset de red

Uso

  • Los campos Edge#FID de una clase de entidad de giro se refieren al ObjectID de la entidad de línea en una fuente de borde en la red. Sin embargo, los valores de ObjectID se gestionan en el sistema y pueden cambiar durante determinadas operaciones de edición. Para asegurarse de que las entidades de giro conservan la referencia correcta a las entidades de borde después de este tipo de flujo de trabajo de edición, utilice el flujo de trabajo siguiente:

    1. Cree y rellene un campo ID único en cada clase de entidad de fuente de borde de la red. Como alternativa, utilice un campo ID único incluido en los datos por el proveedor de datos, si existe.
    2. Ejecute la herramienta Rellenar campos de ID alternativo para crear y rellenar un conjunto de campos de ID alternativo (AltID#) en las clases de entidad de giro del dataset de la red. La herramienta rellena los campos ID alternativos con los valores de campo ID únicos designados de las fuentes de borde, vinculando cada entidad de giro a la entidad de fuente de borde apropiada a través de los campos ID alternativos además de los campos Edge#FID.
    3. Realice las operaciones de edición que pueden cambiar los ObjectID de las fuentes de bordes.
    4. Ejecute la herramienta Actualizar por campos de ID alternativos para actualizar los campos Edge#FID de las clases de entidad de giro utilizando los valores de campo de ID alternativos para buscar los valores de ObjectID de las entidades de origen de borde correspondientes.

Parámetros

EtiquetaExplicaciónTipo de datos
Dataset de red de entrada

Dataset de red cuyas clases de entidad de giro se actualizarán mediante los campos de ID alternativos

Network Dataset Layer
Nombre de campo Id alternativo

Nombre del campo de ID alternativo en los orígenes de la entidad de borde del dataset de red. Todos los orígenes de la entidad de borde a los que se hace referencia en los giros deben tener el mismo nombre para el campo de Id. alternativo.

String

Salida derivada

EtiquetaExplicaciónTipo de datos
Dataset de red de entrada actualizado

El dataset de red actualizado.

Network Dataset Layer

arcpy.na.UpdateByAlternateIDFields(in_network_dataset, alternate_ID_field_name)
NombreExplicaciónTipo de datos
in_network_dataset

Dataset de red cuyas clases de entidad de giro se actualizarán mediante los campos de ID alternativos

Network Dataset Layer
alternate_ID_field_name

Nombre del campo de ID alternativo en los orígenes de la entidad de borde del dataset de red. Todos los orígenes de la entidad de borde a los que se hace referencia en los giros deben tener el mismo nombre para el campo de Id. alternativo.

String

Salida derivada

NombreExplicaciónTipo de datos
out_network_dataset

El dataset de red actualizado.

Network Dataset Layer

Muestra de código

Ejemplo 1 de UpdateByAlternateIDFields (ventana de Python)

Ejecutar la herramienta utilizando todos los parámetros.

network = "C:/Data/SanFrancisco.gdb/Transportation/Streets_ND"
arcpy.na.UpdateByAlternateIDFields(network, "ID")
Ejemplo 2 de UpdateByAlternateIDFields (script independiente)

La siguiente secuencia de comandos Pythonindependiente muestra cómo utilizar la función UpdateByAlternateIDFields en una secuencia de comandos independiente.

# 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.")

Información de licenciamiento

  • Basic: Sí
  • Standard: Sí
  • Advanced: Sí

Temas relacionados