创建路径 (线性参考)

描述

根据现有的线创建路径。如果输入线状要素具有相同的标识符,则将它们将合并以创建单条路径。

使用方法

  • 路径标识符字段中的唯一值写入输出路径要素类

  • 使用创建要素图层创建查询表工具可有效降低用于创建路径的线数。

  • 如果输出路径要素类将写入地理数据库,则应设置相应的 M 容差M 分辨率M 属性域环境。

  • 使用测量系数转换路径测量单位。例如,要从英尺转换到英里,则使用系数 0.00018939394。

  • 在每条路径的起始测量值都需要非零值的应用中使用测量偏移

  • 如果已指定值来自两个字段测量源,则不使用忽略空间间距参数。这是因为测量值由“测量始于”字段“测量止于”字段值指定。

  • 在使用要素长度值来自单个字段测量源选项时,通过将最小外接矩形放置在要通过合并创建一条路径的输入要素周围来确定坐标优先级

  • 在使用值来自两个字段测量源选项时,不需要指定坐标优先级,因为测量方向由“测量始于”字段“测量止于”字段中的值指明。

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

  • 若有任何要素被创建路径工具拒绝,则在临时文件路径下创建一个文本文件以存储有关这些要素的信息。例如,C:\Users\patrickb\AppData\Local\Temp\Create_Output0.txt(其中 Create_Output 是输出路径要素类的名称)。

  • 输出具有 M 值环境设置将被忽略。输出路径要素类将有 M(测量)值。

语法

arcpy.lr.CreateRoutes(in_line_features, route_id_field, out_feature_class, measure_source, {from_measure_field}, {to_measure_field}, {coordinate_priority}, {measure_factor}, {measure_offset}, {ignore_gaps}, {build_index})
参数说明数据类型
in_line_features

用于创建路径的要素。

Feature Layer
route_id_field

包含可唯一识别每条路径的值的字段。

Field
out_feature_class

待创建的要素类。它可以是 shapefile,也可以是地理数据库要素类。

Feature Class
measure_source

指定如何获取路径测量值。

  • LENGTH使用输入要素的几何长度累积测量值。这是默认设置。
  • ONE_FIELD使用单个字段中存储的值累积测量值。
  • TWO_FIELDS使用“测量始于字段”和“测量止于字段”中存储的值设置测量值。
String
from_measure_field
(可选)

包含测量值的字段。此字段必须为数值,并且当测量源是为 ONE_FIELDTWO_FIELDS 时必填。

Field
to_measure_field
(可选)

包含测量值的字段。此字段必须为数值,并且当测量源为 TWO_FIELDS 时必填。

Field
coordinate_priority
(可选)

用于为每条输出路径累积测量值的位置。当测量源为 TWO_FIELDS 时,将忽略此参数。

  • UPPER_LEFT从最接近最小外接矩形左上角的点累积测量值。这是默认设置。
  • LOWER_LEFT从最接近最小外接矩形左下角的点累积测量值。
  • UPPER_RIGHT从最接近最小外接矩形右上角的点累积测量值。
  • LOWER_RIGHT从最接近最小外接矩形右下角的点累积测量值。
String
measure_factor
(可选)

合并输入线创建路径测量值之前,每条输入线的测量长度乘以的值。默认值为 1。

Double
measure_offset
(可选)

合并输入线创建路径后,加到路径测量值的值。默认值为 0。

Double
ignore_gaps
(可选)

指定在计算不相交路径上的测量值时是否忽略空间间距。此参数适用于测量源是 LENGTHONE_FIELD 的情况。

  • IGNORE忽略空间间距。不相交路径的测量值将是连续的。这是默认设置。
  • NO_IGNORE不忽略空间间距。不相交路径的测量值将有间距。将使用不相交部分的端点间的直线距离来计算间距。
Boolean
build_index
(可选)

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

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

代码示例

CreateRoutes 示例 1(Python 窗口)

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

import arcpy
arcpy.env.workspace = "C:/Data"
arcpy.CreateRoutes_lr(base_roads.shp, "route1", "newRoutes", "LENGTH", "#", "#", 
                      "LOWER_LEFT", 0.00018939394)
CreateRoutes 示例 2(独立脚本)

以下 Python 脚本演示了如何在独立 Python 脚本中将 CreateRoutes 函数与 shapefile 数据结合使用。

# Name CreateRoutes_Example2.py
# Description: Create routes from lines. The lines are in a shapefile workspace.
# The LENGTH option will be used to set the measures, and a measure factor
# will be used to convert measure units from feet to miles.
# Import system modules
import arcpy
# Set workspace
arcpy.env.workspace = "C:/Data"
# Set local variables
in_lines = "base_roads.shp"
rid = "route1" 
out_routes = "create_output1" 
# Execute CreateRoutes
arcpy.CreateRoutes_lr(in_lines, rid, out_routes, "LENGTH", "#", "#", 
                      "LOWER_LEFT", 0.00018939394)
CreateRoutes 示例 3(独立脚本)

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

# Name CreateRoutes_Example3.py
# Description: Create routes from lines. The lines are in a file geodatabase.
# The ONE_FIELD option will be used to set the measures.
# Import system modules 
import arcpy
# Set workspace
arcpy.env.workspace = "C:/Data/pitt.gdb"
# Set local variables
in_lines = "roads/base_roads"  # base_roads exists in the roads feature dataset
rid = "route1"
m_fld = "len_mile"
out_routes = "roads/create_output2"  # write result to the roads feature dataset
# Execute CreateRoutes
arcpy.CreateRoutes_lr(in_lines, rid, out_routes, "ONE_FIELD", m_fld, "#", 
                      "LOWER_LEFT")
CreateRoutes 示例 4(独立脚本)

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

# Name CreateRoutes_Example4.py
# Description:  Create routes from lines. The lines are in an enterprise 
# geodatabase. The TWO_FIELD option will be used to set the measures.
# Import system modules
import arcpy
# Set workspace
arcpy.env.workspace = "C:/MyProject/myConn.sde"
# Set local variables
# base_roads is a standalone feature class
in_lines = arcpy.ValidateTableName("base_roads", wkspc)
rid = "route1"
fr_fld = "begmp1"
to_fld = "endmp1" 
out_routes = "create_output3"  # write the result to a standalone feature class
# Execute CreateRoutes
arcpy.CreateRoutes_lr(in_lines, rid, out_routes, "TWO_FIELDS", fr_fld, to_fld)

许可信息

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

相关主题