Objekte anhängen (Location Referencing)

Mit der Location Referencing-Lizenz verfügbar.

Zusammenfassung

Hängt Objektdatensätze aus einer Tabelle, einem Layer oder einer Feature-Class an eine vorhandene Event-Feature-Class von ArcGIS Location Referencing an.

Hinweis:

Wenn es sich bei dem Ziel-Layer um einen Feature-Service-Layer handelt, werden die Validierungsergebnisse dieses Werkzeugs in eine Datei im ArcGIS Server-Verzeichnis geschrieben. Diese Datei wird standardmäßig automatisch in 10 Minuten bereinigt. Das ist möglicherweise nicht ausreichend, um alle Validierungen zu verarbeiten und auf die Workstation mit ArcGIS Pro zu schreiben. Bei größeren Datenlasten empfiehlt es sich, das maximale Dateialter auf mindestens eine Stunde zu ändern. Sie können ein Serververzeichnis in Manager bearbeiten, um diese Einstellung anzupassen.

Verwendung

  • Zum Ausführen dieses Werkzeugs ist ein LRS-Dataset erforderlich. Zum Erstellen eines LRS-Datasets fügen Sie die Kalibrierungspunkt-, Mittelachsen- und Korrekturlinien-Layer einem Feature-Dataset hinzu, und fügen Sie dann das Werkzeug LRS ändern mit der Geodatabase als Eingabe aus.

  • Das Eingabeobjekt kann eine Tabelle, ein Layer oder eine Feature-Class sein.

    Weitere Informationen zu erforderlichen Feldern für das Objektdatenmodell von ArcGIS Pipeline Referencing

    Weitere Informationen zu erforderlichen Feldern für das Objektdatenmodell von Roads and Highways

  • Das Zielobjekt sollte ein Layer oder eine Feature-Class sein, der bzw. die in Location Referencing registriert ist.

  • Dieses Werkzeug unterstützt Punkt- und Polylinien-Features. Der Feature-Typ in den Parametern für Eingabe- und Zielobjekt sollte übereinstimmen.

  • Wenn der Parameter Objekt-ID-GUIDs für geladene Objekte generieren aktiviert ist und Sie möchten, dass GUIDs generiert werden, ordnen Sie entweder das Feld EventID im Abschnitt für die Feldzuordnung nicht zu, oder achten Sie darauf, dass die Spalte EventID in den Quellobjektdaten NULL-Datensätze enthält. Wenn das Feld EventID in einem Quellobjekt-Datensatz gefüllt ist und der Parameter Objekt-ID-GUIDs für geladene Objekte generieren aktiviert ist, wird der Wert im Feld EventID des Quellobjekt-Datensatzes in das Zielobjekt geladen.

  • Wenn die Konfliktvermeidung aktiviert ist, wird Folgendes unterstützt:

    • Für die Objekte, die angehängt werden müssen, werden automatisch Objektsperren abgerufen, wenn diese verfügbar sind. Wenn die Sperren nicht abgerufen werden können, gibt das Werkzeug einen Fehler zurück und stellt eine Textdatei mit den problematischen Sperren bereit.
    • Beim Arbeiten in der Default-Version werden die abgerufenen Sperren nach Abschluss des Werkzeugs automatisch aufgehoben.
    • Beim Arbeiten in einer Child-Version behalten die abgerufenen Sperren nach Abschluss des Werkzeugs den Status "Zurückschreiben" bei. Sie müssen die Version zurückschreiben oder löschen, um die Sperren aufzuheben.
    • Wenn beim Arbeiten in einer Child-Version die Ausführung des Werkzeugs durch eine Unterbrechung abgebrochen wird, werden die Sperren abgerufen und behalten den Status "Aufhebbar" bei.

  • Die Routenkalibrierung für physisch lückenhafte Routen wirkt sich wie folgt auf angehängte Objekte aus:

    • Wenn der Routenkalibrierungsunterschied für die Lücke nicht Null entspricht, werden angehängte Objekte an Lücken geteilt.
    • Wenn der Routenkalibrierungsunterschied für die Lücke Null entspricht, werden aus den angehängten Objekten Multipart-Objekte.

  • Sie können eine .csv-Datei im ASCII-Format verwenden, um Objekte anzuhängen. Dazu müssen Sie die Datei mit einer Initialisierungsdatei (schema.ini) verwenden, in der die durch Kommas getrennten Felder der .csv-Datei definiert werden. Die Schema-Initialisierungsdatei muss Folgendes enthalten:

    • Den Namen der .csv-Datei und das zu initialisierende Format
    • Einen Namen und Datentyp für jede CSV-Spalte
    • Eine maximale Breite, die verwendet werden soll, wenn der Datentyp "Text" entspricht

    Im folgenden Initialisierungsbeispiel werden der Name der .csv-Datei und das zu verwendende Format, der Feldname und der Datentyp jeder CSV-Spalte (von links nach rechts) und eine maximale Breite für Textfelder deklariert.

    schema.ini
    [source_events.csv]
    Format=CSVDelimited
    ColNameHeader=True
    Col1=FromDate Date
    Col2=ToDate Date
    Col3=RouteID Text width 255
    Col4=FromMeasure Double
    Col5=ToMeasure Double
    Col6=RdType Long
    Col7=EventID Text width 50

    Weitere Informationen zum Hinzufügen einer ASCII- oder Textdateitabelle

  • Dieses Werkzeug unterstützt die Konfliktvermeidung und versucht, Sperren anzufordern und zu übertragen.

    Weitere Informationen zur Konfliktvermeidung in ArcGIS Pipeline Referencing oder Konfliktvermeidung in ArcGIS Roads and Highways

