Anhängen (Data Management)

Zusammenfassung

Hängt mehrere Eingabe-Datasets an ein bereits vorhandenes Ziel-Dataset an. Eingabe-Datasets können Feature-Classes, Tabellen, Shapefiles, Raster, Annotation- oder Dimension-Feature-Classes sein.

Verwenden Sie das Werkzeug Zusammenführen (Merge), um Eingabe-Datasets mit einem neuen Ausgabe-Dataset zu kombinieren.

Abbildung

Anhängen (Werkzeugbild)

Verwendung

  • Mithilfe dieses Werkzeugs können Sie einem vorhandenen Dataset neue Features oder andere Daten aus verschiedenen Datasets hinzufügen. Mit diesem Werkzeug können Point-, Line- oder Polygon-Feature-Classes, Tabellen, Raster, Annotation-Feature-Classes oder Dimension-Feature-Classes an ein vorhandenes Dataset desselben Typs angehängt werden. Es können beispielsweise mehrere Tabellen an eine vorhandene Tabelle oder mehrere Raster an ein vorhandenes Raster-Dataset angefügt werden; es kann jedoch keine Line-Feature-Class an eine Point-Feature-Class angefügt werden.

  • Mit dem Parameter Feldzuordnung können Sie steuern, wie die Attributinformationen aus den Eingabe-Dataset-Feldern in das Ziel-Dataset übertragen werden. Der Parameter Feldzuordnung kann nur verwendet werden, wenn Feldzuordnung zum Abgleichen von Schema-Unterschieden verwenden im Parameter Schematyp ausgewählt wird.

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

    • Um die Feldreihenfolge zu ändern, wählen Sie den Namen eines Feldes aus, und ziehen Sie es an die neue 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 verfügbaren Vereinigungsregeln lauten: 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.

    Weitere Informationen zur Feldzuordnung in Skripten

  • Mit diesem Werkzeug werden Features nicht geteilt, wenn sie dem Ziel-Dataset hinzugefügt werden. Alle Features der Eingabe-Feature-Class und der Ziel-Feature-Class bleiben nach dem Anfügen bestehen, selbst wenn sich Features überschneiden. Zum Zusammenführen oder Teilen von Feature-Geometrien verwenden Sie das Werkzeug Vereinigen (Union).

  • Wenn Eingabefelder müssen Zielfeldern entsprechen im Parameter Typ der Feldübereinstimmung ausgewählt wird, muss das Schema (Felddefinitionen) der Eingabe-Datasets mit dem des Ziel-Datasets übereinstimmen, damit die Features angehängt werden können. Bei Auswahl von Feldzuordnung zum Abgleichen von Feld-Unterschieden verwenden für Typ der Feldübereinstimmung muss das Eingabe-Dataset-Schema (Felddefinitionen) nicht mit dem Ziel-Dataset übereinstimmen. Felder der Eingabe-Datasets, die nicht mit den Feldern des Ziel-Datasets übereinstimmen, werden jedoch dem Ziel-Dataset nicht zugeordnet, es sei denn, die Zuordnung wird im Parameter Feldzuordnung explizit festgelegt. Wenn Eingabefelder müssen Zielfeldern entsprechen im Parameter Typ der Feldübereinstimmung ausgewählt wird, muss das Schema (Felddefinitionen) der Eingabe-Datasets mit dem des Ziel-Datasets übereinstimmen, damit die Features angehängt werden können. Wenn ein Eingabe-Dataset Felder enthält, die nicht mit den Feldern im Ziel-Dataset übereinstimmen, wird dieses Eingabe-Dataset ausgelassen und eine Warnmeldung angezeigt.

  • Da die Daten der Eingabe-Datasets in ein vorhandenes Ziel-Dataset geschrieben werden, das ein vordefiniertes Schema (Felddefinitionen) hat, werden vom Parameter Feldzuordnung keine Felder zugelassen, die dem Ziel-Dataset hinzugefügt oder daraus entfernt werden sollen.

  • Wenn die Raumbezüge einer Eingabe- und Ziel-Feature-Class nicht übereinstimmen, werden die Features in der Eingabe-Feature-Class in das von der Ziel-Feature-Class verwendete Koordinatensystem projiziert.

  • Dieses Werkzeug führt keinen Kantenabgleich durch; es findet keine Anpassung an die Geometrie von Features statt.

  • Karten-Layer können als Parameterwerte für Eingabe-Datasets verwendet werden. Wenn für einen Layer eine Auswahl getroffen wurde, werden nur die ausgewählten Datensätze (Features oder Tabellenzeilen) verwendet.

  • Mehrere Eingabe-Layer mit demselben Namen können für dieses Werkzeug nicht verwendet werden. Sie können diese Einschränkung umgehen, indem Sie über die Suchschaltfläche im Dialogfeld des Werkzeugs nach dem vollständigen Pfad der einzelnen Eingabe-Datasets-Werte suchen.

  • Wenn Sie den Parameter Subtype verwenden möchten, muss das Ziel-Dataset ein definiertes Subtype-Feld und zugewiesene Subtype-Codes aufweisen. Geben Sie im Parameter Subtype eine Subtype-Beschreibung ein, um allen neuen Daten, die an das Ziel-Dataset angefügt werden, diesen Subtype zuzuweisen.

