Gemäß alternativen ID-Feldern aktualisieren (Network Analyst)

Zusammenfassung

Aktualisiert alle Kantenreferenzen in Turn-Feature-Classes, wobei ein alternatives ID-Feld verwendet wird, um für jeden Kantenübergang die zugehörigen Kanten-Features zu identifizieren. Verwenden Sie dieses Werkzeug, nachdem Sie Änderungen an den Edge-Source-Feature-Classes vorgenommen haben, durch die sich ObjectID-Werte ändern.

Weitere Informationen zu Kantenübergängen in einem Netzwerk-Dataset

Verwendung

  • Die Edge#FID-Felder in einer Turn-Feature-Class verweisen auf die ObjectID des Linien-Features in einer Kantenquelle des Netzwerks. ObjectIDs werden jedoch vom System verwaltet und können sich bei bestimmten Bearbeitungsvorgängen ändern. Verwenden Sie den folgenden Workflow, um sicherzustellen, dass nach entsprechenden Bearbeitungs-Workflows in den Kantenübergang-Features die richtige Referenz zu den Kanten-Features erhalten bleibt:

    1. Erstellen Sie in jeder Edge-Source-Feature-Class des Netzwerks ein Feld für die eindeutige ID, und füllen Sie es aus. Sie können auch ein vom Datenanbieter in den Daten angegebenes Feld für die eindeutige ID verwenden, sofern vorhanden.
    2. Führen Sie das Werkzeug Alternative ID-Felder füllen aus, um verschiedene alternative ID-Felder (AltID#) in den Turn-Feature-Classes des Netzwerk-Datasets festzulegen und zu befüllen. Das Werkzeug füllt die alternativen ID-Felder mit den festgelegten eindeutigen ID-Feldwerten aus den Kantenquellen. Dadurch wird jedes Kantenübergang-Feature über die Edge#FID-Felder sowie die alternativen ID-Felder mit dem zugehörigen Kantenquellen-Feature verknüpft.
    3. Führen Sie die Bearbeitungsvorgänge durch, in deren Rahmen sich die ObjectIDs der Kantenquellen ändern können.
    4. Führen Sie das Werkzeug Nach alternativen ID-Feldern aktualisieren aus, um die Edge#FID-Felder in den Turn-Feature-Classes zu aktualisieren, wobei die ObjectID-Werte der zugehörigen Kantenquellen-Features anhand der alternativen ID-Feldwerte ermittelt werden.

Parameter

BeschriftungErläuterungDatentyp
Eingabe-Netzwerk-Dataset

Das Netzwerk-Dataset, dessen Turn-Feature-Classes anhand der alternativen ID-Felder aktualisiert werden.

Network Dataset Layer
Name für alternatives ID-Feld

Der Name des alternativen ID-Feldes in den Kanten-Feature-Quellen des Netzwerk-Datasets. Alle Kanten-Feature-Quellen, die von Kantenübergängen referenziert werden, müssen denselben Namen für das alternative ID-Feld aufweisen.

String

Abgeleitete Ausgabe

BeschriftungErläuterungDatentyp
Aktualisiertes Eingabe-Netzwerk-Dataset

Das aktualisierte Netzwerk-Dataset.

Network Dataset Layer

arcpy.na.UpdateByAlternateIDFields(in_network_dataset, alternate_ID_field_name)
NameErläuterungDatentyp
in_network_dataset

Das Netzwerk-Dataset, dessen Turn-Feature-Classes anhand der alternativen ID-Felder aktualisiert werden.

Network Dataset Layer
alternate_ID_field_name

Der Name des alternativen ID-Feldes in den Kanten-Feature-Quellen des Netzwerk-Datasets. Alle Kanten-Feature-Quellen, die von Kantenübergängen referenziert werden, müssen denselben Namen für das alternative ID-Feld aufweisen.

String

Abgeleitete Ausgabe

NameErläuterungDatentyp
out_network_dataset

Das aktualisierte Netzwerk-Dataset.

Network Dataset Layer

Codebeispiel

UpdateByAlternateIDFields: Beispiel 1 (Python-Fenster)

Führen Sie das Werkzeug unter Verwendung aller Parameter aus.

network = "C:/Data/SanFrancisco.gdb/Transportation/Streets_ND"
arcpy.na.UpdateByAlternateIDFields(network, "ID")
UpdateByAlternateIDFields: Beispiel 2 (eigenständiges Skript)

Das folgende Python-Skript veranschaulicht, wie die Funktion UpdateByAlternateIDFields in einem eigenständigen Skript verwendet wird.

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

Lizenzinformationen

  • Basic: Ja
  • Standard: Ja
  • Advanced: Ja

Verwandte Themen