校准路径 (线性参考)
摘要
使用点重新计算路径测量值。
用法
-
可以校准全部或部分路径。可以选择在输入点之间采用内插法、在输入点之前采用外推法、在输入点之后采用外推法或使用这三种方法的任意组合。
-
输出路径要素类包括输入路径要素中的所有字段。
-
outputMFlag 环境设置将被忽略。输出路径要素类将有 M(测量)值。
-
不能指定无穷大的搜索半径。
-
路径标识符字段上的属性索引可加快动态分段过程的速度。如果要为动态分段使用输出路径要素类,建议您选择创建属性索引。
-
若有任何要素被“校准路径”过程拒绝,则在临时文件路径下创建一个文本文件以存储有关这些要素的信息。例如,C:\Documents and Settings\patrickb\Local Settings\Temp\Calibrate_Output0.txt(其中 Calibrate_Output 是输出路径要素类的名称)。
语法
参数 | 说明 | 数据类型 |
in_route_features |
要校准的路径要素。 | Feature Layer |
route_id_field |
包含可唯一识别每条路径的值的字段。该字段可以是数值或字符。 | Field |
in_point_features |
用于校准路径的点要素。 | Feature Layer |
point_id_field |
标识包含每个校准点所在的路径的字段。该字段中的值与路径标识符字段中的值相匹配。该字段可以是数值或字符。 | Field |
measure_field |
包含每个校准点的测量值的字段。该字段必须为数值型。 | Field |
out_feature_class |
待创建的要素类。它可以是 shapefile,也可以是地理数据库要素类。 | Feature Class |
calibrate_method (可选) |
指定如何重新计算路径测量值。
| String |
search_radius (可选) |
通过指定距离及其测量单位来限制校准点与路径的最大距离。如果测量单位是“未知”,则使用路径要素类的坐标系单位。 | Linear unit |
interpolate_between (可选) |
指定是否在校准点之间内插测量值。
| Boolean |
extrapolate_before (可选) |
指定是否在校准点之前外推测量值。
| Boolean |
extrapolate_after (可选) |
指定是否在校准点之后外推测量值。
| Boolean |
ignore_gaps (可选) |
指定在重新计算不相交路径上的测量值时是否忽略空间间距。
| Boolean |
keep_all_routes (可选) |
指定是否在输出要素类中排除不含校准点的路径要素。
| Boolean |
build_index (可选) |
指定是否为写入“输出路径要素类”的路径标识符字段创建属性索引。
| Boolean |
代码实例
以下 Python 窗口脚本演示了如何在即时模式下使用 CalibrateRoutes 函数。
import arcpy
from arcpy import env
env.workspace = "C:/data"
arcpy.CalibrateRoutes_lr("hwy.shp", "RID", "cal_pts.shp", "RID", "MEASURE", "C:/output/hwy_new.shp","DISTANCE", \
"5.0 Feet", "BETWEEN", "BEFORE", "AFTER", "#", "NO_KEEP")
以下 Python 脚本演示了如何在 Python 独立脚本中将 CalibrateRoutes 函数与文件地理数据库数据结合使用。
# Name CalibrateRoutes_Example2.py
# Description: Calibrate personal geodatabase routes with file geodatabase points.
# Import system modules
import arcpy
from arcpy import env
# Set workspace
env.workspace = "C:/Data/Pitt.gdb"
# Set local variables
rts = "roads/hwy" # hwy is in the roads feature dataset
rid = "ROUTE1"
pts = "roads/cal_pts" # cal_pts is in the roads feature dataset
mfield = "MEASURE"
radius = "2.5 Meters"
out_fc = "roads/hwy_new" # new feature class in the roads feature dataset
# Execute CalibrateRoutes
arcpy.CalibrateRoutes_lr (rts, rid, pts, rid, mfield, out_fc, "DISTANCE", radius, \
"BETWEEN", "NO_BEFORE", "NO_AFTER")
以下 Python 脚本演示了如何在 Python 独立脚本中将 CalibrateRoutes 函数与个人地理数据库数据结合使用。
# Name CalibrateRoutes_Example3.py
# Description: Calibrate personal geodatabase routes with personal geodatabase points.
# Import system modules
import arcpy
from arcpy import env
# Set workspace
env.workspace = "C:/Data/Pitt.mdb"
# Set local variables
rts = "roads/hwy" # hwy is in the roads feature dataset
rid = "ROUTE1"
pts = "roads/cal_pts" # cal_pts is in the roads feature dataset
mfield = "MEASURE"
radius = "2.5 Meters"
out_fc = "roads/hwy_new" # new feature class in a feature dataset
# Execute CalibrateRoutes
arcpy.CalibrateRoutes_lr (rts, rid, pts, rid, mfield, out_fc, "DISTANCE", radius, \
"BETWEEN", "NO_BEFORE", "NO_AFTER")
以下 Python 脚本演示了如何在 Python 独立脚本中将 CalibrateRoutes 函数与 SDE 数据结合使用。
# Name Example 4:
# Description: Calibrate enterprise geodatabase routes using enterprise geodatabase points.
# Import system modules
import arcpy
from arcpy import env
# Set workspace
wkspc = "Database Connections/Connection to Jerry.sde"
env.workspace = wkspc
# Set local variables
rts = gp.QualifyTableName("hwy", wkspc) # standalone feature class
rid = "ROUTE1"
pts = gp.QualifyTableName("cal_pts", wkspc) # standalone feature class
mfield = "MEASURE"
radius = "5.0 Feet"
out_fc = "hwy_new" #new standalone feature class
# Execute CalibrateRoutes
arcpy.CalibrateRoutes_lr (rts, rid, pts, rid, mfield, out_fc, "DISTANCE", radius, \
"#", "#", "#", "#", "NO_KEEP")