Available with Advanced license.
Summary
Creates a new output feature class containing the features from the input polygons with some parts or holes of a specified size deleted.
Illustration
Usage
Since polygon holes are considered parts of the polygon, they can be deleted or filled using this tool. If the hole area is smaller than the specified size, the hole will be eliminated and the space will be filled in the output. Any parts that are inside the deleted hole will also be eliminated in the output.
Part size can be specified as an area, a percent, or a combination of both. Use the Condition parameter to determine how the part size will be specified. The Condition parameter AREA_AND_PERCENT and AREA_OR_PERCENT options are used to eliminate parts using both the area and percent criteria.
Polygon part percent is calculated as a percentage of the feature's total outer area, including the area of any holes. For example, if a polygon with a hole has an area of 75 square meters, with the hole covering 25 square meters, the polygons total outer area is 100 square meters. To eliminate this hole, an area greater than 25 square meters or a percentage greater than 25% would need to be specified. If the input is a multipart polygon, a feature's outer area is the sum of the area covered by all polygon parts.
For multipart polygons, the area of each part will be compared with the specified area. If an individual polygon part is smaller than the specified size, the part will be eliminated in the output.
If all of a polygon feature's parts are smaller than the specified size, the largest part will be kept in the output while all other parts will be eliminated.
Syntax
arcpy.management.EliminatePolygonPart(in_features, out_feature_class, {condition}, {part_area}, {part_area_percent}, {part_option})
Parameter | Explanation | Data Type |
in_features | The input feature class or layer whose features will be copied to the output feature class, with some parts or holes eliminated. | Feature Layer |
out_feature_class | The output polygon feature class containing the remaining parts. | Feature Class |
condition (Optional) | Specify how the parts to be eliminated will be determined.
| String |
part_area (Optional) | Eliminate parts smaller than this area. | Areal Unit |
part_area_percent (Optional) | Eliminate parts smaller than this percentage of a feature's total outer area. | Double |
part_option (Optional) | Determines what parts can be eliminated.
| Boolean |
Code sample
The following Python Window script demonstrates how to use the Eliminate Polygon Part tool.
import arcpy
from arcpy import env
env.workspace = "C:/data"
arcpy.EliminatePolygonPart_management("buildings.shp", "output.gdb/remaining_buildings", "AREA", 10)
The following stand-alone Python script demonstrates how to use the Eliminate Polygon Part tool.
# Name: EliminatePolygonPart_Example2.py
# Description: Eliminate small islands before simplifying and smoothing lake boundaries
# Import system modules
import arcpy
from arcpy import env
# Set environment settings
env.workspace = "C:/data/Portland.gdb/Hydrography"
# Set local variables
inLakeFeatures = "lakes"
eliminatedFeatures = "lakes_eliminated"
simplifiedFeatures = "lakes_simplified"
smoothedFeatures = "lakes_smoothed"
# Eliminate small islands in lake polygons.
arcpy.EliminatePolygonPart_management(inLakeFeatures, eliminatedFeatures, "AREA", 100, "", "CONTAINED_ONLY")
# Simplify lake polygons.
arcpy.SimplifyPolygon_cartography(eliminatedFeatures, simplifiedFeatures, "POINT_REMOVE", 50, 200, "RESOLVE_ERRORS", "KEEP_COLLAPSED_POINTS")
# Smooth lake polygons.
arcpy.SmoothPolygon_cartography(simplifiedFeatures, smoothedFeatures, "BEZIER_INTERPOLATION")
Environments
Licensing information
- Basic: No
- Standard: No
- Advanced: Yes