Zusammenführen (Dissolve) (Data Management)
Zusammenfassung
Fasst Features auf der Grundlage angegebener Attribute zusammen.
Weitere Informationen zur Funktionsweise von "Zusammenführen" (Dissolve)
Bild
Verwendung
-
Die Attribute der Features, die mit "Zusammenführen" (Dissolve) aggregiert werden, können mit verschiedenen Statistiken zusammengefasst oder beschrieben werden. Die Statistik zum Zusammenfassen von Attributen wird der Ausgabe-Feature-Class als einzelnes Feld hinzugefügt, wobei die Benennungskonvention "Statistiktyp + Unterstrich + Name des Eingabefelds" verwendet wird. Wenn beispielsweise die Summenstatistik in einem Feld mit dem Namen "POP" verwendet wird, verfügt die Ausgabe über ein Feld mit dem Namen "SUM_POP".
-
Mit Zusammenführen (Dissolve) können sehr große Features in der Ausgabe-Feature-Class erstellt werden. Dies gilt insbesondere, wenn Dissolve-Feld(er) nur wenige Einzelwerte enthalten oder alle Features zu einem Feature zusammengeführt werden. Sehr große Features können zu Verarbeitungs- oder Anzeigeproblemen führen oder Performance-Einbußen bei der Darstellung auf einer Karte oder bei der Bearbeitung zur Folge haben. Probleme treten möglicherweise auch auf, wenn durch die Ausgabe der Zusammenführung ein Feature mit maximaler Größe auf einem Computer erstellt wurde und dann diese Ausgabe auf einen Computer mit weniger verfügbarem Speicher verschoben wurde. Um diese Probleme zu vermeiden, teilen Sie potenziell große Multipart-Features mit der Option SINGLE_PART des Parameters Multipart-Features erstellen in mehrere kleine Features auf. Extrem große vom Werkzeug "Zusammenführen" (Dissolve) erstellte Features müssen möglicherweise mit dem Werkzeug Stückeln unterteilt werden, um Verarbeitungs-, Anzeige- oder Performance-Probleme zu lösen.
-
NULL-Werte sind von allen statistischen Berechnungen ausgeschlossen. Beispiel: Der Mittelwert AVERAGE von 10, 5 und NULL beträgt 7,5 ((10+5)/2). Mit COUNT wird die Anzahl der Werte zurückgegeben, die in der statistischen Berechnung enthalten sind, in diesem Fall 2.
-
Dieses Werkzeug verwendet einen Kachelvorgang, um beim Verarbeiten sehr großer Datasets eine bessere Performance und Skalierbarkeit zu erzielen. Weitere Informationen finden Sie unter Geoverarbeitung mit großen Datasets.
-
Die Menge (und Komplexität) der Eingabe-Features, die verarbeitet und in ein einzelnes Ausgabe-Feature zusammengeführt werden können, hängt vom verfügbaren physischen Speicher ab. Wenn für den Zusammenführungsvorgang mehr Speicher benötigt wird als verfügbar ist, tritt ein Fehler auf. Um dies zu vermeiden, können Eingabe-Features von Zusammenführen (Dissolve) geteilt und mit einem anpassbaren Kachelalgorithmus verarbeitet werden. Um zu ermitteln, welche Features gekachelt wurden, führen Sie das Werkzeug Häufigkeit (Frequency) für das Ergebnis dieses Werkzeugs aus. Geben Sie dabei für den Parameter Häufigkeitsfeld(er) dieselben Felder an wie für den Zusammenführungsvorgang. Alle Datensätze mit einem Häufigkeitswert von 2 wurden gekachelt. Die Kachelgrenzen bleiben in den Ausgabe-Features erhalten, um zu verhindern, dass Features erstellt werden, die für die Verwendung in ArcGIS zu groß sind.
Achtung:Bei Ausführung von Zusammenführen (Dissolve) auf der Ausgabe einer vorherigen Zusammenführung wird die Anzahl von Features in der Ausgabe selten reduziert, wenn die Eingaben bei der ursprünglichen Verarbeitung geteilt und mit adaptivem Kacheln verarbeitet wurden. Die maximale Größe eines Ausgabe-Features wird zur Laufzeit durch den verfügbaren Speicher bestimmt. Daher ist eine Ausgabe mit Kacheln ein Indikator dafür, dass eine weitere Zusammenführung mit den verfügbaren Ressourcen eine Situation mit ungenügendem Arbeitsspeicher verursachen oder zu in einem unbrauchbaren Feature führen würde. Zudem führt eine zweite Ausführung des Werkzeugs Zusammenführen (Dissolve) auf so erstellten Ausgaben möglicherweise zu sehr geringer Performance mit praktisch keinem Gewinn und kann einen unerwarteten Fehler verursachen.
-
Die Schaltfläche Feld hinzufügen des Parameters Dissolve-Feld(er) wird nur in ModelBuilder verwendet. Der Parameter Dissolve-Feld(er) enthält in ModelBuilder keine Feldnamen, wenn das vorherige Werkzeug nicht ausgeführt wurde oder die abgeleiteten Daten nicht vorhanden sind. Mit der Schaltfläche Feld hinzufügen können Sie die erforderlichen Felder hinzufügen, um das Werkzeugdialogfeld zu vervollständigen und das Modell zu erstellen.
-
Der Parameter Nicht geteilte Linien mit zwei Optionen, DISSOLVE_LINES und UNSPLIT_LINES, gilt nur für die Linieneingabe. Wenn die Standardoption DISSOLVE_LINES angegeben wird, werden Linien zu einem einzelnen Feature zusammengeführt. Wenn UNSPLIT_LINES angegeben wird, werden nur zwei Linien mit einem gemeinsamen Endpunkt (Pseudo-Node genannt) zu einer kontinuierlichen Linie zusammengeführt.
Syntax
Parameter | Erläuterung | Datentyp |
in_features |
Die zusammenzufassenden Features. | Feature Layer |
out_feature_class |
Die zu erstellende Feature-Class, die die zusammengeführten Features enthalten soll. | Feature Class |
dissolve_field [dissolve_field,...] (optional) | Die Felder, mit denen Features zusammengefasst werden. Mit der nur in ModelBuilder verwendeten Schaltfläche "Feld hinzufügen" können Sie die erforderlichen Felder hinzufügen, um das Dialogfeld abzuschließen und das Modell zu erstellen. | Field |
statistics_fields [[field, {statistic_type}],...] (optional) |
Die Felder und Statistiken, mit denen Attribute zusammengefasst werden. Textattributfelder können mit den Statistiken FIRST oder LAST zusammengefasst werden. Numerische Attributfelder können mit jeder beliebigen Statistik zusammengefasst werden. NULL-Werte sind von allen statistischen Berechnungen ausgeschlossen.
| Value Table |
multi_part (optional) |
Gibt an, ob Multipart-Features in der Ausgabe-Feature-Class zugelassen werden.
| Boolean |
unsplit_lines (optional) |
Steuert, wie Linien-Features zusammengeführt werden.
| Boolean |
Codebeispiel
Im folgenden Skript im Python-Fenster wird veranschaulicht, wie Sie das Werkzeug "Zusammenführen" (Dissolve) im unmittelbaren Modus verwenden.
import arcpy
from arcpy import env
env.workspace = "C:/data/Portland.gdb/Taxlots"
arcpy.Dissolve_management("taxlots", "C:/output/output.gdb/taxlots_dissolved",
["LANDUSE", "TAXCODE"], "", "SINGLE_PART",
"DISSOLVE_LINES")
Im folgenden eigenständigen Skript wird veranschaulicht, wie Sie das Werkzeug "Zusammenführen" (Dissolve) verwenden.
# Name: Dissolve_Example2.py
# Description: Dissolve features based on common attributes
# Import system modules
import arcpy
from arcpy import env
# Set environment settings
env.workspace = "C:/data/Portland.gdb/Taxlots"
# Set local variables
inFeatures = "taxlots"
tempLayer = "taxlotsLyr"
expression = arcpy.AddFieldDelimiters(inFeatures, "LANDUSE") + " <> ''"
outFeatureClass = "C:/output/output.gdb/taxlots_dissolved"
dissolveFields = ["LANDUSE", "TAXCODE"]
# Execute MakeFeatureLayer and SelectLayerByAttribute. This is only to exclude
# features that are not desired in the output.
arcpy.MakeFeatureLayer_management(inFeatures, tempLayer)
arcpy.SelectLayerByAttribute_management(tempLayer, "NEW_SELECTION", expression)
# Execute Dissolve using LANDUSE and TAXCODE as Dissolve Fields
arcpy.Dissolve_management(tempLayer, outFeatureClass, dissolveFields, "",
"SINGLE_PART", "DISSOLVE_LINES")