Parameter

BeschriftungErläuterungDatentyp
Eingabeobjekt

Die anzuhängenden Quellobjekt-Datensätze.

Table View
Zielobjekt

Der Objekt-Layer oder die Feature-Class von Location Referencing, in dem bzw. der die Quellobjekt-Datensätze angehängt werden.

Feature Layer
Feldzuordnung

Steuert, wie die Attributinformationen in Feldern des Wertes des Parameters Eingabeobjekt in den Wert des Parameters Zielobjekt übertragen werden.

Da der Wert des Parameters Eingabeobjekt in einem vorhandenen Objekt mit einem vordefinierten Schema (Felddefinitionen) angehängt wird, können dem Ziel-Dataset keine Felder hinzugefügt oder daraus entfernt werden. Sie können zwar Regeln für die einzelnen Ausgabefelder zusammenführen, aber die Regeln werden vom Werkzeug ignoriert.

Field Mappings
Ladetyp
(optional)

Gibt an, wie angehängte Objekte mit überlappenden Messwerten oder überlappenden Zeiträumen mit identischen Objekt-IDs als Zielobjekt-Datensätze in die Event-Feature-Class geladen werden.

  • HinzufügenDie Eingabeobjekt-Datensätze werden an den Wert des Parameters Zielobjekt angehängt. An Zielobjekt-Datensätzen werden keine Änderungen vorgenommen.
  • Überlappungen stilllegenDie Eingabeobjekt-Datensätze werden an den Wert des Parameters Zielobjekt und an alle Datensätze im Wert des Parameters Zielobjekt mit überlappenden Messwerten oder Zeiträumen angehängt, da die angehängten Objekte stillgelegt werden. Wenn das angehängte Objekt den Wert des Parameters Zielobjekt übersteigt, wird der Wert des Parameters Zielobjekt gelöscht. Diese Option sollte nur für lineare Objekte verwendet werden.
  • Nach Objekt-ID stilllegenDie Eingabeobjekt-Datensätze werden an den Wert des Parameters Zielobjekt und an alle Datensätze im Wert des Parameters Zielobjekt mit der gleichen Objekt-ID und überlappenden Zeiträumen angehängt, da die angehängten Objekte stillgelegt werden. Wenn das angehängte Objekt einen Wert des Parameters Zielobjekt mit der gleichen Objekt-ID übersteigt, wird der Wert des Parameters Zielobjekt gelöscht.
  • Durch Objekt-ID ersetzenDie Eingabeobjekt-Datensätze werden an den Wert des Parameters Zielobjekt und an alle Datensätze im Wert des Parameters Zielobjekt mit der gleichen Objekt-ID angehängt, da die angehängten Objekte gelöscht werden.
