摘要
将两个事件表叠加起来创建一个输出事件表,以表示输入的并集或交集。
用法
可以执行线-线、线-点、点-线以及点-点事件叠加。
输入事件和叠加事件均应基于相同的路径参考。
输入表可以是 ArcGIS 支持的任何类型的表。输出表可以是 dBASE 文件或地理数据库表。
使用创建路径事件图层工具或使用 ArcMap 中的“显示路径事件”命令可在 ArcMap 中显示输出表。
如果输入事件和叠加事件属性均为 POINT 类型,则输出事件属性也必须定义为 POINT 类型。
如果输入事件和叠加事件属性均为 LINE 类型,则输出事件属性也必须定义为 LINE 类型。
如果输入事件或叠加事件属性为 POINT 类型,则在执行 INTERSECT 叠加时必须将输出事件属性定义为 POINT 类型。在执行 UNION 叠加时必须将输出事件属性定义为 LINE 类型。
如果输入事件和叠加事件属性均为 POINT 类型,则在执行相交操作时只考虑测量值完全相同的点。不存在搜索容差。
路径标识符字段上的属性索引可加快动态分段过程的速度。如果要为动态分段使用输出事件表,建议您选择创建属性索引。
在使用此工具之前先使用创建表视图工具有效降低要处理的事件数。
如果输入事件或叠加事件没有 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 for Desktop Basic: 是
- ArcGIS for Desktop Standard: 是
- ArcGIS for Desktop Advanced: 是