Zusammenführen (Merge) (Data Management)

Zusammenfassung

Zur Zusammenführung mehrerer Eingabe-Datasets des gleichen Datentyps zu einem einzelnen, neuen Ausgabe-Dataset. Mit diesem Werkzeug lassen sich Punkt-, Linien- oder Polygon-Feature-Classes oder -Tabellenkombinieren.

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

Abbildung

Abbildung "Zusammenführen"

Verwendung

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 Punkt-, Linien- oder Polygon-Feature-Classes oder -Tabellen sein. Der Datentyp der einzelnen Eingabe-Datasets muss übereinstimmen.

Table View
output

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

Feature Class;Table
field_mappings
(optional)

Die aus den Eingaben ausgewählten Felder mit Inhalt. Die jeweiligen eindeutigen Eingabefelder werden im Fenster "Feldzuordnung" aufgeführt. Wenn Sie das Fenster erweitern, wird eine Liste aller Vorkommnisse der Eingabefelder angezeigt.

Für jede Feldzuordnung können Sie Ausgabefelder hinzufügen, umbenennen oder löschen sowie Eigenschaften wie Datentyp und Vereinigungsregel einstellen. Sie können auch die Vorkommen eines Ausgabefeldes löschen und die Werte formatieren.

Mit Vereinigungsregeln geben Sie an, wie Werte aus zwei oder mehr Eingabefeldern zu einem einzigen Ausgabewert zusammengeführt werden. Es stehen mehrere Vereinigungsregeln zur Verfügung:

  • Erste(r): Verwendet die Werte des ersten Eingabefeldes, um das Ausgabefeld aufzufüllen.
  • Letzte(r): Verwendet die Werte des letzten Eingabefeldes, um das Ausgabefeld aufzufüllen.
  • Verbinden – Führt die Werte aller Eingabefelder zusammen (verbindet sie), um das Ausgabefeld aufzufüllen.
  • Summe – Berechnet den Gesamtbetrag der Werte aller Eingabefelder.
  • Mittelwert – Berechnet den Mittelwert (Durchschnitt) der Werte aller Eingabefelder.
  • Medianwert – Berechnet den Medianwert (mittleren Wert).
  • 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 Standardabweichungs-Klassifizierungsmethode auf die Werte aller Eingabefelder an.
  • Anzahl – Gibt die Anzahl der Datensätze zurück, die in der Berechnung enthalten sind.

Field Mappings

Codebeispiel

Merge - Beispiel 1 (Python-Fenster)

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

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

Verschieben Sie mithilfe des Werkzeugs "Zusammenführen" 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.CreateObject("FieldMappings")

# Create FieldMap objects to add new fields to merge output
fldMap_streetClass = arcpy.CreateObject("FieldMap")
fldMap_streetName = arcpy.CreateObject("FieldMap")

# 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.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 input fields "CLASS" & "IFC" into new output field
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 "Street_Class" and "Street_Name" output fields to FieldMappings object
fieldMappings.AddFieldMap(fldMap_streetName)
fieldMappings.AddFieldMap(fldMap_streetClass)

# Remove all output fields from the field map, 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)

Umgebungen

Verwandte Themen

Lizenzinformationen

ArcView: Ja
ArcEditor: Ja
ArcInfo: Ja

11/13/2014