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

Ilustración de Fusionar

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.

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.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

Temas relacionados

9/11/2013