沿路径定位要素 (线性参考)

摘要

计算输入要素(点、线或面)与路径要素的交集,并将路径和测量信息写入新的事件表。

使用情况

  • 输出表可以是 dBASE 文件或地理数据库表。

  • 输入要素是点时事件类型必须是,而在输入要素是线或面时必须是线

  • 在输入要素与目标路径精确重叠时可取得最佳结果。

    警告:

    如果使用较大的搜索半径或拓扑容差克服输入要素与目标路径之间的偏差,则可能产生意想不到的结果。

  • 要减少此工具处理的输入要素的数量,可以输入能够执行选择操作的图层。

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

参数

标注说明数据类型
输入要素

输入点、线或面要素。

Feature Layer
输入路径要素

将与输入要素相交的路径。

Feature Layer
路径标识符字段

包含可唯一识别每条路径的值的字段。该字段可以是数值或字符。

Field
搜索半径

如果输入要素是点,则搜索半径是数值,定义可在每个点周围的多大范围内执行搜索以找到目标路径。

如果输入要素是线,则搜索容差实际上是拓扑容差,即表示输入线与目标路径之间的最大容许距离的数值。

如果输入要素是面,则忽略此参数且不使用搜索半径。

Linear Unit
输出事件表

要创建的表。

Table
输出事件表属性

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

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

在沿路径定位点时,对于任何给定的点来说,在搜索半径范围内可能有多条路径。沿路径定位线或面时将忽略此参数。

  • 选中 - 只将最近的路径位置写入输出事件表。这是默认设置。
  • 未选中 - 将每个路径位置(搜索半径范围内)都写入输出事件表。
Boolean
在输出表中包括距离字段
(可选)

指定是否将名为 DISTANCE 的字段添加到输出事件表。该字段中值的单位与指定搜索半径的单位相同。沿路径定位线或面时将忽略此参数。

  • 选中 - 包含点到路径距离的字段被添加到输出事件表。这是默认设置。
  • 未选中 - 包含点到路径距离的字段不被添加到输出事件表。
Boolean
保留零长度线事件
(可选)

沿路径定位面时,可在“测量始于”等于“测量止于”的位置处创建事件。沿路径定位点或线时将忽略此参数。

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

指定输出事件表中是否包含路径位置字段以及输入要素的所有属性。

  • 选中 - 输出事件表中包含路径位置字段和输入要素的所有属性。这是默认设置。
  • 未选中 - 输出事件表中只包含路径位置字段和输入要素的 ObjectID 字段。
Boolean
使用 M 方向偏移
(可选)

指定计算的偏移距离应基于 M 方向还是数字化方向。如果已选中将距离字段添加到输出表上,则输出事件表中包括距离。

  • 选中 - 基于路径的 M 方向计算输出事件表中的距离值。位于路径 M 方向左侧的输入要素将被赋予正偏移值 (+),位于 M 方向右侧的要素将被赋予负偏移值 (-)。这是默认设置。
  • 未选中 - 基于路径的数字化方向计算输出事件表中的距离值。位于路径数字化方向左侧的输入要素将被赋予负偏移值 (-),位于路径数字化方向右侧的要素将被赋予正偏移值 (+)。
Boolean

arcpy.lr.LocateFeaturesAlongRoutes(in_features, in_routes, route_id_field, radius_or_tolerance, out_table, out_event_properties, {route_locations}, {distance_field}, {zero_length_events}, {in_fields}, {m_direction_offsetting})
名称说明数据类型
in_features

输入点、线或面要素。

Feature Layer
in_routes

将与输入要素相交的路径。

Feature Layer
route_id_field

包含可唯一识别每条路径的值的字段。该字段可以是数值或字符。

Field
radius_or_tolerance

如果输入要素是点,则搜索半径是数值,定义可在每个点周围的多大范围内执行搜索以找到目标路径。

如果输入要素是线,则搜索容差实际上是拓扑容差,即表示输入线与目标路径之间的最大容许距离的数值。

如果输入要素是面,则忽略此参数且不使用搜索半径。

Linear Unit
out_table

要创建的表。

Table
out_event_properties

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

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

在沿路径定位点时,对于任何给定的点来说,在搜索半径范围内可能有多条路径。沿路径定位线或面时将忽略此参数。

  • FIRST只将最近的路径位置写入输出事件表。这是默认设置。
  • ALL将每个路径位置(搜索半径范围内)都写入输出事件表。
Boolean
distance_field
(可选)

