Überlagerung von Routenereignissen (Lineare Referenzierung)
Zusammenfassung
Dient zum Überlagern von zwei Ereignistabellen, um eine Ausgabeereignistabelle zu erstellen, in der die Vereinigung oder Überschneidung der Eingaben dargestellt wird.
Verwendung
-
Es können Ereignisüberlagerungen vom Typ "Linie auf Linie", "Punkt auf Linie" und "Punkt auf Punkt" ausgeführt werden.
-
Die Eingabe- und Overlay-Ereignisse sollten auf derselben Routenreferenz basieren.
-
Als Eingabe-Tabellen können alle von ArcGIS unterstützten Tabellentypen verwendet werden. Die Ausgabe-Tabelle kann eine dBASE-Datei oder eine Geodatabase-Tabelle sein.
-
Die Ausgabe-Tabelle kann in ArcMap angezeigt werden. Nutzen Sie hierfür das Werkzeug Routenereignis-Layer erstellen oder den Befehl "Routenereignisse anzeigen" in ArcMap.
-
Wenn sowohl die Eigenschaften der Eingabe- als auch der Overlay-Ereignisse vom Typ POINT sind, müssen auch die Eigenschaften der Ausgabeereignisse als POINT definiert werden.
-
Wenn sowohl die Eigenschaften der Eingabe- als auch der Overlay-Ereignisse vom Typ LINE sind, müssen auch die Eigenschaften der Ausgabeereignisse als LINE definiert werden.
-
Wenn entweder die Eigenschaften der Eingabe- oder der Overlay-Ereignisse vom Typ POINT sind, müssen die Eigenschaften der Ausgabeereignisse als POINT definiert werden, wenn eine INTERSECT-Überlagerung ausgeführt wird. Sie müssen als LINE definiert werden, wenn eine UNION-Überlagerung ausgeführt wird.
-
Wenn sowohl die Eigenschaften der Eingabe- als auch der Overlay-Ereignisse vom Typ POINT sind, gelten nur die Punkte als sich überlagernd, die über einen identischen Messwert verfügen. Es ist keine Suchtoleranz verfügbar.
-
Ein Attributindex für das Routenidentifizierungsfeld beschleunigt die dynamische Segmentierung. Wenn Sie die Ausgabeereignistabelle für die dynamische Segmentierung verwenden, empfiehlt es sich, einen Attributindex zu erstellen.
-
Um die Anzahl der zu verarbeitenden Ereignisse effektiv zu reduzieren, nutzen Sie das Werkzeug Tabellensicht erstellen, bevor Sie dieses Werkzeug verwenden.
-
Wenn die Eingabe- oder Overlay-Ereignisse kein ObjectID-Feld enthalten, verwenden Sie zunächst das Werkzeug Abfragetabelle erstellen, bevor Sie mit diesem Werkzeug ein virtuelles ObjectID-Feld hinzufügen.
Syntax
Parameter | Erläuterung | Datentyp |
in_table |
Die Eingabeereignistabelle | Table View |
in_event_properties |
Der Parameter, der sich aus den Routenpositionsfeldern und dem in der Eingabeereignistabelle festgelegten Ereignistyp zusammensetzt.
| Route Measure Event Properties |
overlay_table |
Die Overlay-Ereignistabelle | Table View |
overlay_event_properties |
Parameter, der sich aus den Routenpositionsfeldern und dem in der Overlay-Ereignistabelle festgelegten Ereignistyp zusammensetzt. Routenidentifizierungsfeld – Die Werte in diesem Feld geben an, entlang welcher Route sich die einzelnen Ereignisse befinden. Bei diesem Feld kann es sich um ein Zahlen- oder Zeichenfeld handeln. Ereignistyp – Der Ereignistyp in der Overlay-Ereignistabelle (POINT oder LINE).
Von-Messwert-Feld – Enthält Messwerte. Dieses Feld muss ein Zahlenfeld sein. Es ist erforderlich, wenn als Ereignistyp POINT oder LINE festgelegt wurde. Beachten Sie Folgendes: Wenn als Ereignistyp POINT festgelegt ist, ändert sich die Beschriftung für diesen Parameter in "Messwertfeld". Bis-Messwert-Feld – Enthält Messwerte. Dieses Feld muss ein Zahlenfeld sein. Es ist erforderlich, wenn als Ereignistyp LINE festgelegt wurde. | Route Measure Event Properties |
overlay_type |
Die Art der auszuführenden Überlagerung
| String |
out_table |
Die zu erstellende Tabelle. | Table |
out_event_properties |
Parameter, der sich aus den Routenpositionsfeldern und dem in die Ausgabeereignistabelle zu schreibenden Ereignistyp zusammensetzt.
| Route Measure Event Properties |
zero_length_events (optional) |
Gibt an, ob Linienereignisse mit der Länge Null in der Ausgabe-Tabelle erhalten werden. Dieser Parameter ist nur gültig, wenn als Ausgabeereignisart LINE festgelegt wurde.
| Boolean |
in_fields (optional) |
Gibt an, ob alle Felder aus den Eingabe- und Overlay-Ereignistabellen in die Ausgabeereignistabelle geschrieben werden.
| Boolean |
build_index (optional) |
Gibt an, ob für das Routenidentifizierungsfeld, das in die Ausgabeereignistabelle geschrieben wird, ein Attributindex erstellt wird.
| Boolean |
Codebeispiel
import arcpy from arcpy import env env.workspace = "C:/Data" arcpy.OverlayRouteEvents_lr ("accident.dbf", "rkey POINT mile" , "pavecond.dbf", "rkey LINE fmp tmp", "INTERSECT", \ "accpav", "rkey POINT mile" )
Das folgende Python-Skript veranschaulicht, wie die Funktion "OverlayRouteEvents" in einem eigenständigen Python-Skript verwendet wird.
# NAme: OverlayRouteEvents_Example.py # Description: Point-on-line INTERSECT overlay (both tables are dBASE) # Author: ESRI # Import system modules import arcpy from arcpy import env # Set workspace env.workspace = "C:/Data" # Set local variables in_tbl = "accident.dbf" in_props = "rkey POINT mile" # reused as out event properties ov_tbl = "pavecond.dbf" ov_props = "rkey LINE fmp tmp" out_tbl = "accpav" # Execute OverlayRouteEvents arcpy.OverlayRouteEvents_lr (in_tbl, in_props, ov_tbl, ov_props, "INTERSECT", \ out_tbl, in_props)
Das folgende Python-Skript veranschaulicht, wie die Funktion "OverlayRouteEvents" in einem eigenständigen Python-Skript mit File-Geodatabase-Daten verwendet wird.
# Name OverlayRouteEvents_Example2.py # Description: Line-on-line UNION overlay (both tables are in a file geodatabase) # Author: ESRI # Import system modules import arcpy from arcpy import env # Set workspace env.workspace = "C:/Data/Pitt.gdb" # Set local variables in_tbl = "pavecond" in_props = "rkey LINE fmp tmp" # reused as overlay and out event properties ov_tbl = "pavetype" out_tbl = "condtype" # Execute OverlayRouteEvents arcpy.OverlayRouteEvents_lr (in_tbl, in_props, ov_tbl, in_props, "UNION", \ out_tbl, in_props, "NO_ZERO")
Das folgende Python-Skript veranschaulicht, wie die Funktion "OverlayRouteEvents" in einem eigenständigen Python-Skript mit Personal-Geodatabase-Daten verwendet wird.
# Name: OverlayRouteEvents_Example3.py # Description: Line-on-line UNION overlay (both tables are in a personal geodatabase) # Author: ESRI # Import system modules import arcpy from arcpy import env # Set workspace env.workspace = "C:/Data/Pitt.mdb" # Set local variables in_tbl = "pavecond" in_props = "rkey LINE fmp tmp" # reused as overlay and out event properties ov_tbl = "pavetype" out_tbl = "condtype" # Execute OverlayRouteEvents arcpy.OverlayRouteEvents_lr (in_tbl, in_props, ov_tbl, in_props, "UNION", \ out_tbl, in_props, "NO_ZERO")
Das folgende Python-Skript veranschaulicht, wie die Funktion "OverlayRouteEvents" in einem eigenständigen Python-Skript mit SDE-Daten verwendet wird.
# Name: OverlayRouteEvents_Example4.py # Description: Point-on-line INTERSECT overlay (both tables are in enterprise geodatabase) # Import system modules import arcoy from arcpy import env # Set workspace env.workspace = "Database Connections/Connection to Jerry.sde" # Set local variables in_tbl = gp.QualifyTableName("accident", wkspc) in_props = "rkey POINT mile" ov_tbl = gp.QualifyTableName("pavecond", wkspc) ov_props = "rkey LINE fmp tmp" out_tbl = "accpav" out_props = "routekey POINT milepost" # names are changed for out table # Execute OverlayRouteEvents arcpy.OverlayRouteEvents_lr (in_tbl, in_props, ov_tbl, ov_props, "INTERSECT", \ out_tbl, out_props)