Fusionar (Administración de datos)
Resumen
Combina datasets de entrada múltiples del mismo tipo de datos en un nuevo dataset de salida único. Esta herramienta puede combinar tablas o clases de entidad de punto, de línea o de polígono.
Utilice la herramienta Adjuntar para combinar los datasets de entrada con un dataset existente.
Ilustración
Uso
-
Utilice esta herramienta para combinar datasets de varias fuentes en un nuevo dataset de salida único. Todos los datasets de entrada deben ser del mismo tipo (es decir, se pueden fusionar varias clases de entidad de punto, o varias tablas, pero no se puede fusionar una clase de entidad de línea con una clase de entidad de polígono).
-
Los campos del dataset de salida y el contenido de esos campos se pueden controlar utilizando los controles del Mapa de campo.
Más información sobre la asignación de campos en secuencias de comandos
-
Esta herramienta no planariza las entidades 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 las geometrías de entidades, 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 Append_Annotation_Feature_Classes para combinar clases de entidad de anotación.
Esta herramienta no admite datasets ráster. Utilice la herramienta Mosaico a nuevo ráster para fusionar varios rásteres en un nuevo ráster de salida.
Sintaxis
Parámetro | Explicación | Tipo 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. El tipo de datos de todos los datasets de entrada debe coincidir. | Table View |
output |
Dataset de salida que contendrá todos los datasets de entrada combinados. | Feature Class;Table |
field_mappings (Opcional) |
Los campos y los contenidos de campos que se eligieron desde las entradas. Se enumerará cada uno de los campos de entrada únicos en la ventana Mapa de campo y cuando se expanda verá una lista de todas instancias de campos de entrada. Puede agregar, cambiar el nombre o eliminar los campos de salida para cada Mapa de campo, así como también establecer las propiedades tales como el tipo de datos y la regla de fusión. También puede eliminar una ocurrencia del campo de salida y puede formatear cualquier valor de campo de salida. | Field Mappings |
Ejemplo de código
La siguiente secuencia de comandos de la ventana de Python muestra cómo utilizar la herramienta Fusionar.
import arcpy
arcpy.env.workspace = "C:/data"
arcpy.Merge_management(["majorrds.shp", "Habitat_Analysis.gdb/futrds"], "C:/output/Output.gdb/allroads")
Utilice la herramienta Fusionar para mover entidades de clases de entidad de dos calles a un dataset único.
# Name: Merge.py
# Description: Use Merge tool to move features from two street
# feature classes into a single dataset with field mapping
# import system modules
import arcpy
from arcpy import env
# Set environment settings
env.workspace = "C:/data"
# Street feature classes to be merged
oldStreets = "majorrds.shp"
newStreets = "Habitat_Analysis.gdb/futrds"
# 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.Merge_management([oldStreets, newStreets], uptodateStreets, fieldMappings)