Parameter

BeschriftungErläuterungDatentyp
Eingabe-Datasets

Die Eingabe-Datasets, die die Daten enthalten, die an das Ziel-Dataset angehängt werden sollen. Bei den Eingabe-Datasets kann es sich um Point-, Line- oder Polygon-Feature-Classes, Tabellen, Raster, Annotation-Feature-Classes oder Dimension-Feature-Classes handeln.

Tabellen und Feature-Classes können kombiniert werden. Wird eine Feature-Class an eine Tabelle angehängt, werden die Attribute übertragen, die Features jedoch entfernt. Wird eine Tabelle an eine Feature-Class angehängt, haben die Zeilen aus der Eingabetabelle eine NULL-Geometrie.

Table View; Raster Layer
Ziel-Dataset

Das vorhandene Dataset, an das die Daten der Eingabe-Datasets angehängt werden.

Table View; Raster Layer
Typ der Feldübereinstimmung
(optional)

Gibt an, ob die Felder des Eingabe-Datasets den Feldern des Ziel-Datasets entsprechen müssen, damit die Daten angehängt werden können.

  • Eingabefelder müssen Zielfeldern entsprechenDie Felder aus dem Eingabe-Dataset müssen mit den Feldern des Ziel-Datasets übereinstimmen. Wenn die Felder nicht übereinstimmen, wird ein Fehler zurückgegeben.
  • Feldzuordnung zum Abgleichen von Feld-Unterschieden verwendenDie Felder aus dem Eingabe-Dataset müssen nicht mit den Feldern des Ziel-Datasets übereinstimmen. Felder der Eingabe-Datasets, die nicht mit den Feldern des Ziel-Datasets übereinstimmen, werden dem Ziel-Dataset nicht zugeordnet, es sei denn, die Zuordnung wird im Parameter Feldzuordnung explizit festgelegt.
  • Überspringen und eine Warnung anzeigen, wenn das Schema nicht übereinstimmtDie Felder aus dem Eingabe-Dataset müssen mit den Feldern des Ziel-Datasets übereinstimmen. Wenn eines der Eingabe-Datasets Felder enthält, die nicht mit dem Ziel-Dataset übereinstimmen, wird dieses Eingabe-Dataset ausgelassen und eine Warnmeldung angezeigt.
String
Feldzuordnung
(optional)

Legt fest, wie die Attributfelder aus den Eingabe-Datasets an das Ziel-Dataset übertragen oder ihm zugeordnet werden.

Dieser Parameter kann nur verwendet werden, wenn der Parameter Feldabgleichstyp auf Feldzuordnung zum Abgleichen von Feld-Unterschieden verwenden festgelegt ist.

Da die Eingabe-Datasets an ein vorhandenes Ziel-Dataset angehängt werden, das vordefinierte Felder hat, können Sie den Typ der Felder in der Feldzuordnung nicht hinzufügen, entfernen oder ändern. Sie können Vereinigungregeln für jedes Ausgabefeld festlegen.

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.

  • Erste(r): Der erste Wert des Eingabefeldes wird verwendet.
  • Letzte(r): Der letzte Wert des Eingabefeldes wird verwendet.
  • Verbinden: Führt die Werte des Eingabefeldes zusammen (verbindet sie).
  • Summe: Berechnet den Gesamtbetrag der Werte des Eingabefeldes.
  • Mittelwert: Berechnet den Mittelwert (Durchschnitt) der Werte des Eingabefeldes.
  • Medianwert: Berechnet den Medianwert (Mittelwert) der Werte des Eingabefeldes.
  • Modus: Verwendet den Wert mit der größten Häufigkeit.
  • Min: Verwendet den Minimalwert aller Werte des Eingabefeldes.
  • Max: Verwendet den Maximalwert aller Werte des Eingabefeldes.
  • Standardabweichung: Wendet die Klassifizierungsmethode "Standardabweichung" auf alle Werte des Eingabefeldes an.
  • Anzahl: Gibt die Anzahl der Datensätze zurück, die in der Berechnung enthalten sind.

Field Mappings
Subtype
(optional)

