Résumé
Permet d'agréger des entités en fonction d'attributs spécifiés, à l'aide d'une approche de traitement parallèle.
Un outil alternatif est disponible pour les opérations de fusion. Reportez-vous à la documentation de l’outil Fusionner pour plus de détails.
Illustration
Utilisation
Diverses statistiques permettent de récapituler ou de décrire les attributs des entités qui sont agrégées avec l'outil Fusionner. 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 nom suivante : type de statistique + trait de soulignement + nom du champ en entrée. Par exemple, si la statistique SUM est appliquée à un champ nommé POP, le champ de sortie portera le nom SUM_POP.
Les entités très volumineuses peuvent être créées dans la classe d'entités en sortie. Tel est notamment le cas lorsqu'un petit nombre de valeurs uniques figurent dans les Champ(s) 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 et/ou d'altérer les performances lors de leur représentation sur une carte ou de leur modification. Les problèmes peuvent survenir également 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, décochez l'option Créer des entités multi-parties (multi_part="SINGLE_PART" dans Python) pour fractionner les entités multi-parties susceptibles d'être très volumineuses en de nombreuses entités plus petites. Dans le cas d'entités très volumineuses, l'outil Emincer devra peut-être être utilisé pour les fractionner, afin d'éviter des problèmes liés au traitement, à l'affichage ou aux performances.
Les valeurs nulles sont exclues de tous les calculs statistiques. Par exemple, la valeur AVERAGE de 10, 5 et NULL est 7,5 ((10+5)/2). La statistique COUNT renvoie le nombre de valeurs comprises dans le calcul statistique, c'est-à-dire 2.
Le bouton Ajouter un champ du paramètre Champ(s) de fusion est uniquement utilisé dans ModelBuilder. Dans ModelBuilder, si l'outil précédent n'a pas été exécuté ou si ses données dérivées n'existent pas, le paramètre Champ(s) de fusion peut ne pas comporter de noms de champ. Le bouton Ajouter un champ permet d'ajouter des champs attendus pour continuer à renseigner la boîte de dialogue et poursuivre la construction du modèle.
Si le type de géométrie des entités en entrée est point ou multi-points et que l'option Créer des entités multi-parties est sélectionnée (multi_part="MULTI_PART" dans Python), la sortie est une classe d'entités multi-points. Sinon, si l'option Créer des entités multi-parties n'est pas sélectionnée (multi_part="SINGLE_PART" dans Python), la sortie est une classe d'entités points.
Par défaut, les entités de courbe de l’entrée seront densifiées dans la sortie. Pour prendre en charge les courbes dans la sortie, utilisez l’environnement Maintain Curve Segments (Conserver les segments de courbe).
L'outil Fusion deux par deux respecte l'environnement Facteur de traitement parallèle. Si l'environnement n'est pas défini (valeur par défaut) ou s'il est défini sur 100, le traitement parallèle complet est activé et l'outil tente de répartir les tâches parmi tous les cœurs logiques de la machine. Si vous définissez l'environnement sur 0, le traitement parallèle est désactivé. Si vous spécifiez un facteur compris entre 1 et 99, l'outil détermine le pourcentage de cœurs logiques à utiliser en appliquant la formule (Facteur de traitement parallèle / 100 * Cœurs logiques) arrondie à l'entier supérieur le plus proche. Si le résultat de cette formule est 0 ou 1, le traitement parallèle n'est pas activé.
Syntaxe
arcpy.analysis.PairwiseDissolve(in_features, out_feature_class, {dissolve_field}, {statistics_fields}, {multi_part})
Paramètre | Explication | Type 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) | Champs utilisés pour agréger les entités. Le bouton Ajouter un champ, utilisé uniquement dans ModelBuilder, permet d'ajouter les champs prévus pour terminer la saisie dans la boîte de dialogue et continuer la création du modèle. | Field |
statistics_fields [[field, {statistic_type}],...] (Facultatif) | Spécifie le champ numérique contenant les valeurs attributaires permettant de 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 statistiques. 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 :
| Value Table |
multi_part (Facultatif) | Indique si les entités multi-parties sont autorisées dans la classe d'entités en sortie.
| Boolean |
Exemple de code
Le script de fenêtre Python suivant montre comment utiliser l'outil PairwiseDissolve en mode immédiat.
import arcpy
arcpy.env.workspace = "C:/data/Portland.gdb/Taxlots"
arcpy.PairwiseDissolve_analysis("taxlots", "C:/output/output.gdb/taxlots_dissolved",
["LANDUSE", "TAXCODE"], "", "SINGLE_PART")
Le script autonome suivant illustre l'utilisation de l'outil PairwiseDissolve.
# Name: PairwiseDissolve_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"]
# Execute MakeFeatureLayer and SelectLayerByAttribute. This is only to exclude
# features that are not desired in the output.
arcpy.MakeFeatureLayer_management(inFeatures, tempLayer)
arcpy.SelectLayerByAttribute_management(tempLayer, "NEW_SELECTION", expression)
# Execute Dissolve using LANDUSE and TAXCODE as Dissolve Fields
arcpy.PairwiseDissolve_analysis(tempLayer, outFeatureClass, dissolveFields, "",
"SINGLE_PART")
Environnements
Informations de licence
- Basic: Oui
- Standard: Oui
- Advanced: Oui
Rubriques connexes
Vous avez un commentaire à formuler concernant cette rubrique ?