叠加路径事件 (线性参考)

摘要

将两个事件表叠加起来创建一个输出事件表,以表示输入的并集或交集。

使用情况

  • 可以执行线-线、线-点、点-线以及点-点事件叠加。

  • 输入事件和叠加事件均应基于相同的路径参考。

  • 输入表可以是 ArcGIS 支持的任何类型的表。输出表可以是 dBASE 文件或地理数据库表。

  • 可使用创建路径事件图层工具将输出表显示在地图中。

  • 如果输入事件和叠加事件属性均为类型,则输出事件属性也必须定义为类型。

  • 如果输入事件和叠加事件属性均为线类型,则输出事件属性也必须定义为线类型。

  • 如果输入事件或叠加事件属性为类型,则在执行相交叠加时必须将输出事件属性定义为类型。在执行联合叠加时必须将输出事件属性定义为线类型。

  • 如果输入事件和叠加事件属性均为类型,则在执行相交操作时只考虑测量值完全相同的点。不存在搜索容差。

  • 路径标识符字段上的属性索引可加快动态分段过程的速度。如果要为动态分段使用输出事件表,建议您选择创建属性索引。

  • 在使用此工具之前先使用创建表视图工具有效降低要处理的事件数。

  • 如果输入事件或叠加事件没有 ObjectID 字段,在使用此工具之前先使用创建查询表工具添加虚拟 ObjectID 字段。

参数

标注说明数据类型
输入事件表

输入事件表。

Table View
输入事件表属性

输入事件表中由路径位置字段和事件类型组成的参数。

  • 路径标识符字段 - 包含指明每个事件所在路径的值的字段。该字段可以是数值或字符。
  • 事件类型 - 输入事件表中的事件类型(POINT 或 LINE)。
    • POINT - 点事件出现在沿路径的确切点位置处。只有“测量始于”是必须指定的字段。
    • LINE - 线事件定义路径的一部分。“测量始于”和“测量止于”都是必须指定的字段。
  • 测量始于字段 - 包含测量值的字段。此字段必须是数值型字段,并且在事件类型是 POINT 或 LINE 时必填。请注意,事件类型为 POINT 时,此参数的标注变为“测量字段”。
  • 测量止于字段 - 包含测量值的字段。此字段必须是数值字段,在事件类型是 LINE 时必填。
Route Measure Event Properties
叠加事件表

叠加事件表。

Table View
叠加事件表属性

叠加事件表中由路径位置字段和事件类型组成的参数。

路径标识符字段 - 包含指明每个事件所沿路径的值的字段。该字段可以是数值或字符。

事件类型 - 叠加事件表中的事件类型(POINT 或 LINE)。

  • POINT - 点事件出现在沿路径的确切点位置处。只有“测量始于”是必须指定的字段。
  • LINE - 线事件定义路径的一部分。“测量始于”和“测量止于”都是必须指定的字段。

测量始于字段 - 包含测量值的字段。此字段必须是数值型字段,并且在事件类型是 POINT 或 LINE 时必填。请注意,在事件类型是 POINT 时,此参数的标注将变为“测量字段”。

测量止于字段 - 包含测量值的字段。此字段必须是数值字段,在事件类型是 LINE 时必填。

Route Measure Event Properties
叠加类型

要执行的叠加的类型。

  • 相交只将叠加事件写入输出事件表。这是默认设置。
  • 联合将所有事件都写入输出表。线性事件在其相交位置进行分割。
String
输出事件表

要创建的表。

Table
输出事件表属性

由要写入输出事件表的路径位置字段和事件类型组成的参数。

  • 路径标识符字段 - 包含指明每个事件所在路径的值的字段。
  • 事件类型 - 输出事件表包含的事件类型(POINT 或 LINE)。
    • POINT - 点事件出现在沿路径的确切点位置处。只有一个测量字段是必须指定的字段。
    • LINE - 线事件定义路径的一部分。“测量始于”和“测量止于”都是必须指定的字段。
  • “测量始于”字段 - 包含测量值的字段。在事件类型是 POINT 或 LINE 时必填。请注意,事件类型为 POINT 时,此参数的标注变为“测量字段”。
  • “测量止于”字段 - 包含测量值的字段。在事件类型是 LINE 时必填。
Route Measure Event Properties
保留零长度线事件
(可选)

指定是否在输出表中保留零长度线事件。此参数只有在输出事件类型为 LINE 时才有效。

  • 选中 - 保留零长度线事件。这是默认设置。
  • 未选中 - 不保留零长度线事件。
Boolean
包括输入的所有字段
(可选)

指定是否将输入和叠加事件表中的所有字段都写入输出事件表。

  • 选中 - 输出表中包括输入表的所有字段。这是默认设置。
  • 未选中 - 输出表中不包括输入表的所有字段。只保留 ObjectID 和路径位置字段。
Boolean
构建索引
(可选)

指定是否为写入输出事件表的路径标识符字段创建属性索引。

  • 选中 - 创建属性索引。这是默认设置。
  • 未选中 - 不创建属性索引。
Boolean

