Fusionner (Gestion des données)

Synthèse

Combine plusieurs jeux de données en entrée 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 Fusionner

Utilisation

  • Utilisez cet outil pour combiner des jeux de données de plusieurs sources dans un nouveau jeu de données en sortie unique. Toutes les classes d’entités en entrée doivent être du même type de géométrie. Par exemple, plusieurs classes d'entités points peuvent être combinées, mais une classe d'entités linéaires ne peut être combinée à une classe d'entités surfaciques.

    Les tables et classes d'entités peuvent être combinées dans un jeu de données en sortie unique. Le type en sortie est déterminé par la première entrée. Si la première entrée est une classe d’entités, la sortie est une classe d’entités. Si la première entrée est une table, la sortie est une table. Si une table est fusionnée dans une classe d'entités, les lignes de la table en entrée auront une géométrie nulle.

  • Utilisez le paramètre Mode d’appariement des champs pour spécifier comment les champs des jeux de données en entrée sont transférés vers le jeu de données en sortie. Par défaut, l’outil apparie les champs de même nom ensemble, tandis que les champs qui sont propres aux entrées sont conservés dans la sortie. Utilisez le paramètre Appariement des champs lorsque l’option Utiliser l’appariement des champs pour réconcilier les différences de champs est spécifiée. Si tous les jeux de données en entrée ont la même structure, utilisez l’option Utiliser la structure du premier jeu de données uniquement pour optimiser les performances.

  • Le paramètre Field Map (Appariement des champs) permet de gérer les champs et leur contenu dans le jeu de données en sortie.

    • Ajoutez et supprimez des champs de la liste des champs, réorganisez la liste des champs et renommez des champs.
    • Le type de données par défaut d’un champ en sortie est le même que le type de données du premier champ en entrée (du même nom) qu’il rencontre. Vous pouvez modifier le type de données en un autre type de données valide.
    • Utilisez une action pour identifier la manière dont les valeurs d’un ou de plusieurs champs en entrée sont fusionnées en un seul champ en sortie. Les actions disponibles sont First (Premier), Last (Dernier), Concatenate (Concaténer), Sum (Somme), Mean (Moyenne), Median (Médiane), Mode, Minimum, Maximum, Standard Deviation (Écart type) et Count (Total).
    • Lorsque vous utilisez l’action Concatenate (Concaténer), vous pouvez spécifier un délimiteur, comme une virgule ou d’autres caractères. Cliquez au début de la zone de texte Delimiter (Délimiteur) pour ajouter les caractères de délimitation.
    • L’option Standard Deviation (Écart type) n’est pas valide pour une seule valeur en entrée.
    • L’option Export (Exporter) Exporter permet d’enregistrer un appariement des champs sous forme de fichier .fieldmap.
    • L’option Load (Charger) Import permet de charger un fichier .fieldmap. La couche d’entités ou le jeu de données spécifié dans le fichier doit correspondre à celui utilisé dans l’outil. Sinon, le paramètre Field Map (Appariement des champs) est réinitialisé.
    • Utilisez le bouton Slice Text (Texte de tranche) Couper sur les champs de la source du texte pour sélectionner les caractères d’une valeur en entrée à extraire dans le champ en sortie. Pour accéder au bouton Slice Text (Texte de tranche), survolez un champ de texte dans la liste des champs en entrée, puis spécifiez les positions des caractères de début et de fin.
    • Il est également possible d’apparier des champs dans un script Python.

  • Cet outil ne fractionne ou ne modifie pas les géométries issues des jeux de données en entrée. Toutes les entités des jeux de données en entrée demeurent intactes dans le jeu de données en sortie, même si les entités se superposent. Pour combiner, ou planariser, les géométries d’entités, utilisez l’outil Agréger.

  • Si les classes d’entités sont combinées, le jeu de données en sortie se trouve dans le système de coordonnées de la première classe d’entités spécifiée pour le paramètre Jeux de données en entrée, sauf si l’environnement Système de coordonnées en sortie est défini.

  • Cet outil ne prend pas en charge les classes d'entités annotations. Utilisez l’outil Ajouter des classes d’entités annotations pour combiner les classes d’entités annotations.

  • Cet outil ne prend pas en charge les jeux de données raster. Utilisez l’outil Mosaïque vers nouveau raster pour combiner plusieurs rasters dans un nouveau raster en sortie.

Paramètres

ÉtiquetteExplicationType de données
Jeux de données en entrée

Jeux de données en entrée qui seront fusionné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. Les classes d’entités en entrée doivent toutes être du même type de géométrie.

Les tables et classes d'entités peuvent être combinées dans un jeu de données en sortie unique. Le type en sortie est déterminé par la première entrée. Si la première entrée est une classe d’entités, la sortie est une classe d’entités. Si la première entrée est une table, la sortie est une table. Si une table est fusionnée dans une classe d'entités, les lignes de la table en entrée auront une géométrie nulle.

Table View
Jeu de données en sortie

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

Feature Class;Table
Appariement des champs
(Facultatif)

