Fusionar (Administración de datos)

Resumen

Combina varios datasets de entrada en un único dataset de salida nuevo. Esta herramienta puede combinar tablas o clases de entidad de punto, de línea o de polígono.

Utilice la herramienta Incorporar para combinar los datasets de entrada con un dataset existente.

Ilustración

Ilustración de la herramienta Fusionar

Uso

  • Utilice esta herramienta para combinar datasets de varias fuentes en un nuevo dataset de salida único. Todas las clases de entidad de entrada deben ser del mismo tipo de geometría. Por ejemplo, se pueden fusionar varias clases de entidad de punto, pero no se puede fusionar una clase de entidad de línea con una clase de entidad de polígono.

    Las tablas y clases de entidad se pueden combinar en un único dataset de salida. El tipo de salida viene determinado por la primera entrada. Si la primera entrada es una clase de entidad,d la salida será una clase de entidad. Si la primera entrada es una tabla, la salida será una tabla. Si la tabla se fusiona en una clase de entidad, las filas de la tabla de entrada tendrán una geometría nula.

  • Use el parámetro Mapa de campo para gestionar los campos y su contenido en el dataset de salida.

    • Añada y elimine campos de la lista de campos, reordene la lista de campos y cambie el nombre de los campos.
    • El tipo de datos predeterminado de un campo de salida es el mismo que el tipo de datos del primer campo de entrada (de ese nombre) que encuentra. Puede cambiar el tipo de datos a otro tipo de datos válido.
    • Use una acción para determinar cómo los valores de uno o varios campos de entrada se mezclarán en un solo campo de salida. 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 salida. 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 divide ni modifica las geometrías de los datasets de entrada. Todas las entidades de los datasets de entrada permanecerán intactas en el dataset de salida, aún si las entidades se superponen. Para combinar o planarizar geometrías de entidad, utilice la herramienta Combinación.

  • Si se están fusionando las clases de entidades, el dataset de salida estará en el sistema de coordenadas de la primera clase de entidad en la lista Datasets de entrada, a menos que se establezca el entorno de geoprocesamiento Sistema de coordenadas de salida.

  • Esta herramienta no admite clases de entidad de anotación. Use la herramienta Incorporar clases de entidad de anotación para combinar clases de entidad de anotación.

  • Esta herramienta no admite datasets ráster. Utilice la herramienta De mosaico a nuevo ráster para combinar varios rásteres en un nuevo ráster de salida.

Parámetros

EtiquetaExplicaciónTipo de datos
Datasets de entrada

Datasets de entrada que se fusionarán en un dataset de salida nuevo. Los datasets de entrada pueden ser tablas o clases de entidades de punto, de línea o de polígono. Todas las clases de entidad de entrada deben ser del mismo tipo de geometría.

Las tablas y clases de entidad se pueden combinar en un único dataset de salida. El tipo de salida viene determinado por la primera entrada. Si la primera entrada es una clase de entidad,d la salida será una clase de entidad. Si la primera entrada es una tabla, la salida será una tabla. Si la tabla se fusiona en una clase de entidad, las filas de la tabla de entrada tendrán una geometría nula.

Table View
Dataset de salida

Dataset de salida que contendrá todos los datasets de entrada combinados.

Feature Class;Table
Mapa de campo
(Opcional)

Use el mapa de campo para conciliar las diferencias de esquema y hacer corresponder los campos de atributos entre diversos datasets. De manera predeterminada, la salida incluirá todos los campos de los datasets de entrada.

Use el campo de mapa para añadir, borrar, cambiar el nombre y reordenar los campos, así como para cambiar otras propiedades de los campos.

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

Field Mappings
Agregar información de origen a la salida
(Opcional)

Especifica si la información de origen se agregará al dataset de salida en un nuevo campo de texto MERGE_SRC. Los valores del campo MERGE_SRC indicarán la ruta del dataset de entrada o el nombre de la capa que es la fuente de cada registro en la salida.

  • Desactivado: la información de origen no se agregará al dataset de salida en un campo MERGE_SRC. Esta es la opción predeterminada.
  • Activado: la información de origen se agregará al dataset de salida en un campo MERGE_SRC.
Boolean

arcpy.management.Merge(inputs, output, {field_mappings}, {add_source})
NombreExplicaciónTipo de datos
inputs
[inputs,...]

Datasets de entrada que se fusionarán en un dataset de salida nuevo. Los datasets de entrada pueden ser tablas o clases de entidades de punto, de línea o de polígono. Todas las clases de entidad de entrada deben ser del mismo tipo de geometría.

Las tablas y clases de entidad se pueden combinar en un único dataset de salida. El tipo de salida viene determinado por la primera entrada. Si la primera entrada es una clase de entidad,d la salida será una clase de entidad. Si la primera entrada es una tabla, la salida será una tabla. Si la tabla se fusiona en una clase de entidad, las filas de la tabla de entrada tendrán una geometría nula.

Table View
output

Dataset de salida que contendrá todos los datasets de entrada combinados.

Feature Class;Table
field_mappings
(Opcional)

Use el mapa de campo para conciliar las diferencias de esquema y hacer corresponder los campos de atributos entre diversos datasets. De manera predeterminada, la salida incluirá todos los campos de los datasets de entrada.

Use el campo de mapa para añadir, borrar, cambiar el nombre y reordenar los campos, así como para cambiar otras propiedades de los campos.

El mapa de campo también puede usarse para combinar valores de dos 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
add_source
(Opcional)

Especifica si la información de origen se agregará al dataset de salida en un nuevo campo de texto MERGE_SRC. Los valores del campo MERGE_SRC indicarán la ruta del dataset de entrada o el nombre de la capa que es la fuente de cada registro en la salida.

  • NO_SOURCE_INFOLa información de origen no se agregará al dataset de salida en un campo MERGE_SRC. Esta es la opción predeterminada.
  • ADD_SOURCE_INFOLa información de origen se agregará al dataset de salida en un campo MERGE_SRC.
Boolean

Muestra de código

Ejemplo 1 de Merge (ventana de Python)

El siguiente script de la ventana de Python muestra cómo utilizar la función Merge.

import arcpy
arcpy.env.workspace = "C:/data"
arcpy.management.Merge(["majorrds.shp", "Habitat_Analysis.gdb/futrds"], 
                       "C:/output/Output.gdb/allroads", "", "ADD_SOURCE_INFO")
Ejemplo 2 de Fusionar (secuencia de comandos independiente)

Utilice la función Merge para mover entidades de clases de entidad de dos calles a un dataset único.

# 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.management.Merge([oldStreets, newStreets], uptodateStreets, fieldMappings, 
                       addSourceInfo)