Zusammenführen (Dissolve) (Data Management)
Zusammenfassung
Fasst Features auf der Grundlage angegebener Attribute zusammen.
Weitere Informationen zur Funktionsweise von "Zusammenführen" (Dissolve)
Abbildung
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 Anzeigeproblemen führen oder Performance-Einbußen bei der Darstellung auf einer Karte oder bei der Bearbeitung zur Folge haben. 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.
-
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.
-
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 abgeschnitten 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. Sie können diese Grenzen mit einem zweiten Zusammenführungsvorgang oder mit dem Editier-Task "Zusammenführen" (Merge) in ArcMap auswerten und entfernen. (1. Starten Sie die Bearbeitung; 2. Wählen Sie die zwei Features aus; 3. Klicken Sie auf "Editor" und auf "Zusammenführen" (Merge).)
-
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.
-
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.
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 auszufüllen 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 # Author: ESRI # 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")