arcpy.lr.OverlayRouteEvents(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

输入事件表中由路径位置字段和事件类型组成的参数。

  • 路径标识符字段 - 包含指明每个事件所在路径的值的字段。该字段可以是数值或字符。
  • 事件类型 - 输入事件表中的事件类型(POINT 或 LINE)。
    • POINT - 点事件出现在沿路径的确切点位置处。只有“测量始于”是必须指定的字段。
    • LINE - 线事件定义路径的一部分。“测量始于”和“测量止于”都是必须指定的字段。
  • 测量始于字段 - 包含测量值的字段。此字段必须是数值型字段,并且在事件类型是 POINT 或 LINE 时必填。请注意,事件类型为 POINT 时,此参数的标注变为“测量字段”。
  • 测量止于字段 - 包含测量值的字段。此字段必须是数值字段,在事件类型是 LINE 时必填。
Route Measure Event Properties
overlay_table

叠加事件表。

Table View
overlay_event_properties

叠加事件表中由路径位置字段和事件类型组成的参数。

路径标识符字段 - 包含指明每个事件所沿路径的值的字段。该字段可以是数值或字符。

事件类型 - 叠加事件表中的事件类型(POINT 或 LINE)。

  • POINT - 点事件出现在沿路径的确切点位置处。只有“测量始于”是必须指定的字段。
  • LINE - 线事件定义路径的一部分。“测量始于”和“测量止于”都是必须指定的字段。

测量始于字段 - 包含测量值的字段。此字段必须是数值型字段,并且在事件类型是 POINT 或 LINE 时必填。请注意,在事件类型是 POINT 时,此参数的标注将变为“测量字段”。

测量止于字段 - 包含测量值的字段。此字段必须是数值字段,在事件类型是 LINE 时必填。

Route Measure Event Properties
overlay_type

要执行的叠加的类型。

  • INTERSECT只将叠加事件写入输出事件表。这是默认设置。
  • UNION将所有事件都写入输出表。线性事件在其相交位置进行分割。
String
out_table

要创建的表。

Table
out_event_properties

由要写入输出事件表的路径位置字段和事件类型组成的参数。

  • 路径标识符字段 - 包含指明每个事件所在路径的值的字段。
  • 事件类型 - 输出事件表包含的事件类型(POINT 或 LINE)。
    • POINT - 点事件出现在沿路径的确切点位置处。只有一个测量字段是必须指定的字段。
    • LINE - 线事件定义路径的一部分。“测量始于”和“测量止于”都是必须指定的字段。
  • “测量始于”字段 - 包含测量值的字段。在事件类型是 POINT 或 LINE 时必填。请注意,事件类型为 POINT 时,此参数的标注变为“测量字段”。
  • “测量止于”字段 - 包含测量值的字段。在事件类型是 LINE 时必填。
Route Measure Event Properties
zero_length_events
(可选)

指定是否在输出表中保留零长度线事件。此参数只有在输出事件类型为 LINE 时才有效。

  • ZERO保留零长度线事件。这是默认设置。
  • NO_ZERO不保留零长度线事件。
Boolean
in_fields
(可选)

指定是否将输入和叠加事件表中的所有字段都写入输出事件表。

  • FIELDS输出表中包括输入表的所有字段。这是默认设置。
  • NO_FIELDS输出表中不包括输入表的所有字段。只保留 ObjectID 和路径位置字段。
Boolean
build_index
(可选)

指定是否为写入输出事件表的路径标识符字段创建属性索引。

  • INDEX创建属性索引。这是默认设置。
  • NO_INDEX不创建属性索引。
Boolean

代码示例

OverlayRouteEvents 示例 1(Python 窗口)
import arcpy
arcpy.env.workspace = "C:/Data"
arcpy.OverlayRouteEvents_lr("accident.dbf", "rkey POINT mile", "pavecond.dbf", 
                            "rkey LINE fmp tmp", "INTERSECT", "accpav", 
                            "rkey POINT mile" )
OverlayRouteEvents 示例 2(独立脚本)

以下 Python 脚本演示了如何在独立 Python 脚本中使用 OverlayRouteEvents 函数。

# Description: Point-on-line INTERSECT overlay (both tables are dBASE)
# Import system modules 
import arcpy
# Set workspace
arcpy.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 示例 3(独立脚本)

以下 Python 脚本演示了如何在独立 Python 脚本中将 OverlayRouteEvents 函数与文件地理数据库数据结合使用。

# Description: Line-on-line UNION overlay (both tables are in a file 
#              geodatabase)
# Import system modules
import arcpy
# Set workspace
arcpy.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 示例 4(独立脚本)

以下 Python 脚本演示了如何在独立 Python 脚本中将 OverlayRouteEvents 函数与企业级地理数据库数据结合使用。

# Description: Point-on-line INTERSECT overlay (both tables are in enterprise 
#              geodatabase)
# Import system modules 
import arcpy
# Set workspace
arcpy.env.workspace = "C:/MyProject/myConn.sde"
# Set local variables
in_tbl = arcpy.ValidateTableName("accident", wkspc)
in_props = "rkey POINT mile"  
ov_tbl = arcpy.ValidateTableName("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)

许可信息

  • Basic: 是
  • Standard: 是
  • Advanced: 是

相关主题