Fusionner (Gestion des données)

Synthèse

Agrège des entités en fonction des attributs spécifiés.

Un outil alternatif est disponible pour les opérations de fusion. Reportez-vous à la documentation de l’outil Fusion deux par deux pour plus de détails.

En savoir plus sur le fonctionnement de l’outil Fusionner

Illustration

Illustration de l’outil Fusionner
Illustration de l’outil Fusionner

Utilisation

  • Diverses statistiques permettent de récapituler ou de décrire les attributs des entités qui sont agrégées avec cet outil. La statistique utilisée pour récapituler les attributs est ajoutée à la classe d’entités en sortie sous forme de champ unique répondant à la norme d’attribution de noms : type de statistique + trait de soulignement + nom du champ en entrée. Par exemple, si la statistique de type SUM est appliquée à un champ nommé POP, la sortie inclut un champ nommé SUM_POP.

  • L’outil Fusionner permet de créer de très grandes entités dans la classe d’entités en sortie, notamment lorsqu’un petit nombre de valeurs uniques figure dans le paramètre Champs de fusion ou lors de la fusion de toutes les entités dans une seule entité. Les entités très volumineuses risquent de poser des problèmes de traitement ou d’affichage. Elles peuvent altérer les performances lors de leur représentation sur une carte ou de leur modification. Des problèmes peuvent également survenir si la sortie de la fusion a créé une entité à la taille maximale sur un ordinateur, puis que cette sortie a été déplacée vers un ordinateur doté de moins de mémoire disponible. Pour éviter ces problèmes potentiels, utilisez le paramètre Créer des entités multi-parties pour créer des entités en une seule partie afin de fractionner les entités multi-parties susceptibles d’être plus volumineuses en plusieurs entités plus petites. Dans le cas d’entités très volumineuses créées par l’outil Fusionner, l’outil Segmenter peut être utilisé pour les fractionner, afin d’éviter les problèmes liés au traitement, à l’affichage ou aux performances.

  • Les valeurs nulles sont exclues de tous les calculs statistiques. Par exemple, la moyenne de 10, 5 et d’une valeur Null est 7,5 ((10 + 5) / 2). Le total renvoie le nombre de valeurs comprises dans le calcul statistique, c’est-à-dire 2.

  • Cet outil utilise un processus de tuilage pour la gestion des jeux de données très volumineux afin d'améliorer les performances et l'évolutivité. Pour plus de détails, reportez-vous à la rubrique Géotraitement sur jeux de données volumineux.

  • En fonction de la mémoire physique disponible, le nombre d’entités en entrée pouvant être traitées et fusionnées dans une seule entité en sortie risque d’être limité (tout comme leur complexité). Cette limitation est susceptible de provoquer une erreur car le processus de fusion peut exiger davantage de mémoire que celle disponible. Pour éviter ce problème, Fusionner peut diviser et traiter les entités en entrée à l’aide d’un algorithme de tuilage adaptatif. Pour déterminer les entités devant faire l’objet d’un tuilage, exécutez l’outil Fréquence sur le résultat de cet outil, en spécifiant les mêmes champs que ceux utilisés lors du traitement de fusion pour le paramètre Champs de fréquence. Tout enregistrement présentant une valeur de fréquence de 2 a fait l’objet d’un tuilage. Les limites du tuilage sont conservées dans les entités en sortie pour empêcher la création d’entités trop volumineuses pour être utilisées dans ArcGIS.

    Attention :

    L’exécution de l’outil Fusionner sur la sortie d’un traitement de fusion précédent réduit rarement le nombre d’entités dans la sortie lorsque le traitement initial a divisé et traité les entrées à l’aide du tuilage adaptatif. La taille maximale de toute entité en sortie est déterminée par la quantité de mémoire disponible au moment de l’exécution. La présence de tuiles dans la sortie indique que fusionner davantage avec les ressources disponibles entraînerait un manque de mémoire ou rendrait l’entité inutilisable. En outre, une seconde exécution de l’outil Fusionner sur la sortie créée de cette façon peut ralentir considérablement les performances sans pour autant rapporter de bénéfices, et peut entraîner une défaillance inattendue.

  • Le paramètre Lignes non fractionnées s’applique uniquement aux entrées de type ligne. Lorsque la valeur par défaut est spécifiée, les lignes sont fusionnées en une seule entité. Sinon, seules deux lignes qui ont une extrémité en commun (désignée par le terme de pseudo-nœud) sont fusionnées en une ligne continue.

  • Si le type de géométrie de la valeur du paramètre Entités en entrée est point ou multi-points et que le paramètre Créer des entités multi-parties est activé, la sortie est une classe d’entités multi-points. Sinon, si le paramètre Créer des entités multi-parties n’est pas activé, la sortie est une classe d’entités ponctuelles.

