Eliminate (Coverage)
Summary
Merges the selected polygons with neighboring polygons if they have the largest shared border or the largest area.
Eliminate is often used to remove sliver polygons created during polygon overlay or buffering. With the LINE option, Eliminate merges selected arcs separated by pseudo nodes into single arcs.
Illustration
Usage
-
Only the selected set of polygons or lines will be eliminated. Polygons that border the background polygon will not be eliminated when KEEP_EDGE is specified.
-
For the POLY option, an arc with a negative User-ID will never be eliminated, even if it's the longest arc in a selected polygon. When this happens, the next longest arc is eliminated unless it's along the coverage boundary when the Keep polygon boundary option is selected (KEEP_EDGE).
-
It's possible to eliminate a sliver polygon existing as a neighbor to the background polygon, by not selecting the Keep polygon boundary option (NO_KEEP_EDGE) and still maintain the outer polygon boundary. Build the coverage with the LINE option, then Reselect on the cover.AAT using the following logical expression:
LPOLY# = 1 OR RPOLY# = 1 Calculate the cover-id equal to -1. Eliminate will not eliminate an arc with a negative User-ID.
-
For the feature type POLY option, route systems attached to eliminated arcs will be removed, and ARCLINK# will be renumbered. For the feature type LINE option, route systems belonging to eliminated arcs (whether actually removed or not) will be deleted. Those belonging to arcs that increased in length by absorbing eliminated arcs will have their F-POS and T-POS adjusted so they will occupy the same set of locations as previously.
-
For the LINE option, all arcs must be split where they intersect other arcs. Eliminate will abort execution if it encounters overlapping arcs. Clean with LINE can be used to split arcs.
-
If the Input Coverage has an NAT (node attribute table), it will be maintained in the Output Coverage.
-
Use of indexed items can speed up logical feature selection in Eliminate. See Index Item for details.
-
Input Coverage annotation is copied to the Output Coverage.
-
The projection file (PRJ) will be copied to the Output Coverage.
-
If the Input Coverage has regions, they are maintained in the Output Coverage with the appropriate polygons eliminated from the region subclasses.
-
Syntax
Parameter | Explanation | Data Type |
in_cover |
The coverage whose selected polygons or arcs will be merged into neighboring features. | Coverage |
out_cover |
The new coverage with all the selected sliver polygons merged into larger features. There should be a smaller number of polygons than the Input Coverage contains. | Coverage |
info_express [info_express,...] |
An INFO query containing one or more logical expressions to select features from the input coverage.
| INFO Expression |
polygon_boundary (Optional) |
Ensures that polygons along the coverage boundary are not altered.
| Boolean |
feature_type (Optional) |
The feature class(es) to be eliminated in the Output Coverage. This parameter is only used for polygon coverages.
| String |
selection_file (Optional) |
A Selection File is a preexisting file that identifies which features will be used. | File |
polygon_option (Optional) |
Specifies which method will be used for eliminating polygons. This parameter is only used for polygon coverages.
| Boolean |
Code Sample
The following stand-alone script demonstrates how to remove sliver polygons from a coverage.
# Name: Eliminate_Example.py
# Description: Removes sliver polygons from an input coverage
# Requirements: ArcInfo Workstation
# Import system modules
import arcpy
from arcpy import env
# Set environment settings
env.workspace = "C:/data"
# Set local variables
inCover = "txlnd"
outCover = "C:/output/texout"
infoExpress = "reselect AREA LE 68000"
polygonBoundary = "KEEP_EDGE"
featureType = "POLY"
polygonOption = "AREA"
# Execute Eliminate
arcpy.Eliminate_arc(inCover, outCover, infoExpress, polygonBoundary,
featureType, "", polygonOption)