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
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.
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})
Parameter | Erklärung | Datentyp |
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.
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.
| Boolean |
Codebeispiel
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")
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)
Umgebungen
Lizenzinformationen
- Basic: Ja
- Standard: Ja
- Advanced: Ja