Zusammenfassung
Kombiniert Polygone, die sich innerhalb einer bestimmten Entfernung zueinander befinden, 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 erfolgt nur, 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 orthogonalen Option 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 erfolgt eine geringere Aggregation, um dies zu erreichen. 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 nicht-orthogonalen Option werden eher organische Formen erzeugt.
Verwenden Sie Barrieren-Features, um Aggregation über Grenzen hinweg zu verhindern. Beispiele dafür sind das Verhindern der Aggregation der Landnutzung über Flüsse hinweg oder von Gebäuden über Straßen hinweg. Barrieren können entweder Linien oder Polygone sein, und mehrere Barrieren-Feature-Classes können gleichzeitig verwendet werden.
Wenn der Parameter Aggregatfeld definiert ist, werden das Attributfeld und dessen Werte in die Ausgabe-Feature-Class kopiert. Das Aggregatfeld muss vom Datentyp "Text", "Datum" oder "Integer" sein. Falls das Aggregatfeld Domänen und Subtypes aufweist, werden diese in die Ausgabe-Feature-Class kopiert, wenn die Option Geodatabase-Feldeigenschaften übertragen (Umgebungseinstellung) aktiviert ist.
Wenn die Eingabe-Feature-Class ein Layer ist, der auf eine Repräsentation verweist, und es Shape-Overrides auf einem der Eingabe-Features gibt, werden die Shape-Overrides in der Aggregation und nicht der Feature-Geometrie bewertet.
Die Ausgabe-Feature-Class enthält keine geographischen Attribute der Eingabe-Features. Optional kann eine Eins-zu-Viele-Beziehungstabelle erstellt werden, um die aggregierten Polygone mit ihren Quell-Polygonen zu verknüpfen. Dieser Link stimmt ggf. nicht mehr, wenn Eingabe- oder Ausgabe-Features geändert werden.
Wenn die Eingabe-Features Z-Werte enthalten, können diese Z-Werte beibehalten werden, sofern sie in den Umgebungseinstellungen angegeben sind. Wenn sich die Ausgabestützpunkte nicht ändern, werden die Eingabe-Z-Werte in die Ausgabestützpunkte übernommen. Andernfalls werden die Z-Werte für neue Stützpunkte von vorhandenen Z-Werten oder durch Interpolation abgeleitet.
Bei Verarbeitung eines großen Eingabe-Datasets werden möglicherweise Speicherbeschränkungen überschritten. Erwägen Sie in diesem Fall, die Eingabedaten partitionsweise zu verarbeiten, indem Sie eine relevante Polygon-Feature-Class in der Umgebungseinstellung Kartografische Partitionen angeben. Die Teile der Daten, die durch Partitionsgrenzen definiert werden, werden sequenziell verarbeitet. Die resultierende Ausgabe-Feature-Class ist an den Partitionsrändern konsistent. Partitionsübergreifende Ausgabe-Features werden jedoch an der Partitionslinie geteilt. Ein IS_SPLIT-Feld in der Ausgabe-Feature-Class verfügt dann über den Wert 1.
Syntax
arcpy.cartography.AggregatePolygons(in_features, out_feature_class, aggregation_distance, {minimum_area}, {minimum_hole_size}, {orthogonality_option}, {barrier_features}, {out_table})
Parameter | Erklärung | Datentyp |
in_features | Zu aggregierende Polygon-Features. Wenn dieser Layer auf eine Repräsentation verweist und Shape-Overrides für die Eingabe-Features vorhanden sind, werden die überschriebenen Shapes, nicht die Feature-Shapes, bei der Aggregationsverarbeitung berücksichtigt. | Feature Layer |
out_feature_class | Die zu erstellende Ausgabe-Feature-Class. | Feature Class |
aggregation_distance | Die Entfernung, die erforderlich ist, damit zwischen Polygongrenzen eine 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 0, 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 0, 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 |
barrier_features [barrier_features,...] (optional) | Die Layer mit den Linien- oder Polygon-Features, die Aggregationsbarrieren für Eingabe-Features darstellen. Features werden nicht über Barrieren-Features hinweg aggregiert. Barrieren-Features, die in geometrischem Konflikt mit Eingabe-Features stehen, werden ignoriert. | Feature Layer |
out_table (optional) | Eine Eins-zu-Viele-Beziehungstabelle, die die aggregierten Polygone mit ihren Quell-Polygon-Features verknüpft. Diese Tabelle enthält zwei Felder, OUTPUT_FID und INPUT_FID, in denen jeweils die aggregierten Feature-IDs und deren Quell-Feature-IDs gespeichert sind. Leiten Sie mithilfe dieser Tabelle notwendige Attribute für die Ausgabe-Features von ihren Quell-Features ab. Der Standardname für diese Tabelle ist der Name der Ausgabe-Feature-Class, dem "_tbl" angehängt wurde. Der Standardpfad entspricht der Ausgabe-Feature-Class. Keine Tabelle wird erstellt, wenn dieser Parameter leer gelassen wird. | Table |
Codebeispiel
AggregatePolygons – Beispiel 1 (Python-Fenster)
Das folgende Skript für das Python-Fenster veranschaulicht, wie die Funktion AggregatePolygons im unmittelbaren Modus verwendet wird.In diesem Beispiel wird ein Klassifizierungsfeld für die Aggregation von Features mit denselben Klassifizierungswerten verwendet. Mit einer Umgebungseinstellung werden Geodatabase-Feldeigenschaften wie Domäne und Subtypes des Aggregatfeldes in die Ausgabe-Feature-Class übertragen.
import arcpy
arcpy.env.cartographicPartitions = "C:/data/county.gdb/zipcodepoly"
arcpy.env.transferGDBAttributeProperties = True
buildings = "C:/data/county.gdb/bldgspoly"
roads = "C:/data/county.gdb/roadnetwork"
output = "C:/data/county.gdb/BldgAggBarrierPartition"
output_table = "C:/data/county.gdb/BldgAggBarrierPartition_Tbl"
aggregate_field = "Classification"
arcpy.AggregatePolygons_cartography(buildings, output, "20 Meters",
"50 SquareMeters", "0 SquareMeters",
"ORTHOGONAL", roads, output_table,
aggregate_field)
AggregatePolygons – Beispiel 2 (eigenständiges Skript)
Das folgende eigenständige Skript veranschaulicht, wie die Funktion AggregatePolygons verwendet wird.
# Name: AggregatePolygons_Example2.py
# Description: Aggregate grass features and then transfer attributes
# Import system modules
import arcpy
import arcpy.cartography as CA
import arcpy.management as DM
import arcpy.analysis as AN
# Set environment settings
arcpy.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", "", aggregatedTable)
# 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")
Umgebungen
Lizenzinformationen
- Basic: Nein
- Standard: Nein
- Advanced: Ja
Verwandte Themen
- Überblick über das Toolset "Generalisierung"
- Konfliktlösung und Generalisierung
- Automatisieren von Workflows für die Konfliktlösung und Generalisierung bei der Geoverarbeitung
- Gebäude vereinfachen
- Generalisieren von großen Datasets mit Partitionen
- Kartografische Partitionen erstellen
- Kartografische Partitionen (Umgebungseinstellung)