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

Merge Illustration

Uso

Sintaxis

Merge_management (inputs, output, {field_mappings})
ParámetroExplicació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. 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:

  • Primero: utilizar los primeros valores del campo de entrada para rellenar el campo de salida.
  • Último: utilizar los últimos valores del campo de entrada para rellenar el campo de salida.
  • Unir: concatenar (unir) todos los valores de los campos de entrada para rellenar el campo de salida.
  • Sumar: calcular el total de todos los valores de los campos de entrada.
  • Valor medio: calcular el valor medio (promedio) de todos los valores de los campos de entrada.
  • Mediana: calcular el valor de la mediana (centro).
  • Modo: utilizar el valor con la mayor frecuencia.
  • Mín.: usar el valor mínimo de todos los valores de los campos de entrada.
  • Máx.: usar el valor máximo de todos los valores de los campos de entrada.
  • Desviación estándar: utilizar el método de clasificación de la desviación estándar en todos los valores de campos de entrada.
  • Conteo: buscar la cantidad de registros incluidos en los cálculos.

Field Mappings

Ejemplo de código

Ejemplo 1 de Fusionar (ventana de Python)

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")
Ejemplo 2 de Fusionar (secuencia de comandos 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.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) 

Entornos

Temas relacionados


7/10/2012