String
Objekt-ID-GUIDs für geladene Objekte generieren
(optional)

Gibt an, ob Objekt-IDs für anzuhängende Eingabeobjekt-Datensätze generiert werden. Objekt-IDs werden nur für Eingabeobjekt-Datensätze mit NULL-Wert im Feld Event ID generiert.

  • Aktiviert: Es werden Objekt-IDs für die anzuhängenden Eingabeobjekt-Datensätze generiert.
  • Deaktiviert: Es werden keine Objekt-IDs für die anzuhängenden Eingabeobjekt-Datensätze generiert. Dies ist die Standardeinstellung.
Boolean
Shapes generieren
(optional)

Gibt an, ob die Shapes der anzuhängenden Datensätze erneut generiert werden. Dieser Parameter ist nur aktiv, wenn das Eingabeobjekt ein Feature-Layer oder eine Feature-Class ist.

  • Aktiviert: Die Shapes der Eingabeobjekt-Features werden erneut generiert. Dies ist die Standardeinstellung.
  • Deaktiviert: Die Shapes der Eingabeobjekt-Features werden nicht erneut generiert.
Boolean

Abgeleitete Ausgabe

BeschriftungErläuterungDatentyp
Ausgabezielobjekt

Der Objekt-Layer oder die Feature-Class, an den bzw. an die die Quellobjekt-Datensätze angehängt wurden.

Feature Layer
Ausgabe-Ergebnisdatei

Eine Textdatei, die Details zu den vom Werkzeug vorgenommenen Änderungen enthält.

Text File

arcpy.locref.AppendEvents(in_dataset, in_target_event, field_mapping, {load_type}, {generate_event_ids}, {generate_shapes})
NameErläuterungDatentyp
in_dataset

Die anzuhängenden Quellobjekt-Datensätze.

Table View
in_target_event

Der Objekt-Layer oder die Feature-Class von Location Referencing, in dem bzw. der die Quellobjekt-Datensätze angehängt werden.

Feature Layer
field_mapping

Steuert, wie die Attributinformationen in Feldern von in_dataset in in_target_event übertragen werden.

Da der Wert des Parameters in_dataset in einem vorhandenen Objekt mit einem vordefinierten Schema (Felddefinitionen) angehängt wird, können dem Ziel-Dataset keine Felder hinzugefügt oder daraus entfernt werden. Sie können zwar Regeln für die einzelnen Ausgabefelder zusammenführen, aber die Regeln werden vom Werkzeug ignoriert.

Zum Definieren dieses Parameters kann die FieldMappings-Klasse verwendet werden.

Field Mappings
load_type
(optional)

Gibt an, wie angehängte Objekte mit überlappenden Messwerten oder überlappenden Zeiträumen mit identischen Objekt-IDs als in_target_event-Datensätze in die Event-Feature-Class geladen werden.

  • ADDDie in_dataset-Datensätze werden an den Wert des Parameters in_target_event angehängt. An in_target_event-Datensätzen werden keine Änderungen vorgenommen.
  • RETIRE_OVERLAPSDie in_dataset-Datensätze werden an den Wert des Parameters in_target_event und an alle Datensätze im Wert des Parameters in_target_event mit überlappenden Messwerten oder Zeiträumen angehängt, da die angehängten Objekte stillgelegt werden. Wenn das angehängte Objekt den Wert des Parameters in_target_event übersteigt, wird der Wert des Parameters in_target_event gelöscht. Diese Option sollte nur für lineare Objekte verwendet werden.
  • RETIRE_BY_EVENT_IDDie in_dataset-Datensätze werden an den Wert des Parameters in_target_event und an alle Datensätze im Wert des Parameters in_target_event mit der gleichen Objekt-ID und überlappenden Zeiträumen angehängt, da die angehängten Objekte stillgelegt werden. Wenn das angehängte Objekt einen Wert des Parameters in_target_event mit der gleichen Objekt-ID übersteigt, wird der Wert des Parameters in_target_event gelöscht.
  • REPLACE_BY_EVENT_IDDie in_dataset-Datensätze werden an den Wert des Parameters in_target_event und an alle Datensätze im Wert des Parameters in_target_event mit der gleichen Objekt-ID angehängt, da die angehängten Objekte gelöscht werden.
