Incorporar (Administración de datos)

Resumen

Incorpora (u, opcionalmente, actualiza) un dataset de destino existente con varios datasets de entrada. Los datasets de entrada pueden ser clases de entidad, tablas, shapefiles, rásteres, 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 la herramienta 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, línea o polígono, 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.

  • Utilice el parámetro Mapa de campo para controlar la forma en que se transfiere la información de atributos 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 especificado Usar el Mapa de campo para conciliar las diferencias de esquema en el parámetro Tipo de esquema.

  • Use el parámetro Mapa de campo para asignar o hacer corresponder los campos de los dataset de entrada con los campos del dataset de destino.

    • Use una acción para determinar cómo se asignarán los valores de uno o varios campos del dataset de entrada en un solo campo del dataset de destino.
    • Las acciones disponibles son Primera, Última, Concatenación, Suma, Valor medio, Mediana, Modo, Mínimo, Máximo, Desviación estándar y Recuento.
    • Al usar la acción Concatenar, pude especificar un delimitador tal como una coma u otro carácter. Haga clic en el inicio del cuadro de texto Delimitador para añadir los caracteres delimitadores.
    • Desviación estándar no es una opción válida para los valores de entrada únicos.
    • Use el botón Trocear texto en los campos de origen de texto para seleccionar qué caracteres de un valor de entrada se extraerán al campo de destino. Para acceder al botón Trocear texto, pase el cursor del ratón por encima de un campo de texto de la lista de campos de entrada; a continuación, especifique las posiciones de los caracteres de inicio y fin.
    • Los campos también se pueden asignar mediante scripts de Python.

  • 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 el parámetro Tipo de coincidencia de campos se ha definido como Los campos de entrada deben coincidir con los campos de destino, el esquema de los datasets de entrada debe coincidir con el del dataset de destino para incorporar entidades.

    Si el parámetro Tipo de coincidencia de campos se ha definido como Utilizar el mapa de campo para conciliar las diferencias de campo, no es necesario que el esquema coincida. 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 en el parámetro Mapa de campo. Los campos del dataset de destino no asignados a los campos de los datasets de entrada contendrán valores nulos.

    Si el parámetro Tipo de coincidencia de campos tiene el valor Omitir y advertir si el esquema no coincide, el esquema de los datasets de entrada debe coincidir con el del dataset de destino para que se incorporen las entidades. Si un dataset de entrada contiene campos que no coinciden con los campos del dataset de destino, se omitirá ese dataset de entrada.

  • El número de filas incorporadas se muestra en los mensajes de la herramienta y se devuelve mediante el parámetro Recuento de filas incorporadas.

  • Dado que los datos de los datasets de entrada se escriben en un dataset de destino existente que tiene un esquema predefinido, no es posible utilizar el parámetro Mapa de campo para agregar ni quitar campos del dataset de destino.

  • Puede utilizar esta herramienta para insertar nuevos registros y actualizar registros existentes en un dataset de destino en la misma operación (equivalente a una operación de base de datos UPSERT). Utilice el parámetro Campos coincidentes para actualizar para especificar los campos del dataset de entrada para que coincidan con los campos del dataset de destino. En el caso de los registros con valores de campo coincidentes, cualquier campo del registro de destino se actualizará con valores de campos con el mismo nombre en el registro de entrada. El número de filas actualizadas con campos correlacionados se muestra en los mensajes de la herramienta y se devuelve mediante el parámetro Recuento de filas actualizadas. La geometría se actualizará si el parámetro Actualizar geometría está activado.

  • Los datasets de entrada y destino pueden tener referencias espaciales diferentes. En este caso, la herramienta proyecta las entidades de entrada al sistema de coordenadas del objetivo. Para obtener unos mejores resultados, especifique una transformación geográfica adecuada utilizando el entorno de Transformaciones geográficas. Si el dataset de destino es una capa de mapa, la herramienta puede aplicar una transformación predeterminada. En Python no hay transformaciones predeterminadas.

  • 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, solo se utilizarán los registros seleccionados (entidades o filas de tabla).

  • En esta herramienta no se pueden utilizar varias capas de entrada con el mismo nombre. En su lugar, utilice el botón Examinar del panel Geoprocesamiento para buscar las rutas completas de cada uno de los valores de los Datasets de entrada.

  • Si un dataset de entrada y el de destino tienen el mismo nombre, la herramienta tendrá un rendimiento reducido.

  • 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.

  • Esta herramienta se puede utilizar directamente en el data store, servidor o base de datos de back-end para las capas de entidades web a fin de garantizar un rendimiento óptimo. Para los servicios de entidades que hacen referencia a una geodatabase, esta herramienta se puede utilizar con una conexión de base de datos para realizar operaciones de carga de datos grandes directamente en la base de datos subyacente. Para los servicios alojados en ArcGIS Enterprise, puede utilizar la operación append desde la página del elemento de la capa de entidades o la API REST de ArcGIS.

    Para obtener un rendimiento óptimo con servicios alojados en ArcGIS Online, los administradores y propietarios de servicios pueden utilizar esta herramienta con la API REST de ArcGIS cuando la propiedad supportAppend sea true. Las funcionalidades de incorporación de servicios de entidades deben estar habilitadas para que los usuarios que no sean administradores puedan utilizar la herramienta Adjuntar con el API REST de ArcGIS.

