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
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. Por ejemplo, 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.
Todos los campos del dataset de salida y el contenido de esos campos se pueden controlar utilizando el control Mapa de campo.
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 fusionar varios rásteres en un nuevo ráster de salida.
Sintaxis
arcpy.management.Merge(inputs, output, {field_mappings})
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. Todos los datasets de entrada deben ser del mismo tipo. | Table View |
output | Dataset de salida que contendrá todos los datasets de entrada combinados. | Feature Class;Table |
field_mappings (Opcional) | Controla la forma en que se asignan o transfieren los campos de atributo desde los datasets de entrada al dataset de salida. Puede agregar, cambiar el nombre o eliminar los campos de salida, así como establecer propiedades, como el tipo de datos y la regla de fusión. 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 |
Muestra de código
Ejemplo 1 de Fusionar (ventana de Python)
El siguiente script 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")
Ejemplo 2 de Fusionar (script independiente)
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)
Entornos
- Valor Z de salida predeterminado
- Resolución M
- Tolerancia M
- Dominio XY de salida
- Sistema de coordenadas de salida
- Extensión
- Espacio de trabajo actual
- Transformaciones geográficas
- Espacio de trabajo temporal
- La salida tiene valores M
- La salida tiene valores Z
- Resolución XY
- Tolerancia XY
- Resolución Z
- Tolerancia Z
- Dominio Z de salida
- Palabra clave CONFIG de salida
- Mantener adjuntos
Información de licenciamiento
- Basic: Sí
- Standard: Sí
- Advanced: Sí