Étiquette | Explication | Type de données |
Entités en entrée | Entités surfaciques en entrée qui seront utilisées pour générer le cartogramme. | Feature Layer |
Nom de champ | Champ numérique contenant les valeurs qui détermineront la surface des entités surfaciques dans le cartogramme en sortie. Toute entité dont la valeur est négative ou égale à 0 sera omise de la sortie. | Field |
Classe d’entités en sortie | Polygones en sortie avec la transformation par cartogramme appliquée. | Feature Layer |
Méthode (Facultatif) | Indique la méthode qui sera utilisée pour transformer l’entrée et créer le cartogramme.
| String |
Synthèse
Génère un cartogramme en déformant la surface des polygones proportionnellement les uns par rapport aux autres en fonction d’un champ numérique, tout en conservant les limites partagées.
Illustration

Utilisation
La sortie sera une nouvelle couche d’entités surfaciques avec des polygones transformés de sorte que la surface de chaque entité soit proportionnelle à la valeur d’un champ numérique, par rapport à la somme de ce champ dans toutes les entités de l’entrée.
Les données attributaires de la couche en entrée seront transférées vers la sortie. La symbologie et l’étiquetage seront transférés dans le cas où l’entrée est une couche symbolisée.
Le paramètre Méthode comporte les options suivantes :
- Centré sur les flux : cette option est une évolution de la méthode Diffusion, et son exécution est souvent plus rapide. La forme des polygones en sortie peut être différente ou présenter une distorsion un peu plus importante comparativement. Il s’agit de l’option par défaut.
- Diffusion : cette option peut appliquer une distortion un peu moins importante aux formes d’origine que l’option Centré sur les flux, mais son exécution prend plus de temps.
Pour réduire le temps de traitement, vous pouvez exécuter l’outil Simplifier un polygone sur les entités en entrée avant d’exécuter cet outil. Certains polygones en sortie peuvent alors apparaître exagérément simplifiés si leur déformation les agrandit considérablement.
Les données en entrée ou la carte active affichant les données doivent utiliser une projection équivalente adaptée à cette région. Ainsi, la surface visible des polygones en entrée représentera de manière plus précise la surface réelle avant modification. Utilisez l’environnement Système de coordonnées cartographiques s’il n’y a pas de carte active et si les données utilisent une projection non équivalente. Affichez les résultats dans la même projection équivalente pour obtenir une représentation précise des surfaces des entités ajustées.
Les valeurs de champ du paramètre Nom du champ doivent être positives. Toute entité dont la valeur est négative ou égale à 0 ne sera pas présente dans la sortie.
Ressources supplémentaires :
Gastner, Michael T. and M. E. J. Newman. 2004. "Diffusion-based method for producing density-equalizing maps." Proceedings of the National Academy of Sciences of the United States of America, 101(20): 7499–7504.
Gastner, Michael T., Vivien Seguy, and Pratyush More. 2018. "Fast flow-based algorithm for creating density-equalizing map projections." Proceedings of the National Academy of Sciences of the United States of America, 115(10): E2156-E2164.
Paramètres
arcpy.cartography.GenerateContiguousCartogram(in_features, field_name, out_features, {method})
Nom | Explication | Type de données |
in_features | Entités surfaciques en entrée qui seront utilisées pour générer le cartogramme. | Feature Layer |
field_name | Champ numérique contenant les valeurs qui détermineront la surface des entités surfaciques dans le cartogramme en sortie. Toute entité dont la valeur est négative ou égale à 0 sera omise de la sortie. | Field |
out_features | Polygones en sortie avec la transformation par cartogramme appliquée. | Feature Layer |
method (Facultatif) | Indique la méthode qui sera utilisée pour transformer l’entrée et créer le cartogramme.
| String |
Exemple de code
Le script ci-dessous pour la fenêtre Python montre comment utiliser la fonction GenerateContiguousCartogram en mode immédiat.
import arcpy
arcpy.env.workspace = "C:/data/admin.gdb"
arcpy.cartography.GenerateContiguousCartogram(
"countries",
"population",
"countries_cartogram_population",
"FLOW-BASED")
Le script autonome ci-dessous illustre l’utilisation de la fonction GenerateContiguousCartogram.
# Name: GenerateContiguousCartogram_sample2.py
# Description: Output a contiguous cartogram of country polyons
# based on popuplation.
# Import System Modules
import arcpy
# Set environment settings
arcpy.env.workspace = "C:/data/admin.gdb"
# Set Local Variables
in_features = "countries"
value_field = "population"
out_cartogram = "countries_cartogram_population"
algorithm = "DIFFUSION"
# Execute Generate Contiguous Cartogram
arcpy.cartography.GenerateContiguousCartogram(
in_features,
value_field,
out_cartogram,
algorithm)
Environnements
Vous avez un commentaire à formuler concernant cette rubrique ?