Die Subtype-Beschreibung, die allen neuen Daten zugewiesen werden soll, die an das Ziel-Dataset angefügt werden.

String
Ausdruck
(optional)

Der SQL-Ausdruck, mit dem eine Teilmenge der Datensätze des Eingabe-Datasets ausgewählt wird. Wenn mehrere Eingabe-Datasets angegeben werden, werden sie alle anhand des Ausdrucks ausgewertet. Wenn keine Datensätze dem Ausdruck für ein Eingabe-Dataset entsprechen, werden keine Datensätze aus diesem Dataset an das Ziel angehängt.

Weitere Informationen zur SQL-Syntax finden Sie unter SQL-Referenz für in ArcGIS verwendete Abfrageausdrücke.

SQL Expression

Abgeleitete Ausgabe

BeschriftungErläuterungDatentyp
Aktualisiertes Ziel-Dataset

Das aktualisierte Ziel-Dataset.

Table View; Raster Layer

arcpy.management.Append(inputs, target, {schema_type}, {field_mapping}, {subtype}, {expression})
NameErläuterungDatentyp
inputs
[inputs,...]

Die Eingabe-Datasets, die die Daten enthalten, die an das Ziel-Dataset angehängt werden sollen. Bei den Eingabe-Datasets kann es sich um Point-, Line- oder Polygon-Feature-Classes, Tabellen, Raster, Annotation-Feature-Classes oder Dimension-Feature-Classes handeln.

Tabellen und Feature-Classes können kombiniert werden. Wird eine Feature-Class an eine Tabelle angehängt, werden die Attribute übertragen, die Features jedoch entfernt. Wird eine Tabelle an eine Feature-Class angehängt, haben die Zeilen aus der Eingabetabelle eine NULL-Geometrie.

Table View; Raster Layer
target

Das vorhandene Dataset, an das die Daten der Eingabe-Datasets angehängt werden.

Table View; Raster Layer
schema_type
(optional)

Gibt an, ob die Felder des Eingabe-Datasets den Feldern des Ziel-Datasets entsprechen müssen, damit die Daten angehängt werden können.

  • TESTDie Felder aus dem Eingabe-Dataset müssen mit den Feldern des Ziel-Datasets übereinstimmen. Wenn die Felder nicht übereinstimmen, wird ein Fehler zurückgegeben.
  • NO_TESTDie Felder aus dem Eingabe-Dataset müssen nicht mit den Feldern des Ziel-Datasets übereinstimmen. Felder der Eingabe-Datasets, die nicht mit den Feldern des Ziel-Datasets übereinstimmen, werden dem Ziel-Dataset nicht zugeordnet, es sei denn, die Zuordnung wird im Parameter Feldzuordnung explizit festgelegt.
  • TEST_AND_SKIPDie Felder aus dem Eingabe-Dataset müssen mit den Feldern des Ziel-Datasets übereinstimmen. Wenn eines der Eingabe-Datasets Felder enthält, die nicht mit dem Ziel-Dataset übereinstimmen, wird dieses Eingabe-Dataset ausgelassen und eine Warnmeldung angezeigt.
String
field_mapping
(optional)

Legt fest, wie die Attributfelder aus den Eingabe-Datasets an das Ziel-Dataset übertragen oder ihm zugeordnet werden.

Dieser Parameter kann nur verwendet werden, wenn der Parameter schema_type auf NO_TEST eingestellt ist.

Da die Eingabe-Datasets an ein vorhandenes Ziel-Dataset angehängt werden, das vordefinierte Felder hat, können Sie den Typ der Felder in der Feldzuordnung nicht hinzufügen, entfernen oder ändern. Sie können Vereinigungregeln für jedes Ausgabefeld festlegen.

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.

  • Erste(r): Der erste Wert des Eingabefeldes wird verwendet.
  • Letzte(r): Der letzte Wert des Eingabefeldes wird verwendet.
  • Verbinden: Führt die Werte des Eingabefeldes zusammen (verbindet sie).
  • Summe: Berechnet den Gesamtbetrag der Werte des Eingabefeldes.
  • Mittelwert: Berechnet den Mittelwert (Durchschnitt) der Werte des Eingabefeldes.
  • Medianwert: Berechnet den Medianwert (Mittelwert) der Werte des Eingabefeldes.
  • Modus: Verwendet den Wert mit der größten Häufigkeit.
  • Min: Verwendet den Minimalwert aller Werte des Eingabefeldes.
  • Max: Verwendet den Maximalwert aller Werte des Eingabefeldes.
  • Standardabweichung: Wendet die Klassifizierungsmethode "Standardabweichung" auf alle Werte des Eingabefeldes an.
  • Anzahl: Gibt die Anzahl der Datensätze zurück, die in der Berechnung enthalten sind.

