Incorporar (Administración de datos)

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 o clases de entidad de anotación o de dimensión.

Para combinar datasets de entrada en un nuevo dataset de salida, utilice la herramienta Fusionar.

Ilustración

Ilustración de Incorporar

Uso

  • Utilice esta herramienta para agregar nuevas entidades u otros datos de varios datasets a un dataset existente. Esta herramienta puede incorporar 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 el parámetro Tipo de esquema.

  • Los campos del dataset de salida y el contenido de esos campos se pueden controlar utilizando el Mapa de campo.

    • Para cambiar el orden de campos, seleccione un nombre de campo y arrástrelo a la posición que prefiera.
    • El tipo de datos predeterminado de un campo de salida coincide con el tipo de datos del primer campo de entrada (de ese nombre) que encuentre. El tipo de datos se puede cambiar por cualquier otro tipo de datos válido de forma manual en cualquier momento.
    • Están disponibles las siguientes reglas de fusión: primero, último, unir, sumar, valor medio, mediana, modo, mínimo, máximo, desviación estándar y recuento.
    • Cuando utiliza la regla de fusión Unir, puede especificar un delimitador como un espacio, una coma, un punto, un guion, etc. Para utilizar un espacio, asegúrese de que el puntero del ratón esté al comienzo del cuadro de entrada y pulse la barra espaciadora una vez.
    • Puede especificar las posiciones inicial y final de los campos de texto usando la opción de formato.
    • No realice la desviación estándar en una sola entrada, ya que los valores no se pueden dividir por cero, por lo que esta no es una opción válida para las entradas individuales.

    Más información sobre la asignación de campos en scripts

  • 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 el parámetro 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 en Tipo de esquema (schema_type = "NO_TEST" en Python), el esquema del dataset de entrada (definiciones de campo) no necesita 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 se realizarán adecuaciones en la geometría de las entidades.

  • Las capas de mapa se pueden utilizar como valores del parámetro 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 valores de 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}, {expression})
ParámetroExplicaciónTipo 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.

Las tablas y clases de entidad se pueden combinar. Si se incorpora una clase de entidad a una tabla, los atributos se transfieren, pero las entidades se eliminan. Si se incorpora una tabla a una clase de entidad, las filas de la tabla de entrada tendrán una geometría nula.

Table View; Raster Layer
target

Dataset existente en el que se incorporarán los datos de los datasets de entrada.

Table View; Raster Layer
schema_type
(Opcional)

Especifica si los campos del dataset de entrada deben coincidir con los campos del dataset de destino para que se incorporen los datos.

  • TESTLos campos del dataset de entrada debe coincidir con los campos del dataset de destino. Se devolverá un error si los campos no coinciden.
  • NO_TESTNo es necesario que los campos del dataset de entrada coincidan con los campos del dataset de destino. 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.
String
field_mapping
(Opcional)

Controla la forma en que se transferirán o se asignarán 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 dataset de entrada se incorporan a un dataset de destino existente que tiene campos predefinidos, no puede agregar, eliminar ni cambiar los tipos de campo del mapa de campo. 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 puede utilizar para determinan cómo se rellena con valores el campo de salida.

  • Primero: utilizar el primer valor de los campos de entrada.
  • Último: utilizar el último valor de los campos de entrada.
  • Unir: concatenar (unir) los valores de los campos de entrada.
  • Sumar: calcular el total de los valores de los campos de entrada.
  • Valor medio: calcular el valor medio (promedio) de los valores de los campos de entrada.
  • Mediana: calcular el valor de la mediana (mitad) de los valores de los campos de entrada.
  • Modo: utilizar el valor con la mayor frecuencia.
  • Mín.: usar el valor mínimo de todos los valores de los campos de entrada.
  • Máx.: usar el valor máximo de todos los valores de los campos de entrada.
  • Desviación estándar: utilizar el método de clasificación de la desviación estándar en todos los valores de campos de entrada.
  • Conteo: buscar la cantidad de registros incluidos en los cálculos.

En Python puede utilizar la clase FieldMappings 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
expression
(Opcional)

La expresión SQL utilizada para seleccionar un subconjunto de los registros de los datasets de entrada. Si se especifican varios datasets de entrada, se evaluarán utilizando la expresión. Si no hay ningún registro que coincida con la expresión de un dataset de entrada, no se incorporará ningún registro de ese dataset al destino.

Para obtener más información sobre la sintaxis SQL, consulte Referencia SQL para las expresiones de consulta utilizadas en ArcGIS.

SQL Expression

Salida derivada

NombreExplicaciónTipo 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 siguiente script de la ventana de Python demuestra cómo utilizar la función Append en 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)

En el siguiente script se muestra cómo utilizar la función 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 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)

Entornos

Conservar Id. globales

En el caso de la herramienta Incorporar, este entorno solo se aplica a los datos de las geodatabases corporativas y solo funcionará con los datos que tengan un campo de Id. global con un índice único. Si el campo de Id. global no tiene un índice único, la herramienta puede generar un error. Para agregar un índice único al campo de Id. global, puede usar la herramienta Agregar índice de atributos.

Información de licenciamiento

  • Basic: Sí
  • Standard: Sí
  • Advanced: Sí

Temas relacionados