Calibrate Routes (Linear Referencing)
Summary
Recalculates route measures using points.
Usage
-
Either whole or partial routes can be calibrated. You can choose to interpolate between the input points, extrapolate before the input points, extrapolate after the input points, or use any combination of these three methods.
-
Use Make Feature Layer or Make Query Table to effectively reduce the routes that will be calibrated.
-
If the Output Route Feature Class will be written to a geodatabase, an appropriate M Tolerance, M Resolution, and M Domain should be set.
-
The Output Route Feature Class will include all the fields from the Input Route Features.
-
The outputMFlag environment setting will be ignored. The Output Route Feature Class will have M (measure) values.
-
A search radius of infinity cannot be specified.
-
An attribute index on the route identifier field speeds up the dynamic segmentation process. If you will be using the Output Route Feature Class for dynamic segmentation, it is recommended that you choose to have an attribute index created.
-
If any features are rejected by the Calibrate Routes process, a text file is created in the temporary file path to store information about those features. For example, C:\Documents and Settings\patrickb\Local Settings\Temp\Calibrate_Output0.txt (where 'Calibrate_Output' is the name of the Output Route Feature Class).
Syntax
Parameter | Explanation | Data Type |
in_route_features |
The route features to be calibrated. | Feature Layer |
route_id_field |
The field containing values that uniquely identify each route. This field can be numeric or character. | Field |
in_point_features |
The point features used to calibrate the routes. | Feature Layer |
point_id_field |
The field that identifies the route on which each calibration point is located. The values in this field match those in the route identifier field. This field can be numeric or character. | Field |
measure_field |
The field containing the measure value for each calibration point. This field must be numeric. | Field |
out_feature_class |
The feature class to be created. It can be a shapefile or a geodatabase feature class. | Feature Class |
calibrate_method (Optional) |
Specifies how route measures will be recalculated.
| String |
search_radius (Optional) |
Limits how far a calibration point can be from a route by specifying the distance and its unit of measure. If the units of measure are Unknown, the same units as the coordinate system of the route feature class will be used. | Linear unit |
interpolate_between (Optional) |
Specifies whether measure values will be interpolated between the calibration points.
| Boolean |
extrapolate_before (Optional) |
Specifies whether measure values will be extrapolated before the calibration points.
| Boolean |
extrapolate_after (Optional) |
Specifies whether measure values will be extrapolated after the calibration points.
| Boolean |
ignore_gaps (Optional) |
Specifies whether spatial gaps will be ignored when recalculating the measures on disjointed routes.
| Boolean |
keep_all_routes (Optional) |
Specifies whether route features that do not have any calibration points will be excluded from the output feature class.
| Boolean |
build_index (Optional) |
Specifies whether an attribute index will be created for the route identifier field that is written to the Output Route Feature Class.
| Boolean |
Code Sample
The following Python Window script demonstrates how to use the CalibrateRoutes function in immediate mode.
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")
The following Python script demonstrates how to use the CalibrateRoutes function with file geodatabase data in a stand-alone Python script.
# 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")
The following Python script demonstrates how to use the CalibrateRoutes function with personal geodatabase data in a stand-alone Python script.
# 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")
The following Python script demonstrates how to use the CalibrateRoutes function with SDE data in a stand-alone Python script.
# 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)