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

Abbildung des Werkzeugs "Zusammenführen (Merge)"

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, eine Line-Feature-Class mit einer Polygon-Feature-Class hingegen nicht.

    Tabellen und Feature-Classes können zu einem einzelnen Ausgabe-Dataset kombiniert werden. Der Ausgabedatentyp wird von der ersten Eingabe bestimmt. Wenn die erste Eingabe eine Feature-Class ist, ist auch die Ausgabe eine Feature-Class. Wenn die erste Eingabe eine Tabelle ist, ist auch die Ausgabe eine Tabelle. Wird eine Tabelle mit einer Feature-Class zusammengeführt, haben die Zeilen aus der Eingabetabelle eine NULL-Geometrie.

  • Verwenden Sie den Parameter Feldzuordnung, um die Felder und deren Inhalte im Ausgabe-Dataset zu verwalten.

    • Sie können Felder aus der Feldliste hinzufügen und entfernen, die Feldliste umsortieren und Felder umbenennen.
    • Als Datentyp der Ausgabefelder wird der Datentyp des zuerst gefundenen Eingabefeldes (dieses Namens) übernommen. Sie können den Datentyp in einen anderen gültigen Datentyp ändern.
    • Verwenden Sie eine Aktion, um festzulegen, wie Werte aus einem oder mehreren Eingabefeldern in einem einzigen Ausgabefeld zusammengeführt werden sollen. Die verfügbaren Aktionen sind: Erste(r), Letzte(r), Verbinden, Summe, Mittelwert, Medianwert, Modus, Minimum, Maximum, Standardabweichung und Anzahl.
    • Bei Verwendung von Verbinden können Sie ein Trennzeichen angeben, z. B. ein Komma oder andere Zeichen. Klicken Sie auf den Beginn des Textfeldes Trennzeichen, um die Trennzeichen hinzuzufügen.
    • Standardabweichung ist keine gültige Option für einzelne Eingabewerte.
    • Verwenden Sie die Schaltfläche Text ausschneiden bei Textquellfeldern, um auszuwählen, welche Zeichen aus einem Eingabewert in das Ausgabefeld extrahiert werden sollen. Um auf die Schaltfläche Text ausschneiden zuzugreifen, bewegen Sie den Mauszeiger über ein Textfeld in der Liste der Eingabefelder, und geben Sie dann die Start- und Endposition der Zeichen an.
    • Felder können auch mit Python-Skripts zugeordnet werden.

  • 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 zusammenzuführen.

  • 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.

Parameter

BeschriftungErläuterungDatentyp
Eingabe-Datasets

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. Die Eingabe-Feature-Classes müssen denselben Geometrietyp aufweisen.

Tabellen und Feature-Classes können zu einem einzelnen Ausgabe-Dataset kombiniert werden. Der Ausgabedatentyp von der ersten Eingabe bestimmt. Wenn die erste Eingabe eine Feature-Class ist, ist auch die Ausgabe eine Feature-Class. Wenn die erste Eingabe eine Tabelle ist, ist auch die Ausgabe eine Tabelle. Wird eine Tabelle mit einer Feature-Class zusammengeführt wird, haben die Zeilen aus der Eingabetabelle eine NULL-Geometrie.

Table View
Ausgabe-Dataset

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

Feature Class;Table
Feldzuordnung
(optional)

Verwenden Sie die Feldzuordnung, um Schemaunterschiede abzugleichen und Attributfelder zwischen mehreren Datasets aufeinander abzustimmen. Standardmäßig enthält die Ausgabe alle Felder der Eingabe-Datasets.

Verwenden Sie die Feldzuordnung, um Felder hinzuzufügen, zu löschen, umzubenennen und neu anzuordnen sowie andere Feldeigenschaften zu ändern.

Die Feldzuordnung kann auch verwendet werden, um Werte aus zwei oder mehr Eingabefeldern in einem einzigen Ausgabefeld zu kombinieren.

Field Mappings
Quellinformationen zur Ausgabe hinzufügen
(optional)

Gibt an, ob Quellinformationen über ein neues Textfeld mit dem Namen MERGE_SRC zum Ausgabe-Dataset hinzugefügt werden. Die Werte im Feld MERGE_SRC geben den Pfad oder den Layer-Namen des Eingabe-Datasets an, der die Quelle der Datensätze in der Ausgabe darstellt.

  • Deaktiviert: Quellinformationen werden nicht über ein neues Textfeld mit dem Namen MERGE_SRC zum Ausgabe-Dataset hinzugefügt. Dies ist die Standardeinstellung.
  • Aktiviert: Quellinformationen werden über ein neues Textfeld mit dem Namen MERGE_SRC zum Ausgabe-Dataset hinzugefügt.
Boolean

arcpy.management.Merge(inputs, output, {field_mappings}, {add_source})
NameErlä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. Die Eingabe-Feature-Classes müssen denselben Geometrietyp aufweisen.

Tabellen und Feature-Classes können zu einem einzelnen Ausgabe-Dataset kombiniert werden. Der Ausgabedatentyp von der ersten Eingabe bestimmt. Wenn die erste Eingabe eine Feature-Class ist, ist auch die Ausgabe eine Feature-Class. Wenn die erste Eingabe eine Tabelle ist, ist auch die Ausgabe eine Tabelle. Wird eine Tabelle mit einer Feature-Class zusammengeführt wird, 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)

Verwenden Sie die Feldzuordnung, um Schemaunterschiede abzugleichen und Attributfelder zwischen mehreren Datasets aufeinander abzustimmen. Standardmäßig enthält die Ausgabe alle Felder der Eingabe-Datasets.

Verwenden Sie die Feldzuordnung, um Felder hinzuzufügen, zu löschen, umzubenennen und neu anzuordnen sowie andere Feldeigenschaften zu ändern.

Die Feldzuordnung kann auch verwendet werden, um Werte aus zwei oder mehr Eingabefeldern in einem einzigen Ausgabefeld zu kombinieren.

In Python verwenden Sie die FieldMappings-Klasse zum Definieren dieses Parameters.

Field Mappings
add_source
(optional)

Gibt an, ob Quellinformationen über ein neues Textfeld mit dem Namen MERGE_SRC zum Ausgabe-Dataset hinzugefügt werden. Die Werte im Feld MERGE_SRC geben den Pfad oder den Layer-Namen des Eingabe-Datasets an, der die Quelle der Datensätze in der Ausgabe darstellt.

  • NO_SOURCE_INFOQuellinformationen werden nicht über ein neues Textfeld mit dem Namen MERGE_SRC zum Ausgabe-Dataset hinzugefügt. Dies ist die Standardeinstellung.
  • ADD_SOURCE_INFOQuellinformationen werden über ein neues Textfeld mit dem Namen MERGE_SRC zum Ausgabe-Dataset hinzugefügt.
Boolean

Codebeispiel

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.management.Merge(["majorrds.shp", "Habitat_Analysis.gdb/futrds"], 
                       "C:/output/Output.gdb/allroads", "", "ADD_SOURCE_INFO")
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.management.Merge([oldStreets, newStreets], uptodateStreets, fieldMappings, 
                       addSourceInfo)

Verwandte Themen