Entfernen (Eliminate) (Data Management)
Zusammenfassung
Entfernt Polygone, indem sie mit benachbarten Polygonen zusammengeführt werden, die die größte Fläche oder die längste gemeinsame Grenze besitzen. Entfernen (Eliminate) wird häufig verwendet, um kleine Splitterpolygone zu entfernen, die das Ergebnis eines Überlagerungsvorgangs wie Überschneiden (Intersect) oder Vereinigen (Union) sind.
Bild
Verwendung
-
Die zu entfernenden Features werden durch eine Feature-Auswahl bestimmt, die auf einen Polygon-Layer angewendet wird. Den Auswahlsatz legen Sie zuvor fest, indem Sie das Werkzeug Layer nach Attributen auswählen oder Layer lagebezogen auswählen verwenden oder einen Karten-Layer in ArcMap abfragen.
-
Der Eingabe-Layer muss eine Auswahl enthalten; andernfalls schlägt "Entfernen (Eliminate)" fehl.
-
Der Ausschlussausdruck und der Ausschluss-Layer schließen sich nicht gegenseitig aus und können zusammen verwendet werden, um genau zu steuern, was entfernt werden soll.
Syntax
Parameter | Erläuterung | Datentyp |
in_features |
Der Layer, dessen Polygone mit angrenzenden Polygonen zusammengeführt werden. | Feature Layer |
out_feature_class |
Die zu erstellende Feature-Class. | Feature Class |
selection (optional) |
Diese Optionen geben an, welche Methode zur Entfernung von Features verwendet wird.
| Boolean |
ex_where_clause (optional) | Dieser Ausdruck dient zur Identifizierung von Eingabe-Features, die nicht entfernt werden sollen. Die genaue Syntax für den Ausdruck hängt von der Datenquelle ab. Wenn Sie beispielsweise File- oder ArcSDE-Geodatabases bzw. Shapefiles oder Coverages abfragen, schließen Sie Feldnamen in doppelte Anführungszeichen ein: "MY_FIELD" Wenn Sie Personal-Geodatabases abfragen, schließen Sie die Felder in eckige Klammern ein: [MY_FIELD] In Python werden Zeichenfolgen in zusammenpassende einfache oder doppelte Anführungszeichen eingeschlossen. Um eine Zeichenfolge zu erstellen, die Anführungszeichen enthält (wie bei einer WHERE-Klausel in SQL-Ausdrücken üblich), können Sie die Anführungszeichen (durch einen umgekehrten Schrägstrich) mit Escapezeichen versehen oder die Zeichenfolge mit dreifachem Anführungszeichen versehen. Wenn die gewünschte WHERE-Klausel z. B. "CITY_NAME" = 'Chicago' lautet, könnten Sie die ganze Zeichenfolge in doppelte Anführungszeichen einschließen und dann die inneren doppelten Anführungszeichen wie folgt mit Escapezeichen versehen: " \"CITY_NAME\" = 'Chicago' " Oder Sie könnten die ganze Zeichenfolge in dreifache Anführungszeichen ohne Escapezeichen einschließen: """ "CITY_NAME" = 'Chicago' """ Weitere Informationen zur SQL-Syntax und zu den Unterschieden zwischen Datenquellen finden Sie im Hilfethema SQL-Referenz für in ArcGIS verwendete Abfrageausdrücke. | SQL Expression |
ex_features (optional) |
Eingabe-Polyline- oder -Polygon-Feature-Class bzw. -Layer zur Definition von Polygongrenzen oder Teilen von Polygongrenzen, die nicht entfernt werden sollen. | Feature Layer |
Codebeispiel
Im folgenden Skript im Python-Fenster wird veranschaulicht, wie Sie das Werkzeug "Eliminate" im unmittelbaren Modus verwenden.
import arcpy
from arcpy import env
env.workspace = "C:/data/Portland.gdb/Census"
arcpy.MakeFeatureLayer_management("blockgrp", "blocklayer")
arcpy.SelectLayerByAttribute_management("blocklayer", "NEW_SELECTION",
'"Area_Sq_Miles" < 0.15')
arcpy.Eliminate_management("blocklayer", "C:/output/output.gdb/eliminate_output",
"LENGTH", '"OBJECTID" = 9')
Das folgende eigenständige Skript veranschaulicht, wie Sie das Werkzeug "Eliminate" verwenden.
# Name: Eliminate_Example2.py
# Description: Eliminate features based on a selection.
# Import system modules
import arcpy
from arcpy import env
# Set environment settings
env.workspace = "C:/data/Portland.gdb/Census"
# Set local variables
inFeatures = "blockgrp"
tempLayer = "blocklayer"
expression = '"Area_Sq_Miles" < 0.15'
outFeatureClass = "C:/output/output.gdb/eliminate_output"
exclusionExpression = '"OBJECTID" = 9'
# Execute MakeFeatureLayer
arcpy.MakeFeatureLayer_management(inFeatures, tempLayer)
# Execute SelectLayerByAttribute to define features to be eliminated
arcpy.SelectLayerByAttribute_management(tempLayer, "NEW_SELECTION", expression)
# Execute Eliminate
arcpy.Eliminate_management(tempLayer, outFeatureClass, "LENGTH",
exclusionExpression)