Resumen
Adjunta múltiples datasets de entrada en un dataset de destino existente. Los datasets de entrada pueden ser clases de entidad, tablas, shapefiles, rásteres, clases de entidad de anotación o clases de entidad de dimensión.
Para combinar datasets de entrada en un nuevo dataset de salida, utilice la herramienta Fusionar.
Ilustración
Uso
Utilice esta herramienta para agregar nuevas entidades u otros datos de varios datasets a un dataset existente. Esta herramienta puede adjuntar clases de entidad de punto, de línea o poligonal, tablas, rásteres, clases de entidad de anotación o clases de entidad de dimensión a un dataset existente del mismo tipo. Por ejemplo, se pueden adjuntar varias tablas a una tabla existente, o varios rásteres a un dataset ráster existente, pero una clase de entidad de línea no se puede adjuntar a una clase de entidad de punto.
-
El parámetro Mapa de campo de la herramienta Incorporar se puede utilizar para controlar la forma en que se transfiere la información de atributo desde los campos del dataset de entrada hasta el dataset de destino. El parámetro Mapa de campo solo se puede utilizar si se ha seleccionado Usar el Mapa de campo para conciliar las diferencias de esquema en Tipo de esquema.
Esta herramienta no planarizará las entidades cuando las agregue al dataset de destino. Todas las entidades tanto de la clase de entidad de entrada como de la clase de entidad de destino permanecerán intactas después de adjuntar, incluso si se superponen. Para combinar o planarizar geometrías de entidad, utilice la herramienta Combinación.
Si se ha seleccionado El esquema de entrada debe coincidir con el esquema de destino en Tipo de esquema (schema_type = "TEST" en Python), el esquema (definiciones de campo) de los datasets de entrada debe coincidir con el del dataset de destino para que las entidades se puedan incorporar. Si se ha seleccionado Usar el Mapa de campo para conciliar las diferencias del esquema (schema_type = "NO_TEST" en Python), el esquema del dataset de entrada (definiciones de campo) no tiene que coincidir con el dataset de destino. Sin embargo, los campos de los datasets de entrada que no coincidan con los campos del dataset de destino no se asignarán al dataset de destino, a menos que la asignación esté establecida de manera explícita en el parámetro Mapa de campo.
Dado que los datos de los datasets de entrada se escriben en un dataset de destino existente que tiene un esquema predefinido (definiciones de campo), el parámetro Mapa de campo no permite que se agreguen o se quiten campos del dataset de destino.
Si las referencias espaciales de una clase de entidad de entrada y de destino no coinciden, la herramienta Incorporar proyectará las entidades de la clase de entidad de entrada en el sistema de coordenadas que utiliza la clase de entidad de destino.
Esta herramienta no realiza ajuste de bordes; no habrá adecuaciones en la geometría de las entidades.
Las capas de mapa se pueden utilizar como Datasets de entrada. Si una capa tiene una selección, la herramienta Incorporar utiliza únicamente los registros seleccionados (entidades o filas de tabla).
Esta herramienta no puede utilizar varias capas de entrada con el mismo nombre. Para evitar esta limitación, utilice el botón Examinar del cuadro de diálogo de la herramienta para examinar las rutas completas de cada uno de los Datasets de entrada.
Para utilizar el parámetro Subtipo, el dataset de destino debe tener un campo de subtipo definido y códigos de subtipo asignados. En el parámetro Subtipo, proporcione una descripción del subtipo para asignar este subtipo a todos los datos nuevos que se adjuntan al dataset de destino.
Sintaxis
arcpy.management.Append(inputs, target, {schema_type}, {field_mapping}, {subtype})
Parámetro | Explicación | Tipo de datos |
inputs [inputs,...] | Datasets de entrada cuyos datos se incorporarán al dataset de destino. Los datasets de entrada pueden ser clases de entidad de punto, de línea o poligonal, tablas, rásteres, clases de entidad de anotación o clases de entidad de dimensión. Cada dataset de entrada debe concordar con el tipo de datos del dataset de destino. | Table View; Raster Layer |
target | El dataset existente al que se incorporarán los datos de los datasets de entrada. | Table View; Raster Layer |
schema_type (Opcional) | Especifica si el esquema (definiciones de campo) de los datasets de entrada debe coincidir con el esquema del dataset de destino para que se incorporen los datos.
| String |
field_mapping (Opcional) | Controla la forma en que se transfieren o se asignan los campos de atributo desde los datasets de entrada al dataset de destino. Este parámetro solo se puede usar si el parámetro schema_type se ha definido como NO_TEST. Dado que los datos de los datasets de entrada se incorporan a un dataset de destino existente que tiene un esquema predefinido (nombres y tipos de campo), los campos no se pueden agregar ni quitar del dataset de destino. Se pueden establecer reglas de fusión para cada campo de salida. Las reglas de fusión le permiten especificar cómo los valores de dos o más campos de entrada se fusionan o se combinan en un único valor de salida. Hay varias reglas de fusión que determinan cómo se rellena con valores el campo de salida.
Puede utilizar la clase FieldMappings de ArcPy para definir este parámetro. | Field Mappings |
subtype (Opcional) | Descripción del subtipo que se va a asignar a todos los datos nuevos incorporados al dataset de destino. | String |
Salida derivada
Nombre | Explicación | Tipo de datos |
output | El dataset de destino actualizado. | Vista de tabla; Capa ráster |
Muestra de código
Ejemplo 1 de Append (ventana de Python)
El script de la ventana de Python muestra cómo utilizar la herramienta Append en el modo inmediato.
import arcpy
arcpy.env.workspace = "C:/data/"
arcpy.Append_management(["north.shp", "south.shp", "east.shp", "west.shp"],
"wholecity.shp", "TEST")
Ejemplo 2 de Append (script independiente)
El siguiente script muestra cómo utilizar la herramienta Append.
# 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 into
emptyFC = arcpy.CreateFeatureclass_management(outLocation, outName, "POLYGON",
"amherst.shp")
# All polygon FCs in the workspace are MA town shapefiles, we 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 into 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 into the empty feature class
arcpy.Append_management(fcList, os.path.join(outLocation, emptyFC), schemaType,
fieldMappings, subtype)
Entornos
Información de licenciamiento
- Basic: Sí
- Standard: Sí
- Advanced: Sí