Skip To Content

Eliminate Polygon Part

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

Illustration of Eliminate Polygon Part

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

EliminatePolygonPart_management (in_features, out_feature_class, {condition}, {part_area}, {part_area_percent}, {part_option})
ParameterExplanationData 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.

  • AREAParts with an area less than that specified will be eliminated.
  • PERCENTParts with a percent of the total outer area less than that specified will be eliminated.
  • AREA_AND_PERCENTParts with an area and percent less than that specified will be eliminated. Only if a polygon part meets both the area and percent criteria will it be deleted.
  • AREA_OR_PERCENTParts with an area or percent less than that specified will be eliminated. If a polygon part meets either the area or percent criteria, it will be deleted.
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.

  • CONTAINED_ONLYOnly parts totally contained by other parts can be eliminated. This is the default.
  • ANYAny parts can be eliminated.
Boolean

Code sample

EliminatePolygonPart Example (Python Window)

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)
EliminatePolygonPart Example 2 (Stand-alone script)

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")

Licensing information

  • ArcGIS Desktop Basic: No
  • ArcGIS Desktop Standard: No
  • ArcGIS Desktop Advanced: Yes

Related topics