Paramètres

ÉtiquetteExplicationType de données
Entités en entrée

Entités à agréger.

Feature Layer
Classe d’entités en sortie

Classe d’entités à créer pour contenir les entités agrégées.

Feature Class
Champs de fusion
(Facultatif)

Champ(s) utilisé(s) pour agréger les entités.

Field
Champs de statistiques
(Facultatif)

Spécifie le ou les champ(s) numérique(s) contenant les valeurs attributaires utilisées pour calculer les statistiques indiquées. Vous pouvez spécifier plusieurs combinaisons de statistiques et de champs. Les valeurs nulles sont exclues de tous les calculs.

Les champs attributaires textuels peuvent être récapitulés à l’aide de la première et de la dernière statistique. Les champs attributaires numériques peuvent être récapitulés à l’aide de toutes les statistiques.

Types de statistiques disponibles :

  • Somme : additionne les valeurs du champ spécifié.
  • Moyenne : calcule la moyenne du champ spécifié.
  • Minimum : recherche la valeur la plus faible parmi tous les enregistrements du champ spécifié.
  • Maximum : recherche la valeur la plus élevée parmi tous les enregistrements du champ spécifié.
  • Plage : calcule la plage de valeurs (maximum moins minimum) du champ spécifié.
  • Écart type : calcule l’écart type des valeurs du champ spécifié.
  • Total : recherche le nombre de valeurs incluses dans les calculs. Toutes les valeurs sont comptées à l’exception des valeurs nulles. Pour déterminer le nombre de valeurs nulles dans un champ, utilisez COUNT sur le champ en question, puis sur un autre champ qui ne contient pas de valeurs nulles (par exemple l’OID, s’il est présent), puis soustrayez les deux valeurs.
  • Premier : utilise la valeur du champ spécifié pour le premier enregistrement en entrée.
  • Dernier : utilise la valeur du champ spécifié pour le dernier enregistrement en entrée.
  • Médiane : calcule la médiane de tous les enregistrements du champ spécifié.
  • Variance : calcule la variance de tous les enregistrements du champ spécifié.
  • Unique : calcule le nombre de valeurs uniques du champ spécifié.
  • Concaténer : les valeurs du champ spécifié seront concaténées. Les valeurs peuvent être séparées à l’aide du paramètre Séparateur de concaténation.
Value Table
Créer des entités multi-parties
(Facultatif)

Indique si les entités multi-parties sont autorisées dans la classe d’entités en sortie.

  • Activé : les entités multi-parties sont autorisées dans la classe d’entités en sortie. Il s’agit de l’option par défaut.
  • Désactivé : les entités multi-parties ne sont pas autorisées dans la classe d’entités en sortie. Des entités individuelles seront créées pour chaque partie.
Boolean
Lignes non fractionnées
(Facultatif)

Spécifie le mode de fusion des entités linéaires.

  • Désactivé : les lignes sont fusionnées dans une seule entité. Il s’agit de l’option par défaut.
  • Activé : les lignes sont fusionnées uniquement lorsque deux lignes ont un sommet de fin en commun.
Boolean
Séparateur de concaténation
(Facultatif)

Un ou plusieurs caractères utilisés pour concaténer des valeurs lorsque l’option Concaténation est utilisée pour le paramètre Champs de statistiques.

String

arcpy.management.Dissolve(in_features, out_feature_class, {dissolve_field}, {statistics_fields}, {multi_part}, {unsplit_lines}, {concatenation_separator})
NomExplicationType de données
in_features

Entités à agréger.

Feature Layer
out_feature_class

Classe d’entités à créer pour contenir les entités agrégées.

Feature Class
dissolve_field
[dissolve_field,...]
(Facultatif)

Champ(s) utilisé(s) pour agréger les entités.

Field
statistics_fields
[[field, {statistic_type}],...]
(Facultatif)

Spécifie le ou les champ(s) numérique(s) contenant les valeurs attributaires utilisées pour calculer les statistiques indiquées. Vous pouvez spécifier plusieurs combinaisons de statistiques et de champs. Les valeurs nulles sont exclues de tous les calculs.