String
generate_event_ids
(optional)

Gibt an, ob Objekt-IDs für anzuhängende in_dataset-Datensätze generiert werden. Objekt-IDs werden nur für in_dataset-Datensätze mit NULL-Wert im Feld Event ID generiert.

  • GENERATE_EVENT_IDSEs werden Objekt-IDs für die anzuhängenden in_dataset-Datensätze generiert.
  • NO_GENERATE_EVENT_IDSEs werden keine Objekt-IDs für die anzuhängenden in_dataset-Datensätze generiert. Dies ist die Standardeinstellung.
Boolean
generate_shapes
(optional)

Gibt an, ob die Shapes der anzuhängenden Datensätze erneut generiert werden. Dieser Parameter ist nur aktiviert, wenn in_dataset ein Feature-Layer oder eine Feature-Class ist.

  • GENERATE_SHAPESDie Shapes der Eingabeobjekt-Features werden erneut generiert. Dies ist die Standardeinstellung.
  • NO_SHAPESDie Shapes der Eingabeobjekt-Features werden nicht erneut generiert.
Boolean

Abgeleitete Ausgabe

NameErläuterungDatentyp
out_target_event

Der Objekt-Layer oder die Feature-Class, an den bzw. an die die Quellobjekt-Datensätze angehängt wurden.

Feature Layer
out_details_file

Eine Textdatei, die Details zu den vom Werkzeug vorgenommenen Änderungen enthält.

Text File

Codebeispiel

AppendEvents – Beispiel 1 (Python-Fenster)

Veranschaulicht die Verwendung der Funktion AppendEvents im Python-Fenster zum Anhängen von Objektdatensätzen in einer vorhandenen Event-Feature-Class. .

# Name: AppendEvents_ex1_pro.py
# Description: Append event records into an existing Location Referencing event feature class.
# Requires: ArcGIS Location Referencing

# Import arcpy module
import arcpy

# Check out license
arcpy.CheckOutExtension("LocationReferencing")

# Set current workspace
arcpy.env.workspace= r"C:\Pipeline.gdb"

# Set tool variables
# Source Event Table in fgdb
in_dataset = "PTMS_Add"

# Target Event Feature Class in fgdb
in_target_event = "LRSE_PTMS"

