Polygone aggregieren (Kartografie)
Zusammenfassung
Kombiniert Polygone innerhalb einer bestimmten Entfernung zueinander zu neuen Polygonen.
Bild
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.
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 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 Quellpolygonen 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 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.
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. Wenn die resultierende Ausgabe-Feature-Class an den Partitionsrändern konsistent ist, aber Ausgabe-Features Partitionen schneiden, wird sie an der Partitionslinie geteilt. Ein Feld mit dem Namen IS_SPLIT in der Ausgabe-Feature-Class verfügt dann über den Wert 1.
Syntax
Parameter | Erläuterung | 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 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 |
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 Quellpolygon-Features verknüpft. Diese Tabelle enthält zwei Felder (OUTPUT_FID und INPUT_FID), in denen die aggregierten Feature-IDs und ihre dazugehörigen Quellen-Feature-IDs gespeichert sind. Leiten Sie mithilfe dieser Tabelle notwendige Attribute für die Ausgabe-Features von ihren Quellen-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
Das folgende Skript im Python-Fenster veranschaulicht, wie Sie das Werkzeug "AggregatePolygons" im unmittelbaren Modus verwenden.
import arcpy
arcpy.env.cartographicPartitions = "C:/data/county.gdb/zipcodepoly"
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"
arcpy.AggregatePolygons_cartography(buildings, output, "20 Meters", "5 SquareMeters", "0 SquareMeters", "ORTHOGONAL", roads, output_table)
Das folgende eigenständige Skript veranschaulicht, wie Sie die Funktion "AggregatePolygons" verwenden.
# Name: AggregatePolygons_Example2.py
# Description: Aggregate grass features and then transfer attributes
# Author: ESRI
# 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", "", 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")