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 in eine Datei im ArcGIS Server-Verzeichnis geschrieben. Diese Datei wird standardmäßig automatisch nach 10 Minuten bereinigt. Das ist möglicherweise nicht ausreichend, um alle Validierungen zu verarbeiten und in die Workstation mit der ArcGIS Pro-Instanz 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.

    Weitere Informationen zum Erstellen eines LRS-Datasets in ArcGIS Pipeline Referencing und zum Erstellen eines LRS-Datasets in ArcGIS Roads and Highways

  • Bei dem Wert für Eingabeobjekt kann es sich um eine Tabelle, einen Layer oder eine Feature-Class handeln.

    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

  • Bei dem Wert für Zielobjekt sollte es sich um einen Layer oder eine Feature-Class handeln, 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 muss übereinstimmen.

  • Wenn neue Objekte mit dem Wert Hinzufügen des Parameters Ladetyp angehängt werden und für den Wert unter Zielobjekt das Feld RouteName konfiguriert wurde, können Objekte über das Feld RouteName angehängt werden.

    • Wenn Datensätze unter Eingabeobjekt RouteID-Felder mit NULL-Werten, aber auch RouteName-Felder enthalten, können Objekte über das Feld RouteName angehängt werden. RouteID -Felder werden für die angehängten Objekte automatisch generiert.
    • Wenn Datensätze unter Eingabeobjekt sowohl RouteID-Felder als auch RouteName-Felder enthalten, werden Objekte über das Feld RouteID angehängt.
  • Wenn der Parameter Objekt-ID-GUIDs für geladene Objekte generieren aktiviert ist, 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.

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

  • 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 der Werkzeugausführung 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=RouteName Text width 255
    Col5=FromMeasure Double
    Col6=ToMeasure Double
    Col7=RdType Long
    Col8=EventID Text width 50

    Weitere Informationen zum Hinzufügen einer ASCII- oder Textdateitabelle

Parameter

BeschriftungErläuterungDatentyp
Eingabeobjekt

Die anzuhängenden Quellobjekt-Datensätze.

Table View
Zielobjekt

Der Objekt-Layer oder die Feature-Class von Location Referencing, 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 an ein vorhandenes 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 in die Ziel-Event-Feature-Class geladen werden.

  • HinzufügenDie Datensätze unter Eingabeobjekt werden an die angegebene Ziel-Event-Feature-Class angehängt.
  • Überlappungen stilllegenDie Datensätze unter Eingabeobjekt werden an die angegebene Ziel-Event-Feature-Class angehängt. Dabei werden Datensätze, die dieselben Messwerte wie die angehängten Objekte oder damit überlappende Zeiträume aufweisen, stillgelegt. Wenn das angehängte Objekt das angegebene Ziel-Objekt-Feature übersteigt, wird der Zielobjekt-Datensatz gelöscht. Verwenden Sie diese Option nur für lineare Objekte.
  • Nach Objekt-ID stilllegenDie Datensätze unter Eingabeobjekt werden an die angegebene Ziel-Event-Feature-Class angehängt. Dabei werden Datensätze, die dieselbe Objekt-ID wie die angehängten Objekte und damit überlappende Zeiträume aufweisen, stillgelegt. Wenn das angehängte Objekt einen Zielobjekt-Datensatz mit identischer Objekt-ID übersteigt, wird der Zielobjekt-Datensatz gelöscht.
  • Durch Objekt-ID ersetzenDie Datensätze unter Eingabeobjekt werden an die angegebene Ziel-Event-Feature-Class angehängt. Dabei werden Datensätze, die dieselbe Objekt-ID wie die angehängten Objekte aufweisen, ersetzt.
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 der Wert für 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, dem bzw. der die Quellobjekt-Datensätze angehängt werden.

Feature Layer
field_mapping

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

Da der Wert des Parameters in_dataset an ein vorhandenes 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, die überlappende Messwerte oder überlappende Zeiträume und dieselben Objekt-IDs wie die in_target_event-Datensätze aufweisen, in die Event-Feature-Class geladen werden.

  • ADDDie Datensätze unter in_dataset werden an die angegebene Ziel-Event-Feature-Class angehängt. An Zielobjekt-Datensätzen werden keine Änderungen vorgenommen.
  • RETIRE_OVERLAPSDie Datensätze unter in_dataset werden an die angegebene Ziel-Event-Feature-Class angehängt. Dabei werden Datensätze, die dieselben Messwerte wie die angehängten Objekte oder damit überlappende Zeiträume aufweisen, stillgelegt. Wenn das angehängte Objekt das angegebene Ziel-Objekt-Feature übersteigt, wird der Zielobjekt-Datensatz gelöscht. Verwenden Sie diese Option nur für lineare Objekte.
  • RETIRE_BY_EVENT_IDDie Datensätze unter in_dataset werden an die angegebene Ziel-Event-Feature-Class angehängt. Dabei werden Datensätze, die dieselbe Objekt-ID wie die angehängten Objekte und damit überlappende Zeiträume aufweisen, stillgelegt. Wenn das angehängte Objekt einen Zielobjekt-Datensatz mit identischer Objekt-ID übersteigt, wird der Zielobjekt-Datensatz gelöscht.
  • REPLACE_BY_EVENT_IDDie Datensätze unter in_dataset werden an die angegebene Ziel-Event-Feature-Class angehängt. Dabei werden Datensätze, die dieselbe Objekt-ID wie die angehängten Objekte aufweisen, ersetzt.
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 der Wert für 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 an eine vorhandene Event-Feature-Class.

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

# 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;RouteName "RouteName" true true false 255 Text 0 0,First,#,C:\Pipeline.gdb\LRS\PTMS_Add,RouteName,0,255'

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)
AppendEvents: Beispiel 2 (eigenständiges Skript)

Veranschaulicht die Verwendung der Funktion AppendEvents in einem eigenständigen Python-Skript zum Anhängen von Objektdatensätzen an eine vorhandene 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 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;RouteName \"RouteName\" true true false 255 Text 0 0,First,#,C:\Pipeline.gdb\LRS\PTMS_Add,RouteName,0,255"

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 an einen 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
in_dataset = 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;RouteName "RouteName" true true false 255 Text 0 0,First,#,C:\Pipeline.gdb\LRS\PTMS_Add,RouteName,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.
in_target_event = r"https://yourdomain.com/server/rest/services/FeatureServiceName/FeatureServer/34"

# 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')

Lizenzinformationen

  • Basic: Erfordert ArcGIS Location Referencing (ArcGIS Pipeline Referencing oder ArcGIS Roads and Highways)
  • Standard: Erfordert ArcGIS Location Referencing (ArcGIS Pipeline Referencing oder ArcGIS Roads and Highways)
  • Advanced: Erfordert ArcGIS Location Referencing (ArcGIS Pipeline Referencing oder ArcGIS Roads and Highways)

Verwandte Themen