#Map fields between target and source
field_mapping = r'AADT "AADT" true true false 4 Long 0 0,First,#,C:\Pipeline.gdb\LRS\PTMS_Add,AADT,-1,-1;YEAR_ "YEAR_" true true false 2 Short 0 0,First,#,C:\Pipeline.gdb\LRS\PTMS_Add,YEAR_,-1,-1;Cosite "Cosite" true true false 6 Text 0 0,First,#,C:\Pipeline.gdb\LRS\PTMS_Add,Cosite,0,6;Classd "Classd" true true false 3 Text 0 0,First,#,C:\Pipeline.gdb\LRS\PTMS_Add,Classd,0,3;SECTION_ "SECTION_" true true false 8 Text 0 0,First,#,C:\Pipeline.gdb\LRS\PTMS_Add,SECTION_,0,8;COMM "COMM" true true false 254 Text 0 0,First,#,C:\Pipeline.gdb\LRS\PTMS_Add,COMM,0,254;Active "Active" true true false 1 Text 0 0,First,#,C:\Pipeline.gdb\LRS\PTMS_Add,Active,0,1;Sitetype "Sitetype" true true false 11 Text 0 0,First,#,C:\Pipeline.gdb\LRS\PTMS_Add,Sitetype,0,11;KFCTR "KFCTR" true true false 8 Double 0 0,First,#,C:\Pipeline.gdb\LRS\PTMS_Add,KFCTR,-1,-1;DFCTR "DFCTR" true true false 8 Double 0 0,First,#,C:\Pipeline.gdb\LRS\PTMS_Add,DFCTR,-1,-1;TFCTR "TFCTR" true true false 8 Double 0 0,First,#,C:\Pipeline.gdb\LRS\PTMS_Add,TFCTR,-1,-1;LOCATION "LOCATION" true true false 8 Double 0 0,First,#,C:\Pipeline.gdb\LRS\PTMS_Add,LOCATION,-1,-1;FromDate "FromDate" true true false 8 Date 0 0,First,#,C:\Pipeline.gdb\LRS\PTMS_Add,FromDate,-1,-1;ToDate "ToDate" true true false 8 Date 0 0,First,#,C:\Pipeline.gdb\LRS\PTMS_Add,ToDate,-1,-1;EventID "EventID" true true false 50 Text 0 0,First,#,C:\Pipeline.gdb\LRS\PTMS_Add,EventID,0,50'

load_type = "Add"

generate_event_ids = "NO_GENERATE_EVENT_IDS"

generate_shapes = "GENERATE_SHAPES"

# Execute the tool
arcpy.locref.AppendEvents(in_dataset, in_target_event, field_mapping, load_type, generate_event_ids, generate_shapes)

# Check in license
arcpy.CheckInExtension('LocationReferencing')
AppendEvents – Beispiel 2 (eigenständiges Skript)

Veranschaulicht die Verwendung der Funktion AppendEvents in einem eigenständigen Python-Skript zum Anhängen von Objektdatensätzen in einer vorhandenen Event-Feature-Class.

# Name: AppendEvents_StandAlonePython_Example.py
# Description: Append event records into an existing event feature class.
# Requires: ArcGIS Location Referencing

# Import arcpy module
import arcpy

# Check out license
arcpy.CheckOutExtension("LocationReferencing")

# Set tool variables
# Source Event Table in fgdb
in_dataset = r"C:\Pipeline.gdb\LRS\PTMS_Add"

# Target Event Feature Class in fgdb
in_target_event = r"C:\Pipeline.gdb\LRS\LRSE_PTMS"

#Map fields b/w target and source
field_mapping = r"AADT \"AADT\" true true false 4 Long 0 0,First,#,C:\Pipeline.gdb\LRS\PTMS_Add,AADT,-1,-1;YEAR_ \"YEAR_\" true true false 2 Short 0 0,First,#,C:\Pipeline.gdb\LRS\PTMS_Add,YEAR_,-1,-1;Cosite \"Cosite\" true true false 6 Text 0 0,First,#,C:\Pipeline.gdb\LRS\PTMS_Add,Cosite,0,6;Classd \"Classd\" true true false 3 Text 0 0,First,#,C:\Pipeline.gdb\LRS\PTMS_Add,Classd,0,3;SECTION_ \"SECTION_\" true true false 8 Text 0 0,First,#,C:\Pipeline.gdb\LRS\PTMS_Add,SECTION_,0,8;COMM \"COMM\" true true false 254 Text 0 0,First,#,C:\Pipeline.gdb\LRS\PTMS_Add,COMM,0,254;Active \"Active\" true true false 1 Text 0 0,First,#,C:\Pipeline.gdb\LRS\PTMS_Add,Active,0,1;Sitetype \"Sitetype\" true true false 11 Text 0 0,First,#,C:\Pipeline.gdb\LRS\PTMS_Add,Sitetype,0,11;KFCTR \"KFCTR\" true true false 8 Double 0 0,First,#,C:\Pipeline.gdb\LRS\PTMS_Add,KFCTR,-1,-1;DFCTR \"DFCTR\" true true false 8 Double 0 0,First,#,C:\Pipeline.gdb\LRS\PTMS_Add,DFCTR,-1,-1;TFCTR \"TFCTR\" true true false 8 Double 0 0,First,#,C:\Pipeline.gdb\LRS\PTMS_Add,TFCTR,-1,-1;LOCATION \"LOCATION\" true true false 8 Double 0 0,First,#,C:\Pipeline.gdb\LRS\PTMS_Add,LOCATION,-1,-1;FromDate \"FromDate\" true true false 8 Date 0 0,First,#,C:\Pipeline.gdb\LRS\PTMS_Add,FromDate,-1,-1;ToDate \"ToDate\" true true false 8 Date 0 0,First,#,C:\Pipeline.gdb\LRS\PTMS_Add,ToDate,-1,-1;EventID \"EventID\" true true false 50 Text 0 0,First,#,C:\Pipeline.gdb\LRS\PTMS_Add,EventID,0,50"

