Überlagerung von Routenereignissen (Lineare Referenzierung)
Summary
Dient zum Überlagern von zwei Ereignistabellen, um eine Ausgabeereignistabelle zu erstellen, in der die Vereinigung oder Überschneidung der Eingaben dargestellt wird.
Usage
-
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 Ausgabetabelle 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 | Explanation | Data Type |
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 |
Code Sample
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)