Utilisez l’appariement des champs pour réconcilier les différences de structures et faire correspondre des champs attributaires entre plusieurs jeux de données. Par défaut, la sortie inclut tous les champs des jeux de données en entrée.

Utilisez l’appariement des champs pour ajouter, supprimer, renommer et réorganiser les champs, ainsi que pour modifier d’autres propriétés des champs.

L’appariement des champs peut aussi servir à combiner les valeurs de deux champs en entrée ou plus en un seul champ en sortie.

Field Mappings
Ajouter des informations sur la source à la sortie
(Facultatif)

Indique si les informations source seront ajoutées au jeu de données en sortie dans un nouveau champ de texte MERGE_SRC. Les valeurs situées dans le champ MERGE_SRC indiquent le chemin d’accès au jeu de données en entrée ou le nom de la couche qui constitue la source de chaque enregistrement dans la sortie.

  • Désactivé : les informations sur la source ne seront pas ajoutées au jeu de données en sortie dans un champ MERGE_SRC. Il s’agit de l’option par défaut.
  • Activé : les informations sur la source seront ajoutées au jeu de données en sortie dans un champ MERGE_SRC.
Boolean
Mode d’appariement des champs
(Facultatif)

Spécifie comment les champs du jeu de données en entrée sont transférés vers le jeu de données en sortie.

  • Générer automatiquement des champs consolidés à partir de toutes les entréesLes champs de même nom sont automatiquement appariés ensemble dans la sortie. Les champs qui sont propres aux entrées sont conservés dans la sortie. Il s’agit de l’option par défaut.
  • Utiliser l’appariement des champs pour réconcilier les différences de champsLes champs en sortie sont déterminés par la valeur du paramètre Appariement des champs.
  • Utiliser la structure du premier jeu de données uniquementLa structure du premier jeu de données en entrée est utilisée. Ce mode convient lorsque tous les jeux de données en entrée ont la même structure.
String

arcpy.management.Merge(inputs, output, {field_mappings}, {add_source}, {field_match_mode})
NomExplicationType de données
inputs
[inputs,...]

Jeux de données en entrée qui seront fusionné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. Les classes d’entités en entrée doivent toutes être du même type de géométrie.

Les tables et classes d'entités peuvent être combinées dans un jeu de données en sortie unique. Le type en sortie est déterminé par la première entrée. Si la première entrée est une classe d’entités, la sortie est une classe d’entités. Si la première entrée est une table, la sortie est une table. Si une table est fusionnée dans une classe d'entités, les lignes de la table en entrée auront une géométrie nulle.

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)

Utilisez l’appariement des champs pour réconcilier les différences de structures et faire correspondre des champs attributaires entre plusieurs jeux de données. Par défaut, la sortie inclut tous les champs des jeux de données en entrée.

Utilisez l’appariement des champs pour ajouter, supprimer, renommer et réorganiser les champs, ainsi que pour modifier d’autres propriétés des champs.

L’appariement des champs peut aussi servir à combiner les valeurs de deux champs en entrée ou plus en un seul champ en sortie.

Dans Python, utilisez la classe FieldMappings pour définir ce paramètre.

Field Mappings
add_source
(Facultatif)

Indique si les informations source seront ajoutées au jeu de données en sortie dans un nouveau champ de texte MERGE_SRC. Les valeurs situées dans le champ MERGE_SRC indiquent le chemin d’accès au jeu de données en entrée ou le nom de la couche qui constitue la source de chaque enregistrement dans la sortie.

  • NO_SOURCE_INFOLes informations sur la source ne seront pas ajoutées au jeu de données en sortie dans un champ MERGE_SRC. Il s’agit de l’option par défaut.
  • ADD_SOURCE_INFOLes informations sur la source seront ajoutées au jeu de données en sortie dans un champ MERGE_SRC.
Boolean
field_match_mode
(Facultatif)

Spécifier comment les champs du jeu de données en entrée sont transférés vers le jeu de données en sortie

  • AUTOMATICLes champs de même nom sont automatiquement appariés ensemble dans la sortie. Les champs qui sont propres aux entrées sont conservés dans la sortie. Il s’agit de l’option par défaut.
  • MANUAL_EDITLes champs en sortie sont déterminés par la valeur du paramètre field_mappings.
  • USE_FIRST_SCHEMALa structure du premier jeu de données en entrée est utilisée. Ce mode convient lorsque tous les jeux de données en entrée ont la même structure.
String

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 la fonction Merge :

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

Utilisez la fonction Merge pour combiner les entités de deux classes d’entités rues en un jeu de données unique.

# Name: Merge.py
# Description: Use Merge to move features from two street
#              feature classes into a single dataset with field mapping

# import system modules 
import arcpy

# Set environment settings
arcpy.env.workspace = "C:/data"

# Street feature classes to be merged
oldStreets = "majorrds.shp"
newStreets = "Habitat_Analysis.gdb/futrds"
addSourceInfo = "ADD_SOURCE_INFO"

# 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.management.Merge([oldStreets, newStreets], uptodateStreets, fieldMappings, 
                       addSourceInfo)

Informations de licence

  • Basic: Oui
  • Standard: Oui
  • Advanced: Oui

Rubriques connexes