指定是否将名为 DISTANCE 的字段添加到输出事件表。该字段中值的单位与指定搜索半径的单位相同。沿路径定位线或面时将忽略此参数。

  • DISTANCE包含点到路径距离的字段被添加到输出事件表。这是默认设置。
  • NO_DISTANCE包含点到路径距离的字段不被添加到输出事件表。
Boolean
zero_length_events
(可选)

沿路径定位面时,可在“测量始于”等于“测量止于”的位置处创建事件。沿路径定位点或线时将忽略此参数。

  • ZERO零长度线事件被写入输出事件表。这是默认设置。
  • NO_ZERO零长度线事件不被写入输出事件表。
Boolean
in_fields
(可选)

指定输出事件表中是否包含路径位置字段以及输入要素的所有属性。

  • FIELDS输出事件表中包含路径位置字段和输入要素的所有属性。这是默认设置。
  • NO_FIELDS输出事件表中只包含路径位置字段和输入要素的 ObjectID 字段。
Boolean
m_direction_offsetting
(可选)

指定计算的偏移距离应基于 M 方向还是数字化方向。如果 distance_field="DISTANCE",则输出事件表中将包括距离。

  • M_DIRECTON将基于路径的 M 方向计算输出事件表中的距离值。位于路径 M 方向左侧的输入要素将被赋予正偏移值 (+),位于 M 方向右侧的要素将被赋予负偏移值 (-)。这是默认设置。
  • NO_M_DIRECTION基于路径的数字化方向计算输出事件表中的距离值。位于路径数字化方向左侧的输入要素将被赋予负偏移值 (-),位于路径数字化方向右侧的要素将被赋予正偏移值 (+)。
Boolean

代码示例

LocateFeaturesAlongRoutes 示例 1(Python 窗口)

以下 Python 脚本演示了如何在 Python 窗口中使用 LocateFeaturesAlongRoutes 函数

import arcpy
arcpy.env.workspace = "C:/Data"
arcpy.LocateFeaturesAlongRoutes_lr("rail_segments.shp", "rail_routes.shp", 
                                   "rkey", "0.5 Feet", "locate_lines", 
                                   "rkey LINE fmp tmp")
LocateFeaturesAlongRoutes 示例 2(独立脚本)

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

# Name: LocateFeaturesAlongRoutes_Example2.py
# Description: Locate shapefile lines along shapefile routes.
# Import system modules
import arcpy
# Set workspace
arcpy.env.workspace = "C:/Data"
# Set local variables
feats = "rail_segments.shp"
rts = "rail_routes.shp"
rid = "rkey"
tol = "0.5 Feet"
tbl = "locate_lines"
props = "rkey LINE fmp tmp" 
# Execute LocateFeaturesAlongRoutes
arcpy.LocateFeaturesAlongRoutes_lr(feats, rts, rid, tol, tbl, props)
LocateFeaturesAlongRoutes 示例 3(独立脚本)

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

# Name: LocateFeaturesAlongRoutes_Example3.py
# Description: Locate personal geodatabase points along file geodatabase routes.
# Import system modules 
import arcpy
# Set workspace
arcpy.env.workspace = "C:/Data/Pitt.gdb"
# Set local variables
feats = "rail/crossings"  # crossings is in the rail feature dataset 
rts = "rail/routes"  # routes is in the rail feature dataset
rid = "rkey"
rad = "10 Feet"
tbl = "locate_points"
props = "rkey POINT mp" 
# Execute LocateFeaturesAlongRoutes
arcpy.LocateFeaturesAlongRoutes_lr(feats, rts, rid, rad, tbl, props)
LocateFeaturesAlongRoutes 示例 4(独立脚本)

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

# Name: LocateFeaturesAlongRoutes_Example4.py
# Description:  Locate enterprise geodatabase polygons along enterprise geodatabase routes.
# Import system modules
import arcpy
# Set workspace
arcpy.env.workspace = "C:/MyProject/myConn.sde"
# Set local variables
feats = arcpy.ValidateTableName("counties", wkspc)  # standalone feature class
rts = arcpy.ValidateTableName("rail_routes", wkspc)  # standalone feature class
rid = "rkey"
tbl = "locate_polys"
props = "rkey LINE fmp tmp" 
# Execute LocateFeaturesAlongRoutes
arcpy.LocateFeaturesAlongRoutes_lr(feats, rts, rid, "#", tbl, props, "#", "#", 
                                   "NO_ZERO", "M_DIRECTON")

许可信息

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

相关主题