Polygone aggregieren (Cartography)

Zusammenfassung

Kombiniert Polygone innerhalb einer bestimmten Entfernung zueinander zu neuen Polygonen.

Abbildung

Abbildung "Polygone aggregieren"

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 den Datentyp text, date oder integer aufweisen. 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.

  • 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}, {aggregate_field})
ParameterErklärungDatentyp
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.

  • NON_ORTHOGONALOrganisch geformte Ausgabe-Features werden erstellt. Dies eignet sich für natürliche Features, wie Vegetations- oder Bodenpolygone. Dies ist die Standardeinstellung.
  • ORTHOGONALRechtwinklig geformte Ausgabe-Features werden erstellt. Dies eignet sich für die Beibehaltung der geometrischen Merkmale von Menschen geschaffener Eingabe-Features, wie z. B. Gebäude-Footprints.
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
aggregate_field
(optional)

Das Feld, das die Attribute für die Aggregation enthält. Features müssen denselben Attributwert aufweisen, um für die Aggregation berücksichtigt zu werden. Verwenden Sie beispielsweise ein Gebäudeklassifizierungsfeld als Aggregatfeld, um zu verhindern, dass Gewerbegebäude mit Wohngebäuden aggregiert werden.

Field

Codebeispiel

AggregatePolygons-Werkzeug – Beispiel 1 (Python-Fenster)

Das folgende Skript für das Python-Fenster veranschaulicht, wie das Werkzeug 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-Werkzeug – 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")

Lizenzinformationen

  • Basic: Nein
  • Standard: Nein
  • Advanced: Ja

Verwandte Themen