load_type = "REPLACE_BY_EVENT_ID"

generate_event_ids = "NO_GENERATE_EVENT_IDS"

generate_shapes = "GENERATE_SHAPES"

# Execute the tool
arcpy.locref.AppendEvents(in_dataset, in_target_event, field_mapping, load_type, generate_event_ids, generate_shapes)

# Check in license
arcpy.CheckInExtension('LocationReferencing')
AppendEvents – Beispiel 3 (eigenständiges Skript)

Veranschaulicht die Verwendung der Funktion AppendEvents in einem eigenständigen Python-Skript zum Anhängen von Objektdatensätzen in einem Feature-Service.

# Name: AppendEvents_Pro_Ex3.py
# Description: Append events using a feature service. It is recommended to work in a version and post to the default version.
# Requires: ArcGIS Location Referencing

# Import arcpy module
import arcpy

# Check out license
arcpy.CheckOutExtension("LocationReferencing")

# Set tool variables
sourceevent = r"C:\LocationReferencing\LR.gdb\LRS\LineEvent"
field_mapping = r'FROMDATE "From Date" true true false 8 Date 0 0,First,#,C:\LocationReferencing\LR.gdb\LRS\LineEvent,FROMDATE,-1,-1;TODATE "To Date" true true false 8 Date 0 0,First,#,C:\LocationReferencing\LR.gdb\LRS\LineEvent,TODATE,-1,-1;EVENTID "Event ID" true true false 50 Text 0 0,First,#,C:\LocationReferencing\LR.gdb\LRS\LineEvent,EVENTID,0,50;ROUTEID "Route ID" true true false 255 Text 0 0,First,#,C:\LocationReferencing\LR.gdb\LRS\LineEvent,ROUTEID,0,255;FROMMEASURE "From Measure" true true false 0 Double 0 0,First,#,C:\LocationReferencing\LR.gdb\LRS\LineEvent,FROMMEASURE,-1,-1;TOMEASURE "To Measure" true true false 0 Double 0 0,First,#,C:\LocationReferencing\LR.gdb\LRS\LineEvent,TOMEASURE,-1,-1'
load_type = "ADD"
generate_event_ids = "NO_GENERATE_EVENT_IDS"
generate_shapes = "GENERATE_SHAPES"

# Target event is in a feature service. Sign in to portal is required to access the feature service. 
arcpy.SignInToPortal('https://yourdomain.com/portal', 'username', 'password')

# Map the target event from the feature service. In the feature service, 34 corresponds to the target event.
targetevent = r"https://yourdomain.com/server/rest/services/FeatureServiceName/FeatureServer/34"

# Execute the tool
arcpy.locref.AppendEvents(sourceevent, targetevent, field_mapping, load_type, generate_event_ids, generate_shapes)

# Check in license
arcpy.CheckInExtension('LocationReferencing')

Lizenzinformationen

  • Basic: Erfordert ArcGIS Location Referencing
  • Standard: Erfordert ArcGIS Location Referencing
  • Advanced: Erfordert ArcGIS Location Referencing

Verwandte Themen