Zusammenführen (Merge) (Data Management)

Zusammenfassung

Kombiniert mehrere Eingabe-Datasets zu einem einzelnen, neuen Ausgabe-Dataset. Mit diesem Werkzeug lassen sich Point-, Line- oder Polygon-Feature-Classes oder Tabellen kombinieren.

Mit dem Werkzeug Anhängen können Sie Eingabe-Datasets mit einem vorhandenen Dataset kombinieren.

Abbildung

Zusammenführen (Merge) (Werkzeug)

Verwendung

  • Mit diesem Werkzeug können Datasets aus mehreren Quellen in ein neues, einzelnes Ausgabe-Dataset zusammengeführt werden. Alle Eingabe-Feature-Classes müssen denselben Geometrietyp aufweisen. Es können beispielsweise mehrere Point-Feature-Classes zusammengeführt werden, jedoch keine Line-Feature-Class mit einer Polygon-Feature-Class.

    Tabellen und Feature-Classes können in einem einzelnen Ausgabe-Dataset kombiniert werden. Der Ausgabetyp wird durch die erste Eingabe bestimmt. Handelt es sich bei der ersten Eingabe um eine Feature-Class, ist die Ausgabe eine Feature-Class; ist die erste Eingabe eine Tabelle, ist auch die Ausgabe eine Tabelle. Wird eine Tabelle in einer Feature-Class zusammengeführt, haben die Zeilen aus der Eingabetabelle eine Null-Geometrie.

  • Alle Felder im Ausgabe-Dataset und der zugehörige Inhalt können mit der Feldzuordnung koordiniert werden.

    • Um die Feldreihenfolge zu ändern, wählen Sie den Namen eines Feldes aus, und ziehen Sie es an die gewünschte Position.
    • Als Datentyp der Ausgabefelder wird der Datentyp des zuerst gefundenen Eingabefeldes (dieses Namens) übernommen. Sie können den Datentyp jederzeit manuell in einen anderen gültigen Datentyp ändern.
    • Die folgenden Vereinigungsregeln sind verfügbar: Erste(r), Letzte(r), Verbinden, Summe, Mittelwert, Medianwert, Modus, Minimum, Maximum, Standardabweichung und Anzahl.
    • Bei der Anwendung der Vereinigungsregel Verbinden können Sie Ihr ein Trennzeichen angeben, wie z. B. Leerzeichen, Komma, Punkt, Bindestrich. Um ein Leerzeichen zu verwenden, muss sich der Mauszeiger am Anfang des Eingabefeldes befinden. Drücken Sie dann einmal die Leertaste.
    • Sie können Start- und Endpositionen von Textfeldern mithilfe der Formatoption festlegen.
    • Führen Sie die Standardabweichung nicht für eine einzelne Eingabe aus, da die Werte nicht durch 0 geteilt werden können. Die Standardabweichung ist daher keine gültige Option für Einzeleingaben.

    Weitere Informationen zur Feldzuordnung in Skripten

  • Mit diesem Werkzeug werden die Geometrien aus Eingabe-Datasets weder geteilt noch geändert. Alle Features aus den Eingabe-Datasets bleiben im Ausgabe-Dataset intakt, auch wenn sie sich überschneiden. Zum Zusammenführen oder Teilen von Feature-Geometrien verwenden Sie das Werkzeug Vereinigen (Union).

  • Wenn Feature-Classes zusammengeführt werden, ist das Ausgabe-Dataset im Koordinatensystem der ersten Feature-Class in der Liste Eingabe-Datasets, außer wenn die Umgebungseinstellung Ausgabe-Koordinatensystem festgelegt wird.

  • Dieses Werkzeug unterstützt keine Annotation-Feature-Classes. Verwenden Sie das Werkzeug Annotation-Feature-Class anhängen, um Annotation-Feature-Classes zu kombinieren.

  • Dieses Werkzeug unterstützt keine Raster-Datasets. Mehrere Raster können mit dem Werkzeug Mosaik zu neuem Raster in einem neuen Ausgabe-Raster kombiniert werden.

Syntax

arcpy.management.Merge(inputs, output, {field_mappings}, {add_source})
ParameterErklärungDatentyp
inputs
[inputs,...]

Die Eingabe-Datasets, die zu einem neuen Ausgabe-Dataset zusammengeführt werden. Eingabe-Datasets können Point-, Line- oder Polygon-Feature-Classes oder Tabellen sein. Alle Eingabe-Feature-Classes müssen denselben Geometrietyp aufweisen.

Tabellen und Feature-Classes können in einem einzelnen Ausgabe-Dataset kombiniert werden. Der Ausgabetyp wird durch die erste Eingabe bestimmt. Handelt es sich bei der ersten Eingabe um eine Feature-Class, ist die Ausgabe eine Feature-Class; ist die erste Eingabe eine Tabelle, ist auch die Ausgabe eine Tabelle. Wird eine Tabelle in einer Feature-Class zusammengeführt, haben die Zeilen aus der Eingabetabelle eine Null-Geometrie.

Table View
output

Das Ausgabe-Dataset, das alle zusammengeführten Eingabe-Datasets enthält.

Feature Class;Table
field_mappings
(optional)

Steuert, welche Attributfelder in der Ausgabe enthalten sind. Standardmäßig werden alle Felder der Eingaben aufgenommen.