Parámetros

EtiquetaExplicaciónTipo de datos
Datasets de entrada

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, sin embargo, 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
Dataset destino

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

Table View; Raster Layer
Tipo de coincidencia de campos
(Opcional)

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

  • Los campos de entrada deben coincidir con los campos de destinoLos campos del dataset de entrada debe coincidir con los campos del dataset de destino. Se devolverá un error si los campos no coinciden.
  • Utilizar el mapa de campo para conciliar las diferencias de campoNo 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.
  • Omitir y advertir si el esquema no coincideLos campos del dataset de entrada debe coincidir con los campos del dataset de destino. Si alguno de los datasets de entrada contiene campos que no coinciden con el dataset de destino, ese dataset de entrada se omitirá con un mensaje de advertencia.
String
Mapa de campo
(Opcional)

El parámetro de mapa de campo controla la transferencia o la correspondencia de los campos de los datasets de entrada con el dataset de destino. Solo puede utilizarse si el parámetro Tipo de coincidencia de campos tiene el valor Utilizar el mapa de campo para conciliar las diferencias de campo.

Dado que los datasets de entrada se incorporan a un dataset de destino existente que tiene campos predefinidos, no es posible agregar, eliminar, reordenar ni cambiar las propiedades de los campos del mapa de campo.

El mapa de campo puede usarse para combinar valores de uno o más campos de entrada en un solo campo de salida.

Field Mappings
Subtipo
(Opcional)

La descripción del subtipo que se va a asignar a todos los datos nuevos incorporados al dataset de destino.

String
Expresión
(Opcional)

La expresión SQL que se utilizará 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 dataset de destino.

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

SQL Expression
Campos coincidentes para actualizar
(Opcional)

Los campos de los datasets de entrada que se utilizarán para hacerlos coincidir con el dataset de destino. Si los valores de estos campos coinciden, los registros del dataset de entrada actualizarán los registros correspondientes del dataset de destino.

Value Table
Actualizar geometría
(Opcional)

Especifica si la geometría del dataset de destino se actualizará con geometría del dataset de entrada si los valores de campo del parámetro Campos coincidentes para actualizar coinciden.

  • Activado: se actualizará la geometría en el dataset de destino si los valores de campo del parámetro Campos coincidentes para actualizar coinciden.
  • Desactivado: la geometría no se actualizará. Esta es la opción predeterminada.
Boolean

Salida derivada

EtiquetaExplicaciónTipo de datos
Dataset objetivo actualizado

El dataset de destino actualizado.

Table View; Raster Layer
Recuento de filas incorporadas

El número de filas incorporadas al dataset de destino.

Long
Recuento de filas actualizadas

