Skip To Content

Zusammenführen (Merge)

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.

    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.

  • Dieses Werkzeug unterstützt keine Raster-Datasets. Mehrere Raster können mit dem Werkzeug Mosaik zu neuem Raster in ein neues Ausgabe-Raster zusammengeführt werden.

Syntax

Merge_management (inputs, output, {field_mappings})
ParameterErläuterungDatentyp
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)

Legt fest, wie die Attributfelder aus den Eingabe-Datasets zugeordnet und an das Ausgabe-Dataset übertragen werden.

Sie können Ausgabefelder hinzufügen, umbenennen oder löschen sowie Eigenschaften wie Datentyp und Vereinigungsregel einstellen.

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, anhand derer festgelegt wird, 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 der Eingabefelder zusammen (verbindet sie).
  • Summe – Berechnet den Gesamtbetrag der Werte der Eingabefelder.
  • Mittelwert – Berechnet den Mittelwert (Durchschnitt) der Werte der Eingabefelder.
  • Mittelwert – Berechnet den Medianwert (Mittelwert) der Werte der Eingabefelder.
  • Modus – Verwendet den Wert mit der größten Häufigkeit.
  • Min – Verwendet den Minimalwert der Werte aller Eingabefelder.
  • Max – Verwendet den Maximalwert der Werte aller Eingabefelder.
  • Standardabweichung – Wendet die Klassifizierungsmethode "Standardabweichung" auf die Werte aller Eingabefelder an.
  • Anzahl – Gibt die Anzahl der Datensätze zurück, die in der Berechnung enthalten sind.

Dieser Parameter kann mit der FieldMappings-Klasse von ArcPy definiert werden.

Field Mappings

Codebeispiel

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

Mit dem folgenden Skript im Python-Fenster wird die Anwendung des Werkzeugs "Zusammenführen (Merge)" gezeigt.

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

Verschieben Sie mithilfe des Werkzeugs "Zusammenführen (Merge)" Features aus zwei Street-Feature-Classes in ein einzelnes Dataset.

# Name: Merge.py
# Description: Use Merge tool to move features from two street
#                    feature classes into a single dataset with field mapping
# import system modules 
import arcpy
from arcpy import env
# Set environment settings
env.workspace = "C:/data"
# Street feature classes to be merged
oldStreets = "majorrds.shp"
newStreets = "Habitat_Analysis.gdb/futrds"
# 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)

Lizenzinformationen

  • ArcGIS Desktop Basic: Ja
  • ArcGIS Desktop Standard: Ja
  • ArcGIS Desktop Advanced: Ja

Verwandte Themen