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, 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. 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 in einer Feature-Class zusammengeführt, haben die Zeilen aus der Eingabetabelle eine NULL-Geometrie.

  • Verwenden Sie den Parameter Feldabgleichmodus, um anzugeben, wie Felder aus den Eingabe-Datasets in das Ausgabe-Dataset übertragen werden. Standardmäßig ordnet das Werkzeug gleichnamige Felder einander zu, während Felder, die für die Eingaben eindeutig sind, in der Ausgabe beibehalten werden. Verwenden Sie den Parameter Feldzuordnung, wenn die Option Feldzuordnung zum Abgleichen von Feld-Unterschieden verwenden angegeben ist. Wenn alle Eingabe-Datasets das gleiche Schema aufweisen, verwenden Sie die Option Nur das Schema des ersten Datasets verwenden, um die Performance zu verbessern.

  • 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.
    • Der Standarddatentyp eines Ausgabefeldes ist der Datentyp des zuerst gefundenen Eingabefeldes (mit diesem Namen). Sie können den Datentyp in einen anderen gültigen Datentyp ändern.
    • Verwenden Sie eine Aktion, um festzulegen, wie die 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 Option Exportieren, Exportieren, um eine Feldzuordnung als .fieldmap-Datei zu speichern.
    • Verwenden Sie die Option Laden Import, um eine .fieldmap-Datei zu laden. Der Feature-Layer oder das Dataset, der bzw. das in der Datei angegeben ist, muss mit dem im Werkzeug verwendeten Dataset übereinstimmen. Andernfalls wird der Parameter Feldzuordnung zurückgesetzt.
    • Verwenden Sie die Schaltfläche Text ausschneiden Abtrag 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 in 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, die für den Parameter Eingabe-Datasets angegeben wurde, 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.

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. 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. 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 in einer Feature-Class zusammengeführt, 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. Die Ausgabe enthält standardmäßig alle Felder aus dem Eingabe-Dataset.

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 bezeichnen den Pfad des Eingabe-Datasets oder den Layer-Namen, der die Quelle der einzelnen Datensätze in der Ausgabe darstellt.

  • Deaktiviert: Dem Ausgabe-Dataset im Feld MERGE_SRC werden keine Quellinformationen hinzugefügt. Dies ist die Standardeinstellung.
  • Aktiviert: Dem Ausgabe-Dataset im Feld MERGE_SRC werden Quellinformationen hinzugefügt.
Boolean
Feldabgleichmodus
(optional)

Gibt an, wie Felder aus dem Eingabe-Dataset an das Ausgabe-Dataset übertragen werden.

  • Automatisch konsolidierte Felder aller Eingaben generierenGleichnamige Felder werden einander in der Ausgabe automatisch zugeordnet. Felder, die für die Eingaben eindeutig sind, werden in der Ausgabe beibehalten. Dies ist die Standardeinstellung.
  • Feldzuordnung zum Abgleichen von Feld-Unterschieden verwendenDie Ausgabefelder werden durch den Wert des Parameters Feldzuordnung bestimmt.
  • Nur das Schema des ersten Datasets verwendenEs wird das Schema aus dem ersten Eingabe-Dataset verwendet. Dieser Modus ist geeignet, wenn alle Eingabe-Datasets dasselbe Schema aufweisen.
String

arcpy.management.Merge(inputs, output, {field_mappings}, {add_source}, {field_match_mode})
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. 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. 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 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)

Verwenden Sie die Feldzuordnung, um Schemaunterschiede abzugleichen und Attributfelder zwischen mehreren Datasets aufeinander abzustimmen. Die Ausgabe enthält standardmäßig alle Felder aus dem Eingabe-Dataset.

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 bezeichnen den Pfad des Eingabe-Datasets oder den Layer-Namen, der die Quelle der einzelnen Datensätze in der Ausgabe darstellt.

  • NO_SOURCE_INFODem 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
field_match_mode
(optional)

Gibt an, wie Felder aus dem Eingabe-Dataset an das Ausgabe-Dataset übertragen werden.

  • AUTOMATICGleichnamige Felder werden einander in der Ausgabe automatisch zugeordnet. Felder, die für die Eingaben eindeutig sind, werden in der Ausgabe beibehalten. Dies ist die Standardeinstellung.
  • MANUAL_EDITDie Ausgabefelder werden durch den Wert des Parameters field_mappings bestimmt.
  • USE_FIRST_SCHEMAEs wird das Schema aus dem ersten Eingabe-Dataset verwendet. Dieser Modus ist geeignet, wenn alle Eingabe-Datasets dasselbe Schema aufweisen.
String

Codebeispiel

Merge: Beispiel 1 (Python-Fenster)

Das folgende Skript im Python-Fenster veranschaulicht, wie die Funktion Merge verwendet wird:

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)

Lizenzinformationen

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

Verwandte Themen