创建路径 (线性参考)
摘要
根据现有的线创建路径。如果输入线状要素具有相同的标识符,则将它们将合并以创建单条路径。
用法
-
路径标识符字段中的唯一值写入输出路径要素类。
-
使用测量系数转换路径测量单位。例如,要从英尺转换到英里,则使用系数 0.00018939394。
-
在每条路径的起始测量值都需要非零值的应用中使用测量偏移。
-
如果已指定 TWO_FIELDS 测量源选项,则不使用忽略空间间距参数。这是因为测量值由“测量始于”字段和“测量止于”字段值指定。
-
在使用 LENGTH 或 ONE_FIELD 测量源选项时,通过将最小外接矩形放置在要通过合并创建一条路径的输入要素周围来确定坐标优先级。
-
在使用 TWO_FIELDS 测量源 选项时,不需要指定坐标优先级,因为测量方向由“测量始于”字段和“测量止于”字段指明。
-
路径标识符字段上的属性索引可加快动态分段过程的速度。如果要为动态分段使用输出路径要素类,建议您选择创建属性索引。
-
若有任何要素被“创建路径”工具拒绝,则在临时文件路径下创建一个文本文件以存储有关这些要素的信息。例如 C:\Documents and Settings\patrickb\Local Settings\Temp\Create_Output0.txt(其中 Create_Output 是输出路径要素类的名称)。
-
outputMFlag 环境设置将被忽略。输出路径要素类将有 M(测量)值。
语法
参数 | 说明 | 数据类型 |
in_line_features |
用于创建路径的要素。 | Feature Layer |
route_id_field |
包含可唯一识别每条路径的值的字段。 | Field |
out_feature_class |
要创建的要素类。它可以是 shapefile,也可以是地理数据库要素类。 | Feature Class |
measure_source |
指定如何获取路径测量值。
| String |
from_measure_field (可选) |
包含测量值的字段。该字段必须为数值,并且在测量源是 ONE_FIELD 或 TWO_FIELDS 时必填。 | Field |
to_measure_field (可选) |
包含测量值的字段。该字段必须为数值,并且在测量源是 TWO_FIELDS 时必填。 | Field |
coordinate_priority (可选) |
用于为每条输出路径累积测量值的位置。在测量源是 TWO_FIELDS 时将忽略此参数。
| String |
measure_factor (可选) |
合并输入线创建路径测量值之前,每条输入线的测量长度乘以的值。默认值为 1。 | Double |
measure_offset (可选) |
合并输入线创建路径后,加到路径测量值的值。默认值为 0。 | Double |
ignore_gaps (可选) |
指定在计算不相交路径上的测量值时是否忽略空间间距。此参数适用于测量源是 LENGTH 或 ONE_FIELD 的情况。
| Boolean |
build_index (可选) |
指定是否为写入输出路径要素类的路径标识符字段创建属性索引。
| Boolean |
代码实例
以下 Python 窗口脚本演示了如何在 Python 窗口中使用 CreateRoutes 函数。
import arcpy
from arcpy import env
env.workspace = "C:/Data"
arcpy.CreateRoutes_lr(base_roads.shp, "route1", "newRoutes", "LENGTH", "#", "#", "LOWER_LEFT", 0.00018939394)
以下 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.
# Author: ESRI
# Import system modules
import arcpy
from arcpy import env
# Set workspace
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)
以下 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
from arcpy import env
# Set workspace
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 the result to the roads feature dataset
# Execute CreateRoutes
arcpy.CreateRoutes_lr(in_lines, rid, out_routes, "ONE_FIELD", m_fld, "#", "LOWER_LEFT")
以下 Python 脚本演示了如何在独立 Python 脚本中将 CreateRoutes 函数与个人地理数据库数据结合使用。
# Name: CreateRoutes_Example4.py
# Description: Create routes from lines. The lines are in a personal geodatabase.
# The ONE_FIELD option will be used to set the measures.
# Author: ESRI
# Import system modules
import arcpy
from arcpy import env
# Set workspace
env.workspace = "C:/Data/pitt.mdb"
# 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 the result to the roads feature dataset
# Execute CreateRoutes
arcpy.CreateRoutes_lr(in_lines, rid, out_routes, "ONE_FIELD", m_fld, "#", "LOWER_LEFT")
以下 Python 脚本演示了如何在独立 Python 脚本中将 CreateRoutes 函数与 SDE 数据结合使用。
# Name CreateRoutes_Example5.py
# Description: Create routes from lines. The lines are in an enterprise geodatabase.
# The TWO_FIELD option will be used to set the measures.
# Author: ESRI
# Import system modules
import arcpy
from arcpy import env
# Set workspace
env.workspace = "Database Connections/Connection to Jerry.sde"
# Set local variables
in_lines = gp.QualifyTableName("base_roads", wkspc) # base_roads is a standalone feature class
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)