In Python kann dieser Parameter mit der Klasse FieldMappings definiert werden.

Field Mappings
subtype
(optional)

Die Subtype-Beschreibung, die allen neuen Daten zugewiesen werden soll, die an das Ziel-Dataset angefügt werden.

String
expression
(optional)

Der SQL-Ausdruck, mit dem eine Teilmenge der Datensätze des Eingabe-Datasets ausgewählt wird. Wenn mehrere Eingabe-Datasets angegeben werden, werden sie alle anhand des Ausdrucks ausgewertet. Wenn keine Datensätze dem Ausdruck für ein Eingabe-Dataset entsprechen, werden keine Datensätze aus diesem Dataset an das Ziel angehängt.

Weitere Informationen zur SQL-Syntax finden Sie unter SQL-Referenz für in ArcGIS verwendete Abfrageausdrücke.

SQL Expression

Abgeleitete Ausgabe

NameErläuterungDatentyp
output

Das aktualisierte Ziel-Dataset.

Table View; Raster Layer

Codebeispiel

Append – Beispiel 1 (Python-Fenster)

Das folgende Skript für das Python-Fenster veranschaulicht, wie die Funktion Append im unmittelbaren Modus verwendet wird.

import arcpy
arcpy.env.workspace = "C:/data/"
arcpy.Append_management(["north.shp", "south.shp", "east.shp", "west.shp"], 
                        "wholecity.shp", "TEST")
Append – Beispiel 2 (eigenständiges Skript)

Das folgende Skript veranschaulicht, wie die Funktion Append verwendet wird.

# Name: Append.py
# Description: Use the Append tool to combine several shapefiles

# Import system modules 
import arcpy
import os

# Set environment settings
arcpy.env.workspace = "C:/data"

# Set local variables
outLocation = "C:/Output"
outName = "MA_towns.shp"
schemaType = "NO_TEST"
fieldMappings = ""
subtype = ""

# Process:  Create a new empty feature class to append shapefiles to
emptyFC = arcpy.CreateFeatureclass_management(outLocation, outName, "POLYGON", 
                                              "amherst.shp")

# All polygon FCs in the workspace are MA town shapefiles, you want to append 
# these to the empty FC. The list will resemble ["amherst.shp", "hadley.shp", 
# "pelham.shp", "coldspring.shp"] 

fcList = arcpy.ListFeatureClasses("", "POLYGON")

# Create FieldMappings object to manage merge output fields
fieldMappings = arcpy.FieldMappings()

# Add the target table to the field mappings class to set the schema
fieldMappings.addTable(emptyFC)

# Add input fields for the town name to TOWNNAME field that matches the 
# target dataset since each input dataset has a different field name for 
# this info
fldMap = arcpy.FieldMap()
fldMap.addInputField("amherst.shp","TOWNNAME")
fldMap.addInputField("hadley.shp","NAME")
fldMap.addInputField("pelham.shp","TOWN_NAME")
fldMap.addInputField("coldspring.shp","TOWN")

# Set name of new output field "TOWNNAME"
townName = fldMap.outputField
townName.name, townName.aliasName, townName.type = "TOWNNAME", "TOWNNAME", "TEXT"
fldMap.outputField = townName

# Add output field to field mappings object
fieldMappings.addFieldMap(fldMap)

# Do the same thing for the POPULATION field
fldMap = arcpy.FieldMap()
fldMap.addInputField("amherst.shp","POPULATION")
fldMap.addInputField("hadley.shp","POP")
fldMap.addInputField("pelham.shp","POP_2010")
fldMap.addInputField("coldspring.shp","POP")

# Set name of new output field "POPULATION"
pop = fldMap.outputField
pop.name, pop.aliasName, pop.type = "POPULATION", "POPULATION", "LONG"
fldMap.outputField = pop

# Add output field to field mappings object
fieldMappings.addFieldMap(fldMap)

# Process: Append the feature classes to the empty feature class
arcpy.Append_management(fcList, os.path.join(outLocation, emptyFC), schemaType, 
                        fieldMappings, subtype)

Umgebungen

Sonderfälle

Global-IDs beibehalten

Für das Werkzeug Anhängen gilt diese Umgebung nur für Enterprise-Geodatabase-Daten und kann nur für Daten verwendet werden, die das Global-ID-Feld mit einem eindeutigen Index aufweisen. Wenn das Global-ID-Feld über keinen eindeutigen Index verfügt, kann das Werkzeug möglicherweise nicht ausgeführt werden. Um dem Global-ID-Feld einen eindeutigen Index hinzuzufügen, können Sie das Geoverarbeitungswerkzeug Attributindex hinzufügen verwenden.

Lizenzinformationen

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

Verwandte Themen