校准路径 (线性参考)
摘要
使用点重新计算路径测量值。
用法
-
可以校准全部或部分路径。可以选择在输入点之间采用内插法、在输入点之前采用外推法、在输入点之后采用外推法或使用这三种方法的任意组合。
-
“输出路径要素类”包括“输入路径要素类”的所有字段。
-
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. # Author: ESRI # 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. # Author: ESRI # 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. # Author: ESRI # 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") except: print gp.GetMessages(2)