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

摘要

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

使用情况

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

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

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

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

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

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

  • 如果输入事件或叠加事件属性为 Point 类型,则当叠加类型参数值为 Intersect 时,输出事件属性必须定义为 Point 类型。 当叠加类型参数值为联合时,输出事件属性必须定义为“线”类型。

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

  • 路径标识符字段上的属性索引可加快动态分段过程的速度。 如果将使用输出事件表参数值进行动态分段,建议创建属性索引。

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

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

参数

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

输入事件表。

Table View
输入事件表属性

输入事件表中的路径位置字段和事件类型。

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

叠加事件表。

Table View
叠加事件表属性

叠加事件表中的路径位置字段和事件类型。

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

事件类型 - 叠加事件表中的事件类型(PointLine)。

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

测量始于字段 - 包含测量始于值的字段。 此字段必须是数值型字段,并且在事件类型是 PointLine 时必填。 在事件类型Point 时,此参数的标注将变为测量字段

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

Route Measure Event Properties
叠加类型

指定要执行的叠加的类型。

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

要创建的表。

Table
输出事件表属性

将写入输出事件表的路径位置字段和事件类型。

  • 路径标识符字段 - 该字段将包含指示每个事件所在路径的值。 此字段可以是数值、文本或 GUID 字段。
  • 事件类型 - 输出事件表中将包含的事件类型(PointLine)。
    • Point - 点事件出现在沿路径的确切点位置处。 仅可指定只有单一测量字段
    • Line - 线事件定义路径的一部分。 “测量始于”和“测量止于”都是必须指定的字段。
  • 测量始于字段 - 将包含测量值的字段。 当事件类型是 PointLine 时,此字段为必填字段。 在事件类型值为 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

输入事件表中的路径位置字段和事件类型。

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

叠加事件表。

Table View
overlay_event_properties

叠加事件表中的路径位置字段和事件类型。

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

事件类型 - 叠加事件表中的事件类型(POINTLINE)。

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

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

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

Route Measure Event Properties
overlay_type

指定要执行的叠加的类型。

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

要创建的表。

Table
out_event_properties

将写入输出事件表的路径位置字段和事件类型。

  • 路径标识符字段 - 该字段将包含指示每个事件所在路径的值。 此字段可以是数值、文本或 GUID 字段。
  • 事件类型 - 输出事件表中将包含的事件类型(POINTLINE)。
    • POINT - 点事件出现在沿路径的确切点位置处。 仅可指定只有单一测量字段
    • LINE - 线事件定义路径的一部分。 “测量始于”和“测量止于”都是必须指定的字段。
  • 测量始于字段 - 将包含测量值的字段。 当事件类型是 POINTLINE 时,此字段为必填字段。
  • 测量止于字段 - 将包含测量值的字段。 当事件类型是 LINE 时,此字段为必填字段。
Route Measure Event Properties
zero_length_events
(可选)

指定是否将零长度线事件添加到 out_table 参数值。 此参数只有在输出事件类型为 LINE 时才有效。

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

指定是否将输入和叠加事件表中的所有字段都写入到 out_table 参数值。

  • FIELDS来自输入表的所有字段都将被包括到输出表中。 这是默认设置。
  • NO_FIELDS来自输入表的所有字段都不会被包括到输出表中。 只包括 ObjectID 字段 和路径位置字段。
Boolean
build_index
(可选)

指定是否为写入 out_table 参数值的路径标识符字段创建属性索引。

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

代码示例

OverlayRouteEvents 示例 1(Python 窗口)

以下 Python 窗口脚本演示了如何使用 OverlayRouteEvents 函数。

import arcpy
arcpy.env.workspace = "C:/Data"
arcpy.lr.OverlayRouteEvents("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"

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

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

# Run OverlayRouteEvents
arcpy.lr.OverlayRouteEvents(in_tbl, in_props, ov_tbl, ov_props, "INTERSECT", 
                            out_tbl, out_props)

许可信息

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

相关主题