Combiner (Gestion des données)

Niveau de licence :De baseStandardAvancé

Récapitulatif

Combine plusieurs jeux de données en entrée du même type de données dans un nouveau jeu de données en sortie unique. Cet outil peut combiner des tables ou des classes d'entités ponctuelles, linéaires ou surfaciques.

Utilisez l'outil Ajouter pour combiner des jeux de données en entrée avec un jeu de données existant.

Illustration

Illustration de l'outil Combiner

Utilisation

Syntaxe

Merge_management (inputs, output, {field_mappings})
ParamètreExplicationType de données
inputs
[inputs,...]

Jeux de données en entrée qui seront combinés dans un nouveau jeu de données en sortie. Les jeux de données en entrée peuvent être des tables ou des classes d'entités ponctuelles, linéaires ou surfaciques. Le type de données de tous les jeux de données en entrée doit correspondre.

Table View
output

Jeu de données en sortie qui contiendra tous les jeux de données en entrée combinés.

Feature Class;Table
field_mappings
(Facultatif)

Champs et contenus de champ choisis à partir des données en entrée. Chacun des champs uniques en entrée est répertorié dans la fenêtre Appariement des champs. Une fois développée, cette fenêtre affiche la liste de toutes les occurrences de champs en entrée.

Pour chaque appariement de champ, vous pouvez ajouter, renommer ou supprimer des champs en sortie et définir des propriétés telles que le type de données et la règle de combinaison. Vous pouvez supprimer également les occurrences d'un champ en sortie, et vous pouvez mettre en forme les valeurs de tout champ en sortie.

Field Mappings

Exemple de code

Exemple 1 d'utilisation de l'outil Combiner (fenêtre Python)

Le script de fenêtre Python ci-dessous illustre l'utilisation de l'outil Combiner.

import arcpy
arcpy.env.workspace = "C:/data"
arcpy.Merge_management(["majorrds.shp", "Habitat_Analysis.gdb/futrds"], "C:/output/Output.gdb/allroads")
Exemple 2 d'utilisation de l'outil Combiner (script autonome)

Utilisez l'outil Combiner pour déplacer des entités de deux classes d'entités rues dans un jeu de données unique.

# 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)

Environnements

Thèmes connexes

Informations de licence

ArcGIS for Desktop Basic : Oui
ArcGIS for Desktop Standard : Oui
ArcGIS for Desktop Advanced : Oui
9/12/2013