摘要
将两个事件表叠加起来创建一个输出事件表,以表示输入的并集或交集。
用法
可以执行线-线、线-点、点-线以及点-点事件叠加。
输入事件和叠加事件均应基于相同的路径参考。
输入表可以是 ArcGIS 支持的任何类型的表。输出表可以是 dBASE 文件或地理数据库表。
使用创建路径事件图层工具或使用 ArcMap 中的“显示路径事件”命令可在 ArcMap 中显示输出表。
如果输入事件和叠加事件属性均为 POINT 类型,则输出事件属性也必须定义为 POINT 类型。
如果输入事件和叠加事件属性均为 LINE 类型,则输出事件属性也必须定义为 LINE 类型。
如果输入事件或叠加事件属性为“点”类型,则在执行“相交”叠加时必须将输出事件属性定义为“点”类型。在执行 UNION 叠加时必须将输出事件属性定义为 LINE 类型。
如果输入事件和叠加事件属性均为“点”类型,则在执行相交操作时只考虑测量值完全相同的点。不存在搜索容差。
路径标识符字段上的属性索引可加快动态分段过程的速度。如果要为动态分段使用输出事件表,建议您选择创建属性索引。
在使用此工具之前先使用创建表视图工具有效降低要处理的事件数。
如果输入事件或叠加事件没有 ObjectID 字段,在使用此工具之前先使用创建查询表工具添加虚拟 ObjectID 字段。
语法
OverlayRouteEvents_lr (in_table, in_event_properties, overlay_table, overlay_event_properties, overlay_type, out_table, out_event_properties, {zero_length_events}, {in_fields}, {build_index})
参数 | 说明 | 数据类型 |
in_table | 输入事件表。 | Table View |
in_event_properties | 输入事件表中由路径位置字段和事件类型组成的参数。
| Route Measure Event Properties |
overlay_table | 叠加事件表。 | Table View |
overlay_event_properties | 叠加事件表中由路径位置字段和事件类型组成的参数。 路径标识符字段 - 包含指明每个事件所沿路径的值的字段。该字段可以是数值或字符。 事件类型 - 叠加事件表中的事件类型(POINT 或 LINE)。
测量始于字段 - 包含测量值的字段。此字段必须是数值型字段,并且在事件类型是 POINT 或 LINE 时必填。请注意,在事件类型是 POINT 时,此参数的标注将变为“测量字段”。 测量止于字段 - 包含测量值的字段。此字段必须是数值字段,在事件类型是 LINE 时必填。 | Route Measure Event Properties |
overlay_type | 要执行的叠加的类型。
| String |
out_table | 要创建的表。 | Table |
out_event_properties | 由要写入输出事件表的路径位置字段和事件类型组成的参数。
| Route Measure Event Properties |
zero_length_events (可选) | 指定是否在输出表中保留零长度线事件。此参数只有在输出事件类型为 LINE 时才有效。
| Boolean |
in_fields (可选) | 指定是否将输入和叠加事件表中的所有字段都写入输出事件表。
| Boolean |
build_index (可选) | 指定是否为写入输出事件表的路径标识符字段创建属性索引。
| Boolean |
代码示例
OverlayRouteEvents 示例(Python 窗口)
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" )
OverlayRouteEvents 示例(独立 Python 脚本)
以下 Python 脚本演示了如何在独立 Python 脚本中使用 OverlayRouteEvents 函数。
# 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)
OverlayRouteEvents 示例 2(独立 Python 脚本)
以下 Python 脚本演示了如何在独立 Python 脚本中将 OverlayRouteEvents 函数与文件地理数据库数据结合使用。
# 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")
OverlayRouteEvents 示例 3(独立 Python 脚本)
以下 Python 脚本演示了如何在独立 Python 脚本中将 OverlayRouteEvents 函数与个人地理数据库数据结合使用。
# 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")
OverlayRouteEvents 示例 4(独立 Python 脚本)
以下 Python 脚本演示了如何在独立 Python 脚本中将 OverlayRouteEvents 函数与 SDE 数据结合使用。
# 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)
环境
许可信息
- ArcGIS Desktop Basic: 是
- ArcGIS Desktop Standard: 是
- ArcGIS Desktop Advanced: 是