Available with Production Mapping license.
Summary
Identifies areas in polygon features that are narrower than a defined width. An output is generated containing the narrow areas split from the (original) polygon features.
Illustration
Usage
This tool is intended for identifying portions of polygon features that are too narrow to be visually distinguishable at a specified scale. The minimum width is an indication of the shortest distance between polygon edges that is sensible to display at the output scale.
Fields will be added to the output feature class containing information about each split polygon.
- split_type—Identifies what type of area is being identified.
- 0—Identified as a narrow area
- 1—Not identified as a narrow area
- 2—Identified as a narrow area but falls under the Minimum Length
- 3—Not identified as a narrow area but falls under the Minimum Length
- 4—Tapered feature
- split_length—The length of the segment being split.
- split_type—Identifies what type of area is being identified.
The Minimum Length parameter is the shortest distance that should exist between polygons and\or the shortest length that should exist for an individual polygon displayed at a scale. For example, if you decided to replace the split_type 2 polygons (narrow polygons shorter than the minimum length) with a centerline and to show all the split_type 3 polygons (wide polygons shorter than the minimum length), this could result in a series of small polygons connected with short line segments. Depending on your desired results, you could choose to keep split_type 2 polygons as visible or buffer the polygons to ensure they meet the minimum width.
The Taper Length parameter is provided for hydrographic polygons. When a narrow section of a river polygon is removed, it will typically be shown as the river centerline at smaller scales to maintain the visual connectivity of the hydrographic network. A pointed end or taper can be created where the polygon narrows to ensure a smooth transition from the polygon to the centerline that will be displayed. If a taper length of 0 is provided, no polygons with split_type of 4 will be created. All other split_type values are created with straight ends.
The integrity of the results of this tool relies on the topological integrity of the inputs. Take note of the following input data requirements and suggestions:
- Empty or null geometry—The input features must consist of valid geometries. If necessary, use the Repair Bad Geometry tool to repair these features.
- Single-part features—The input features should not contain multipart features. Use the Multipart to Singlepart tool or create a topology with a Must Be Single Part line rule to convert features to single part.
- Vertices—Not enough vertices on a polygon may compromise quality of the results. It is recommended that the Densify tool be run before running this tool if the polygon features have a small number of vertices.
- Nonlinear segments—Bézier curve, circular arc, and elliptic arc segments may compromise the quality of the results. It is recommended that the Densify tool be run before running this tool if the polygon features have nonlinear segments as this will add vertices along the curves.
The output feature class will not contain any geographic attributes from the input features. A field called FID will be added to the output feature class. This field is populated with the ObjectID of the feature from which the split polygon originated. The FID field can be used to link the split polygons to their source polygons.
For best results, consider running the Eliminate Polygon Part tool to remove small holes in the polygon features before running Split Narrow Polygons. For example, removing holes from the middle of river polygons where island polygons exist. If a hole exists in the polygon, the tool will consider the distance from the edge of the polygon to the edge of the hole. This could potentially result in the river polygon on each side of the island being considered narrow even though the overall width of the river from edge to edge is greater than the minimum width. Filling small holes before running Split Narrow Polygons will allow the tool to ignore the location where a hole previously existed and measure the width from the edges of the polygon.
Syntax
arcpy.production.SplitNarrowPolygons(input_features, output_features, minimum_width, minimum_length, {taper_length})
Parameter | Explanation | Data Type |
input_features | The features to be examined. | Feature Layer |
output_features | The output feature class that will contain the results. | Feature Class |
minimum_width | The minimum width of the polygon from edge to edge used to identify the narrow areas. | Linear Unit |
minimum_length | The minimum length of the split area that will be identified as a narrow portion of the polygon. | Linear Unit |
taper_length (Optional) | This value determines how far the end of the split feature will extend to provide a more natural break. | Linear Unit |
Code sample
SplitNarrowPolygons example (stand-alone script)
The following stand-alone sample script demonstrates how to use the SplitNarrowPolygons tool to split where the polygons narrow.
# Name: SplitNarrowPolygons_Example.py
# Description: This example, identifies portions of a polygon feature class that are narrower than 50 meters, greater than 100 meters in length, and taper the features by 10 meters.
# Import system modules
import arcpy
# Check out extension
arcpy.CheckOutExtension("Foundation")
# Define variables
rivers = r"C:\Data\Generalization_Samples.gdb\rivers"
results = r"C:\Data\Generalization_Samples.gdb\SNP_results"
# Create a layer and select only the larger rivers
riversLyr = arcpy.MakeFeatureLayer_management(rivers)
arcpy.SelectLayerByAttribute_management(riversLyr, 'NEW_SELECTION', "TYPE ='River'")
# Execute Split Narrow Polygons
arcpy.SplitNarrowPolygons_production(rivers, results, "50 Meters", "100 Meters", "10 Meters")
# Check in Production Mapping License
arcpy.CheckInExtension("Foundation")
Environments
Licensing information
- Basic: No
- Standard: Requires Production Mapping
- Advanced: Requires Production Mapping