Polygone aggregieren (Cartography)
Zusammenfassung
Kombiniert Polygone innerhalb einer bestimmten Entfernung miteinander zu neuen Polygonen.
Abbildung
Verwendung
-
Dieses Werkzeug ist für kleinere Maßstabsreduzierungen und Aggregationen gedacht, wenn Eingabe-Features aufgrund einer eingeschränkten Kartengröße oder der erforderlichen Auflösung nicht mehr einzeln dargestellt werden können. Die Aggregation findet nur statt, wenn zwei Polygongrenzen innerhalb der angegebenen Aggregationsentfernung liegen. Es findet keine Selbstaggregation statt. Dies bedeutet, dass keine Aggregation innerhalb eines Eingabe-Polygon-Features entlang seiner Umrandung oder zwischen Teilen eines mehrteiligen Polygon-Features erfolgt.
Bei Verwendung der Option ORTHOGONAL werden rechtwinklig geformte Ausgabe-Features erzeugt. Diese Option eignet sich am besten für die Verwendung mit Eingabe-Features, die vorwiegend rechwinklige Kanten aufweisen. In einigen Fällen tritt eine geringere Aggregation auf, um diese Funktion auszuführen. Zwei quadratische Gebäude z.B., die sich innerhalb der Aggregationsentfernung diagonal voneinander entfernt befinden, werden unter Umständen nicht aggregiert, da unter Beibehaltung der Rechtwinkligkeit keine klare Verbindung hergestellt werden kann. Bei Verwendung der Option NON_ORTHOGONAL werden eher organische Formen erzeugt.
-
Die Ausgabe-Feature-Class enthält keine geographischen Attribute der Eingabe-Features. Es wird eine Tabelle mit Eins-zu-vielen-Beziehungen mit dem Namen "output_feature_class_Tbl" erstellt. Darin werden die aggregierten Polygone mit ihren Quell-Polygonen verknüpft. Diese Tabelle enthält zwei Felder (OUTPUT_FID und INPUT_FID), in denen die aggregierten Objekt-IDs bzw. ihre dazugehörigen Quell-Feature-IDs gespeichert sind. Die Verknüpfung stimmt ggf. nicht mehr, wenn Eingabe- oder Ausgabe-Features geändert werden. Mit dieser Verknüpfung können Sie mit geeigneten anderen Geoverarbeitungswerkzeugen erforderliche Attribute für die Ausgabe-Features aus deren Quell-Features ableiten.
-
Wenn die Eingabe-Features Z-Werte enthalten, können diese Z-Werte beibehalten werden, sofern dies in den Umgebungseinstellungen angegeben ist. Falls die Ausgabestützpunkte nicht geändert werden, werden die Eingabe-Z-Werte in die Ausgabestützpunkte übernommen. Andernfalls wird für einen neuen Stützpunkt ein Z-Wert abgeleitet, indem ein vorhandener Z-Wert verwendet oder eine Interpolation angewendet wird.
Syntax
Parameter | Erläuterung | Datentyp |
in_features |
Zu aggregierende Polygon-Features. | Feature Layer |
out_feature_class |
Die zu erstellende Ausgabe-Feature-Class. | Feature Class |
aggregation_distance |
Die Entfernung, die erforderlich ist, damit zwischen Polygongrenzen Aggregation erfolgen kann. Die Entfernung muss angegeben und größer als Null sein. Sie können eine bevorzugte Einheit auswählen. Standardmäßig wird die Feature-Einheit verwendet. | Linear unit |
minimum_area (optional) |
Die Mindestfläche für ein beizubehaltendes aggregiertes Polygon. Der Standardwert ist Null, das heißt, alle Polygone müssen beibehalten werden. Sie können eine bevorzugte Einheit angeben. Standardmäßig wird die Feature-Einheit verwendet. | Areal unit |
minimum_hole_size (optional) |
Die Mindestgröße eines beizubehaltenden Polygonloches. Der Standardwert ist Null, das heißt, alle Polygonlöcher müssen beibehalten werden. Sie können eine bevorzugte Einheit angeben. Standardmäßig wird die Feature-Einheit verwendet. | Areal Unit |
orthogonality_option (optional) |
Legt die Merkmale der Ausgabe-Features für die Erstellung der aggregierten Grenzen fest.
| Boolean |
Codebeispiel
Das folgende Skript im Python-Fenster veranschaulicht, wie Sie das Werkzeug "AggregatePolygons" im unmittelbaren Modus verwenden.
import arcpy from arcpy import env import arcpy.cartography as CA env.workspace = "C:/data" CA.AggregatePolygons("buildings.shp", "C:/output/output.gdb/aggregated_buildings", 10)
Das folgende eigenständige Skript veranschaulicht, wie Sie die Funktion "AggregatePolygons" verwenden.
# Name: AggregatePolygons_Example2.py # Description: Aggregate grass features and then transfer attributes # Import system modules import arcpy from arcpy import env import arcpy.cartography as CA import arcpy.management as DM import arcpy.analysis as AN # Set environment settings env.workspace = "C:/data/Portland.gdb/Vegetation" # Set local variables inGrassFeatures = "grass" aggregatedFeatures = "C:/data/PortlandOutput.gdb/grassland" aggregatedTable = "C:/data/PortlandOutput.gdb/grassland_Tbl" frequencyTable = "C:/data/PortlandOutput.gdb/frequency_Tbl" # Aggregate grass polygons. CA.AggregatePolygons(inGrassFeatures, aggregatedFeatures, 50, 300, 300, "NON_ORTHOGONAL") # Join the aggregatedTable with input and # transfer the COUNT field to aggregatedTable. DM.JoinField(aggregatedTable, "INPUT_FID", inGrassFeatures, "OBJECTID", "COUNT") # Use Frequency on aggregatedTable and # obtain sum for COUNT. AN.Frequency(aggregatedTable, frequencyTable, "OUTPUT_FID", "COUNT") # Join the aggregatedFeatures with frequencyTable # and transfer the COUNT field to aggregatedFeatures. DM.JoinField(aggregatedFeatures, "OBJECTID", frequencyTable, "OUTPUT_FID", "COUNT")