Renseigner les champs d’ID de substitution (Network Analyst)

Synthèse

Crée et renseigne des champs supplémentaires dans les classes d’entités tournants, faisant référence aux tronçons sur le réseau à l’aide d’ID de substitution. Les ID de substitution aident à maintenir l’intégrité des entités tournants en cas de modification des valeurs ObjectID des tronçons source lors de leur mise à jour.

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.

  • L’outil crée et renseigne de nouveaux champs AltID#, où # est le nombre maximal de tronçons par tournant. Par exemple, pour les classes d’entités tournants qui prennent en charge des tournants pouvant comporter jusqu’à trois tronçons, l’outil crée et renseigne les champs AltID1, AltID2 et AltID3.

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 reçoivent des champs d’ID de substitution. Les champs sont créés sur toutes les classes d'entités tournants ajoutées en tant que tournant en entrée au jeu de données réseau.

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.PopulateAlternateIDFields(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 reçoivent des champs d’ID de substitution. Les champs sont créés sur toutes les classes d'entités tournants ajoutées en tant que tournant en entrée au jeu de données réseau.

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 PopulateAlternateIDFields (fenêtre Python)

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

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

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

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

Informations de licence

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

Rubriques connexes