El número de filas actualizadas en el dataset de destino.

Long

arcpy.management.Append(inputs, target, {schema_type}, {field_mapping}, {subtype}, {expression}, {match_fields}, {update_geometry})
NombreExplicació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, sin embargo, 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.
  • TEST_AND_SKIPLos campos del dataset de entrada debe coincidir con los campos del dataset de destino. Si alguno de los datasets de entrada contiene campos que no coinciden con el dataset de destino, ese dataset de entrada se omitirá con un mensaje de advertencia.
String
field_mapping
(Opcional)

El parámetro de mapa de campo controla la transferencia o la correspondencia de los campos de los datasets de entrada con el dataset de destino. Solo puede usarse si el parámetro schema_type tiene el valor NO_TEST.

Dado que los datasets de entrada se incorporan a un dataset de destino existente que tiene campos predefinidos, no es posible agregar, eliminar, reordenar ni cambiar las propiedades de los campos del mapa de campo.

El mapa de campo puede usarse para combinar valores de uno o más campos de entrada en un solo campo de salida.

En Python, utilice la clase de FieldMappings para definir este parámetro.

Field Mappings
subtype
(Opcional)

La 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 que se utilizará 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 dataset de destino.

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

SQL Expression
match_fields
[[target_field, input_field],...]
(Opcional)

Los campos de los datasets de entrada que se utilizarán para hacerlos coincidir con el dataset de destino. Si los valores de estos campos coinciden, los registros del dataset de entrada actualizarán los registros correspondientes del dataset de destino.

Value Table
update_geometry
(Opcional)

Especifica si la geometría del dataset de destino se actualizará con geometría del dataset de entrada si los valores de campo del parámetro match_fields coinciden.

  • UPDATE_GEOMETRYLa geometría del dataset de destino se actualizará si los valores de campo del parámetro match_fields coinciden.
  • NOT_UPDATE_GEOMETRYLa geometría no se actualizará. Esta es la opción predeterminada.
Boolean

Salida derivada

NombreExplicaciónTipo de datos
output

El dataset de destino actualizado.

Table View; Raster Layer
appended_row_count

El número de filas incorporadas al dataset de destino.

Long
updated_row_count

El número de filas actualizadas en el dataset de destino.

Long

Muestra de código

Ejemplo 1 de Append (ventana de Python)

La siguiente secuencia de comandos de la ventana de Python muestra cómo utilizar la función Append de modo inmediato.

import arcpy
arcpy.env.workspace = "C:/data"
arcpy.management.Append(["north.shp", "south.shp", "east.shp", "west.shp"], 
                        "wholecity.shp", "TEST")
Ejemplo 2 de Append (ventana de Python)

La siguiente secuencia de comandos de la ventana de Python demuestra cómo utilizar la función Append con los parámetros match_fields y update_geometry en modo inmediato.

import arcpy
arcpy.env.workspace = "C:/data/zoning.gdb"
arcpy.management.Append("Zoning_update_2040", "Zoning_2020", "TEST", 
                        match_fields=[["ZONEID", "ZONEID"]], update_geometry="UPDATE_GEOMETRY")
Ejemplo 3 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 polygon feature classes

# Import system modules 
import arcpy
import os

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

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

# Process: Append to an existing "amherst" polygon feature class
target = os.path.join(outLocation, "amherst")

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

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(target)

# 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","TOWNNAME")
fldMap.addInputField("hadley","NAME")
fldMap.addInputField("pelham","TOWN_NAME")
fldMap.addInputField("coldspring","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 for the POPULATION field
fldMap = arcpy.FieldMap()
fldMap.addInputField("amherst","POPULATION")
fldMap.addInputField("hadley","POP")
fldMap.addInputField("pelham","POP_2010")
fldMap.addInputField("coldspring","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 target feature class
arcpy.management.Append(fcList, os.path.join(outLocation, "amherst"), schemaType, 
                        fieldMappings, subtype)

Entornos

Casos especiales

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.

Temas relacionados