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

摘要

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

使用情况

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

  • 输入要素参数值为点时,事件类型值必须设置为。 当输入要素参数值为线或面时,事件类型值必须设置为线

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

    警告:

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

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

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

参数

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

输入点、线或面要素。

Feature Layer
输入路径要素

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

Feature Layer
路径标识符字段

包含可唯一识别每条路径的值的字段。 此字段可以是数值、文本或 GUID 字段。

Field
搜索半径

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

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

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

Linear Unit
输出事件表

要创建的表。

Table
输出事件表属性

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

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

将与 in_features 参数值相交的路径。

Feature Layer
route_id_field

包含可唯一识别每条路径的值的字段。 此字段可以是数值、文本或 GUID 字段。

Field
radius_or_tolerance

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

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

如果 in_features 参数值是面,则忽略此参数且不使用搜索半径。

Linear Unit
out_table

要创建的表。

Table
out_event_properties

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

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

指定是否将最近的路线位置或搜索半径内的每个路线位置写入 out_table 参数值。 在沿路线定位点时,任何给定点的搜索半径内可能有不止一条路线。 沿路径定位线或面时将忽略此参数。

  • FIRST只将最近的路径位置写入 out_table 参数值。 这是默认设置。
  • ALL将每个路径位置(搜索半径范围内)都写入 out_table 参数值。
Boolean
distance_field
(可选)

指定是否将 DISTANCE 字段添加到 out_table 参数值。 此字段中的值以指定的搜索半径为单位。 沿路径定位线或面时将忽略此参数。

  • DISTANCE包含点到路径距离的字段将被添加到 out_table 参数值。 这是默认设置。
  • NO_DISTANCE包含点到路径距离的字段将不被添加到 out_table 参数值。
Boolean
zero_length_events
(可选)

指定是否将零长度线事件写入输出。 当沿路线定位面时,可能会创建其中“测量始于”等于“测量止于”的事件。 沿路径定位点或线时将忽略此参数。

  • ZERO零长度线事件被写入 out_table 参数值。 这是默认设置。
  • NO_ZERO零长度线事件将不被写入 out_table 参数值。
Boolean
in_fields
(可选)

指定 out_table 参数值是否包含路径位置字段以及来自 in_features 参数值的所有属性。

  • FIELDSout_table 参数值包含路径位置字段以及来自 in_features 参数值的所有属性。 这是默认设置。
  • NO_FIELDSout_table 参数值将仅包含路径位置字段以及 in_features 参数值的 ObjectID 字段。
Boolean
m_direction_offsetting
(可选)

指定计算的偏移距离是基于 m 方向还是数字化方向。 如果 distance_field 参数设置为 DISTANCE,则距离包含在 out_table 参数值中。

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

代码示例

LocateFeaturesAlongRoutes 示例 1(Python 窗口)

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


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

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

# Run LocateFeaturesAlongRoutes
arcpy.lr.LocateFeaturesAlongRoutes(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)  # stand-alone feature class
rts = arcpy.ValidateTableName("rail_routes", wkspc)  # stand-alone feature class
rid = "rkey"
tbl = "locate_polys"
props = "rkey LINE fmp tmp" 

# Run LocateFeaturesAlongRoutes
arcpy.lr.LocateFeaturesAlongRoutes(feats, rts, rid, "#", tbl, props, "#", "#", 
                                   "NO_ZERO", "M_DIRECTON")

许可信息

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

相关主题