Available with Production Mapping license.
Summary
Cutbacks are high-angle turns that cause features to turn back toward themselves. These angles affect polyline and polygon features and can be caused during an editing session. For example, through a digitizing error, a river feature may have a short segment (less than one meter) that turns back toward itself and back in the original direction again. This tool removes unwanted cutbacks for polyline and polygon feature classes or layers.
Usage
If the angle formed by a vertex and its two neighboring points is below the specified minimum angle, the vertex is a candidate for cutback removal.
When Check for Errors Only is selected, this tool only checks for errors and does not remove cutbacks from the Input Features. Vertices that are determined to be cutbacks will be recorded as point features and stored in the Output Points.
When Ignore Points Snapped to Features is selected, the vertices that have angles less than the Minimum Angle will not be removed from the feature geometry; rather, they get recorded as point features and stored in the Output Points.
If this tool is run in an edit session in ArcMap, you can stop the edit session without saving changes to restore the cutback vertices that have been removed.
Syntax
arcpy.production.RemoveCutbacks(Input_Features, {Minimum_Angle}, {Removal_Method}, {Check_for_Errors_Only}, {Ignore_Points_Snapped_to_Features}, {Output_Points})
Parameter | Explanation | Data Type |
Input_Features | The polyline or polygon feature class from which the tool will remove cutbacks. This feature class (or layer) will be modified. | Feature Layer |
Minimum_Angle (Optional) | Minimum angle threshold value (in degrees). The angle value should be within the range of 0–180. If the angle formed by a vertex and its two neighboring points is below the specified minimum angle, the vertex is a candidate for cutback removal. | Double |
Removal_Method [Removal_Method,...] (Optional) | Indicates whether a cutback should be removed one at a time or all at once.
| String |
Check_for_Errors_Only (Optional) | Indicates whether the tool will only check for errors. If Check for Errors Only is selected, cutbacks will not be removed from the Input_Features. Vertices that are determined to be cutbacks will be recorded as point features and stored in the Output_Points.
| Boolean |
Ignore_Points_Snapped_to_Features (Optional) | Indicates whether to remove cutbacks when the vertex is snapped to another feature. If Check_For_Errors_Only is selected, deselect it to disable this option.
| Boolean |
Output_Points (Optional) | The output point feature class; by default, this feature class is created in the default geodatabase. | Feature Class |
Derived Output
Name | Explanation | Data Type |
output_feature_layer | The output feature layer that includes the modified features from the original input. | Feature Class |
Code sample
RemoveCutbacks example 1 (stand-alone script)
The following stand-alone sample script demonstrates how to use the RemoveCutbacks tool to ignore cutbacks that are snapped to a feature.
# Name: RemoveCutbacks_Example1.py
# Description: Determines a cutback in a line or polygon based on a provided angle and removes it. In this example, the tool will
# ignore any cutbacks that are snapped to a feature to avoid creating gaps. The vertices will be reported in a feature class for further review.
# Import system modules
import arcpy
# Check out extension
arcpy.CheckOutExtension("Foundation")
# Define variables
roads = r"C:\data\Editing_Sample.gdb\Roads"
minimum_angle = "25"
warning_feature_class = 'C:\data\Editing_Sample.gdb\roads_cutbacks'
# Execute Remove Cutbacks
arcpy.RemoveCutbacks_production(roads, minimum_angle, "SEQUENTIAL", '#', 'IGNORE_SNAPPED_POINTS', warning_feature_class)
# Check in Production Mapping license
arcpy.CheckInExtension("Foundation")
RemoveCutbacks example 2 (stand-alone script)
The following stand-alone sample script demonstrates how to use the RemoveCutbacks tool to find cutbacks under the given angle threshold.
# Name: RemoveCutbacks_Example2.py
# Description: Checks for any cutbacks under the given angle threshold and reports them in a point feature class.
# This example does not remove any cutbacks.
# Import system modules
import arcpy
# Check out extension
arcpy.CheckOutExtension("Foundation")
# Define variables
roads = r"C:\data\Editing_Sample.gdb\Roads"
minimum_angle = "25"
error_feature_class = 'C:\data\Editing_Sample.gdb\roads_cutbacks'
# Execute Remove Cutbacks
arcpy.RemoveCutbacks_production(roads, minimum_angle, "SEQUENTIAL", 'REPORT_ONLY', '#', error_feature_class)
# Check in Production Mapping license
arcpy.CheckInExtension("Foundation")
Environments
Licensing information
- Basic: No
- Standard: Requires Production Mapping
- Advanced: Requires Production Mapping