Mettre à jour par des champs d’ID de substitution (Network Analyst)

Synthèse

Met à jour toutes les références au tronçon dans les classes d’entités tournants du jeu de données réseau à l’aide d’un champ d’ID de substitution pour identifier les entités de tronçon correspondantes pour chaque tournant. Utilisez cet outil après avoir apporté aux classes d’entités de source de tronçon des modifications qui changent les valeurs ObjectID.

En savoir plus sur les tournants dans un jeu de données réseau

Utilisation

  • Les champs Edge#FID d’une classe d’entités tournants font référence à l’ObjectID de l’entité linéaire dans une source de tronçon sur le réseau. Cependant, les ObjectID sont gérés par le système et peuvent être modifiés pendant certaines opérations de mise à jour. Pour vous assurer que les entités tournants conservent la bonne référence aux entités tronçons après ce type de processus de mise à jour, utilisez le processus suivant :

    1. Créez et renseignez un champ d’ID unique dans chacune des classes d’entités de source de tronçon du réseau. Vous pouvez également utiliser un champ d’ID unique inclus dans les données par le fournisseur de données, le cas échéant.
    2. Exécutez l’outil Renseigner les champs d’ID de substitution pour créer et renseigner un ensemble de champs d’ID de substitution (AltID#) dans les classes d’entités tournants du jeu de données réseau. L’outil renseigne les champs d’ID de substitution avec les valeurs de champs d’ID unique désignées par les sources de tronçon, afin de relier chaque entité tournant à l’entité source de tronçon approprié à l’aide des champs d’ID de substitution en plus des champs Edge#FID.
    3. Effectuez les opérations de mise à jour susceptibles de modifier les ObjectID des sources de tronçon.
    4. Exécutez l’outil Mettre à jour par des champs d’ID de substitution pour mettre à jour les champs Edge#FID dans les classes d’entités tournants en utilisant les valeurs des champs d’ID de substitution pour rechercher les valeurs ObjectID des entités source de tronçon correspondantes.

Paramètres

ÉtiquetteExplicationType de données
Jeu de données réseau en entrée

Jeu de données réseau dont les classes d’entités tournants sont mises à jour par leurs champs d’ID de substitution.

Network Dataset Layer
Nom du champ d'ID de substitution

Nom du champ d'ID de substitution sur les sources de tronçons du jeu de données réseau. Toutes les sources de tronçons référencées par des tournants doivent avoir le même nom de champ d'ID de substitution.

String

Sortie obtenue

ÉtiquetteExplicationType de données
Jeu de données réseau en entrée mis à jour

Jeu de données réseau mis à jour.

Network Dataset Layer

arcpy.na.UpdateByAlternateIDFields(in_network_dataset, alternate_ID_field_name)
NomExplicationType de données
in_network_dataset

Jeu de données réseau dont les classes d’entités tournants sont mises à jour par leurs champs d’ID de substitution.

Network Dataset Layer
alternate_ID_field_name

Nom du champ d'ID de substitution sur les sources de tronçons du jeu de données réseau. Toutes les sources de tronçons référencées par des tournants doivent avoir le même nom de champ d'ID de substitution.

String

Sortie obtenue

NomExplicationType de données
out_network_dataset

Jeu de données réseau mis à jour.

Network Dataset Layer

Exemple de code

Exemple 1 d’utilisation de l’outil UpdateByAlternateIDFields (fenêtre Python)

Exécutez l’outil avec tous les paramètres.

network = "C:/Data/SanFrancisco.gdb/Transportation/Streets_ND"
arcpy.na.UpdateByAlternateIDFields(network, "ID")
Exemple 2 d'utilisation de l'outil UpdateByAlternateIDFields (script autonome)

Le script Python ci-dessous illustre l’utilisation de la fonction UpdateByAlternateIDFields dans un script autonome.

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

Informations de licence

  • Basic: Oui
  • Standard: Oui
  • Advanced: Oui

Rubriques connexes