Beschriftung | Erläuterung | Datentyp |
Eingabe-Features | Die Eingabe-Feature-Class oder der Eingabe-Layer, deren oder dessen Features in die Ausgabe-Feature-Class kopiert werden, wobei einige Teile oder Löcher entfernt werden. | Feature Layer |
Ausgabe-Feature-Class | Die Ausgabe-Polygon-Feature-Class, die die verbleibenden Teile enthält. | Feature Class |
Bedingung (optional) | Geben Sie an, wie die zu entfernenden Teile festgelegt werden.
| String |
Fläche (optional) | Teile, die kleiner als diese Fläche sind, werden entfernt. | Areal Unit |
Prozentsatz (optional) | Teile, die kleiner als dieser Prozentsatz an der gesamten äußeren Feature-Fläche sind, werden entfernt. | Double |
Nur enthaltene Teile entfernen (optional) | Hiermit wird festgelegt, welche Teile entfernt werden können.
| Boolean |
Mit der Advanced-Lizenz verfügbar.
Zusammenfassung
Erstellt eine neue Ausgabe-Feature-Class mit den Features von Eingabepolygonen, wobei einige Teile oder Löcher einer bestimmten Größe gelöscht werden.
Abbildung
Verwendung
Da Polygonlöcher als Teile des Polygons gelten, können sie mit diesem Werkzeug gelöscht oder ausgefüllt werden. Wenn die Lochfläche kleiner als die angegebene Größe ist, wird das Loch aus der Ausgabe entfernt und der entsprechende Bereich gefüllt. Alle Teile, die sich im gelöschten Loch befinden, werden ebenfalls aus der Ausgabe entfernt.
Die Größe des Teils kann als Fläche, Prozentsatz oder Kombination von beiden angegeben werden. Verwenden Sie den Parameter Bedingung, um festzulegen, wie die Größe des Teils angegeben wird. Mit den Optionen AREA_AND_PERCENT und AREA_OR_PERCENT des Parameters "Bedingung" werden Teile anhand der Flächen- und Prozentangabe entfernt.
Der Prozentsatz des Polygonteils entspricht einem prozentualen Anteil an der gesamten äußeren Fläche des Features, einschließlich der Fläche von Löchern. Beispiel: Ein Polygon mit einem Loch weist eine Fläche von 75 Quadratmetern auf, wobei das Loch eine Fläche von 25 Quadratmetern einnimmt. In diesem Fall beträgt die gesamte äußere Fläche des Polygons 100 Quadratmeter. Um dieses Loch zu entfernen, muss eine Fläche von mehr als 25 Quadratmetern oder ein Prozentsatz größer 25 % angegeben werden. Wenn die Eingabe ein Multipart-Polygon ist, entspricht die äußere Fläche eines Features der Summe der von allen Polygonteilen bedeckten Fläche.
Bei Multipart-Polygonen wird die Fläche der einzelnen Teile mit der angegebenen Fläche verglichen. Wenn ein einzelner Polygonteil kleiner als die angegebene Größe ist, wird er aus der Ausgabe entfernt.
Wenn alle Teile eines Polygon-Features kleiner als die angegebene Größe sind, wird der größte Teil in der Ausgabe übernommen, alle anderen Teile werden entfernt.
Parameter
arcpy.management.EliminatePolygonPart(in_features, out_feature_class, {condition}, {part_area}, {part_area_percent}, {part_option})
Name | Erläuterung | Datentyp |
in_features | Die Eingabe-Feature-Class oder der Eingabe-Layer, deren oder dessen Features in die Ausgabe-Feature-Class kopiert werden, wobei einige Teile oder Löcher entfernt werden. | Feature Layer |
out_feature_class | Die Ausgabe-Polygon-Feature-Class, die die verbleibenden Teile enthält. | Feature Class |
condition (optional) | Geben Sie an, wie die zu entfernenden Teile festgelegt werden.
| String |
part_area (optional) | Teile, die kleiner als diese Fläche sind, werden entfernt. | Areal Unit |
part_area_percent (optional) | Teile, die kleiner als dieser Prozentsatz an der gesamten äußeren Feature-Fläche sind, werden entfernt. | Double |
part_option (optional) | Hiermit wird festgelegt, welche Teile entfernt werden können.
| Boolean |
Codebeispiel
Im folgenden Skript im Python-Fenster wird veranschaulicht, wie das Werkzeug "Polygonteil entfernen" verwendet wird.
import arcpy
from arcpy import env
env.workspace = "C:/data"
arcpy.EliminatePolygonPart_management("buildings.shp", "output.gdb/remaining_buildings", "AREA", 10)
Das folgende eigenständige Python-Skript veranschaulicht, wie das Werkzeug "Polygonteil entfernen" verwendet wird.
# 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")