Les champs attributaires textuels peuvent être récapitulés à l’aide de la première et de la dernière statistique. Les champs attributaires numériques peuvent être récapitulés à l’aide de toutes les statistiques.

Types de statistiques disponibles :

  • SUM : additionne les valeurs du champ spécifié.
  • MEAN : calcule la moyenne du champ spécifié.
  • MIN : recherche la valeur la plus faible parmi tous les enregistrements du champ spécifié.
  • MAX : recherche la valeur la plus élevée parmi tous les enregistrements du champ spécifié.
  • RANGE : calcule la plage de valeurs (maximum moins minimum) du champ spécifié.
  • STD : calcule l’écart type des valeurs du champ spécifié.
  • COUNT : recherche le nombre de valeurs incluses dans les calculs. Toutes les valeurs sont comptées à l’exception des valeurs nulles. Pour déterminer le nombre de valeurs nulles dans un champ, utilisez COUNT sur le champ en question, puis sur un autre champ qui ne contient pas de valeurs nulles (par exemple l’OID, s’il est présent), puis soustrayez les deux valeurs.
  • FIRST : utilise la valeur du champ spécifié pour le premier enregistrement en entrée.
  • LAST : utilise la valeur du champ spécifié pour le dernier enregistrement en entrée.
  • MEDIAN : calcule la médiane de tous les enregistrements du champ spécifié.
  • VARIANCE : calcule la variance de tous les enregistrements du champ spécifié.
  • UNIQUE : calcule le nombre de valeurs uniques du champ spécifié.
  • CONCATENATE : les valeurs du champ spécifié seront concaténées. Les valeurs peuvent être séparées à l’aide du paramètre concatenation_separator.
Value Table
multi_part
(Facultatif)

Indique si les entités multi-parties sont autorisées dans la classe d’entités en sortie.

  • MULTI_PARTLes entités multi-parties sont autorisées dans la classe d’entités en sortie. Il s’agit de l’option par défaut.
  • SINGLE_PARTLes entités multi-parties ne sont pas autorisées dans la classe d’entités en sortie. Des entités individuelles seront créées pour chaque partie.
Boolean
unsplit_lines
(Facultatif)

Spécifie le mode de fusion des entités linéaires.

  • DISSOLVE_LINESLes lignes sont fusionnées dans une seule entité. Il s’agit de l’option par défaut.
  • UNSPLIT_LINESLes lignes sont fusionnées uniquement lorsque deux lignes ont un sommet de fin en commun.
Boolean
concatenation_separator
(Facultatif)

Un ou plusieurs caractères utilisés pour concaténer des valeurs lorsque l’option CONCATENATION est utilisée pour le paramètre statistics_fields.

String

Exemple de code

Exemple 1 d’utilisation de la fonction Dissolve (fenêtre Python)

La fenêtre de script Python suivante illustre l’utilisation de la fonction Dissolve en mode immédiat.

import arcpy
arcpy.env.workspace = "C:/data/Portland.gdb/Taxlots"
arcpy.management.Dissolve("taxlots", "C:/output/output.gdb/taxlots_dissolved",
                          ["LANDUSE", "TAXCODE"], "", "SINGLE_PART", 
                          "DISSOLVE_LINES")
Exemple 2 d’utilisation de la fonction Dissolve (script autonome)

Le script autonome ci-dessous illustre l’utilisation de la fonction Dissolve.

# Name: Dissolve_Example2.py
# Description: Dissolve features based on common attributes

# Import system modules
import arcpy

arcpy.env.workspace = "C:/data/Portland.gdb/Taxlots"

# Set local variables
inFeatures = "taxlots"
tempLayer = "taxlotsLyr"
expression = arcpy.AddFieldDelimiters(inFeatures, "LANDUSE") + " <> ''"
outFeatureClass = "C:/output/output.gdb/taxlots_dissolved"
dissolveFields = ["LANDUSE", "TAXCODE"]

# Run MakeFeatureLayer and SelectLayerByAttribute.  This is only to exclude 
# features that are not desired in the output.
arcpy.management.MakeFeatureLayer(inFeatures, tempLayer)
arcpy.management.SelectLayerByAttribute(tempLayer, "NEW_SELECTION", expression)

# Run Dissolve using LANDUSE and TAXCODE as Dissolve Fields
arcpy.management.Dissolve(tempLayer, outFeatureClass, dissolveFields, "", 
                          "SINGLE_PART", "DISSOLVE_LINES")