Felder können hinzugefügt, gelöscht, umbenannt und neu angeordnet werden. Zudem können Sie deren Eigenschaften ändern.

Mit Vereinigungsregeln geben Sie an, wie Werte aus zwei oder mehr Eingabefeldern zu einem einzigen Ausgabewert zusammengeführt bzw. kombiniert werden. Es gibt mehrere Vereinigungsregeln, mit denen Sie bestimmen können, wie das Ausgabefeld mit Werten gefüllt wird.

  • Erste(r) – Der erste Wert des Eingabefeldes wird verwendet.
  • Letzte(r) – Der letzte Wert des Eingabefeldes wird verwendet.
  • Verbinden: Führt die Werte des Eingabefeldes zusammen (verbindet sie).
  • Summe: Berechnet den Gesamtbetrag der Werte des Eingabefeldes.
  • Mittelwert: Berechnet den Mittelwert (Durchschnitt) der Werte des Eingabefeldes.
  • Medianwert: Berechnet den Medianwert (Mittelwert) der Werte des Eingabefeldes.
  • Modus – Verwendet den Wert mit der größten Häufigkeit.
  • Min: Verwendet den Minimalwert aller Werte des Eingabefeldes.
  • Max: Verwendet den Maximalwert aller Werte des Eingabefeldes.
  • Standardabweichung: Wendet die Klassifizierungsmethode "Standardabweichung" auf alle Werte des Eingabefeldes an.
  • Anzahl – Gibt die Anzahl der Datensätze zurück, die in der Berechnung enthalten sind.

In Python kann dieser Parameter mit der FieldMappings-Klasse definiert werden.

Field Mappings
add_source
(optional)

Gibt an, ob dem Ausgabefeld im neuen Textfeld MERGE_SRC Quellinformationen hinzugefügt werden. Die Werte im Feld MERGE_SRC bezeichnen den Pfad des Eingabe-Datasets oder den Layer-Namen, der die Quelle der einzelnen Datensätze in der Ausgabe darstellt.

  • NO_SOURCE_INFO Dem Ausgabe-Dataset im Feld MERGE_SRC werden keine Quellinformationen hinzugefügt. Dies ist die Standardeinstellung.
  • ADD_SOURCE_INFODem Ausgabe-Dataset im Feld MERGE_SRC werden Quellinformationen hinzugefügt.
Boolean

Codebeispiel

Zusammenführen (Merge) - Beispiel 1 (Python-Fenster)

Das folgende Skript im Python-Fenster veranschaulicht, wie Sie die Funktion Merge verwenden.

import arcpy
arcpy.env.workspace = "C:/data"
arcpy.Merge_management(["majorrds.shp", "Habitat_Analysis.gdb/futrds"], 
                       "C:/output/Output.gdb/allroads", "", "ADD_SOURCE_INFO")
Zusammenführen (Merge) - Beispiel 2 (eigenständiges Skript)

Verschieben Sie mithilfe der Funktion "Merge" Features aus zwei Street-Feature-Classes in ein einzelnes Dataset.

# Name: Merge.py
# Description: Use Merge to move features from two street
#              feature classes into a single dataset with field mapping
# import system modules 
import arcpy
# Set environment settings
arcpy.env.workspace = "C:/data"
# Street feature classes to be merged
oldStreets = "majorrds.shp"
newStreets = "Habitat_Analysis.gdb/futrds"
addSourceInfo = "ADD_SOURCE_INFO"
# Create FieldMappings object to manage merge output fields
fieldMappings = arcpy.FieldMappings()
# Add all fields from both oldStreets and newStreets
fieldMappings.addTable(oldStreets)
fieldMappings.addTable(newStreets)
# Add input fields "STREET_NAM" & "NM" into new output field
fldMap_streetName = arcpy.FieldMap()
fldMap_streetName.addInputField(oldStreets, "STREET_NAM")
fldMap_streetName.addInputField(newStreets, "NM")
# Set name of new output field "Street_Name"
streetName = fldMap_streetName.outputField
streetName.name = "Street_Name"
fldMap_streetName.outputField = streetName
# Add output field to field mappings object
fieldMappings.addFieldMap(fldMap_streetName)
# Add input fields "CLASS" & "IFC" into new output field
fldMap_streetClass = arcpy.FieldMap()
fldMap_streetClass.addInputField(oldStreets, "CLASS")
fldMap_streetClass.addInputField(newStreets, "IFC")
# Set name of new output field "Street_Class"
streetClass = fldMap_streetClass.outputField
streetClass.name = "Street_Class"
fldMap_streetClass.outputField = streetClass  
# Add output field to field mappings object
fieldMappings.addFieldMap(fldMap_streetClass)  
# Remove all output fields from the field mappings, except fields 
# "Street_Class", "Street_Name", & "Distance"
for field in fieldMappings.fields:
    if field.name not in ["Street_Class", "Street_Name", "Distance"]:
        fieldMappings.removeFieldMap(fieldMappings.findFieldMapIndex(field.name))
# Since both oldStreets and newStreets have field "Distance", no field mapping 
# is required
# Use Merge tool to move features into single dataset
uptodateStreets = "C:/output/Output.gdb/allroads"
arcpy.Merge_management([oldStreets, newStreets], uptodateStreets, fieldMappings, 
                       addSourceInfo)

Lizenzinformationen

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

Verwandte Themen