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).
-
Se pueden controlar todos los campos del dataset de salida y el contenido de esos campos utilizando los controles del Mapa de campo.
Al utilizar el control Mapa de campo, los campos del tipo BLOB sólo se pueden pasar a un campo de salida de tipo BLOB, no a otro tipo 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.
-
Esta herramienta no realiza ajuste de bordes; no habrá adecuaciones en la geometría de las entidades.
-
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.
-
Las capas de mapa se pueden utilizar como datasets de entrada. Si una capa tiene una selección, la herramienta Fusionar utiliza únicamente los registros seleccionados (entidades o filas de tabla).
-
Esta herramienta no puede utilizar múltiples capas de entrada con el mismo nombre. A pesar de que ArcMap permite la visualización de capas que tienen el mismo nombre, es probable que estas capas no se puedan utilizar. 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 dataset de entrada.
-
La Clase de entidad de anotación no es un tipo de datos de entrada válido.
Los datasets ráster no son una entrada válida. 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. Las reglas de fusión le permiten especificar cómo los valores de dos o más campos de entrada se fusionan en un único valor de salida. Existen varias reglas de fusión que puede utilizar:
| 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.CreateObject("FieldMappings") # Create FieldMap objects to add new fields to merge output fldMap_streetClass = arcpy.CreateObject("FieldMap") fldMap_streetName = arcpy.CreateObject("FieldMap") # 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.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 input fields "CLASS" & "IFC" into new output field 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 "Street_Class" and "Street_Name" output fields to FieldMappings object fieldMappings.AddFieldMap(fldMap_streetName) fieldMappings.AddFieldMap(fldMap_streetClass) # Remove all output fields from the field map, 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)