Rechercher dans le blog

Les nouvelles options de coloration dans l'API Python d'ArcGIS

Bonjour à tous ! Comme promis, nous allons parler un peu plus en détail des nouvelles fonctionnalités des options de rendu de couleurs de la version 2.1.0 de l'API Python d'ArcGIS.

Colorbrewer

Colorbrewer est un outil en ligne assez populaire qui, basée sur des recherches évaluées par des pairs, aide les cartographes et les scientifiques des données à choisir la combinaison de couleurs la plus optimale pour visualiser leurs données. L'API inclus désormais une compatibilité avec cet outil, qui fournit un assortiment extrêmement utile de palettes de couleurs différentes pour les données séquentielles, divergentes et qualitatives. Vous pouvez personnaliser ces palettes pour un maximum de 12 classes de données différentes et les filtrer en fonction du daltonisme, des imprimantes et de la compatibilité avec les photocopieurs. L'utilisation de ces palettes est simple : vous créez une palette en ligne, puis vous copiez et collez le tableau JavaScript qui se trouve sous l'onglet "Export" dans le paramètre "colors" de votre dataframe plot() ou de votre méthode de rendu. Toutes les fonctions fonctionnent à la fois en RGB et en HEX. Ci-dessous, découvrez la sélection d'une palette pour représenter les récifs coralliens menacés par les températures élevées de l'océan, selon des données NOAA.

 

Palettable

Une autre option qui vous est offerte par cette version de l'API : la compatibilité avec Palettable, qui est une bibliothèque python Palettable est une bibliothèque python contenant des tonnes de palettes de couleurs différentes, y compris toutes les palettes du colorbrewer. Les objets Palettable contiennent les données d'une palette donnée sous diverses formes, notamment des tuples RVB, des chaînes HEX et des objets Matplotlib colormap (nous y reviendrons).

Pour utiliser une palette Palettable, vous devez d'abord installer Palettable via un gestionnaire de paquets (conda, pip). Ensuite, vous devez importer la palette souhaitée de la bibliothèque et la passer comme argument dans le paramètre 'colors' de votre méthode. Ci-dessous, nous allons importer une palette pour afficher la distance entre les côtes des plateformes pétrolières dans le Golfe du Mexique.

Amélioration de la coloration personnalisée

Outre ces deux nouvelles méthodes de coloration, Esri a également augmenté la flexibilité de leurs conventions de coloration actuelles. Les moteurs de rendu prenant en compte les couleurs en entrée (carte de chaleur, valeur unique, classbreaks, et rendu simple) gèreront maintenant les deux types d'entrée traditionnels : les listes de tableaux RVB + alpha, et les noms (chaînes de caractères) des colormap Matplotlib reconnues. Une colormap est un objet Matplotlib qui contient des données RVB pour un ensemble de gradients de couleurs différentes ; il y a 256 couleurs différentes dans chacune d'elles, auxquelles vous pouvez accéder en appelant colormap(x, bytes = True). Les objets colormap peuvent également être affichés visuellement dans un Jupyter Notebook. 

Voici des exemples de ces deux types d'affichage :

Comme vous pouvez le constater, les données d'une colormap et d'une liste de tableaux de couleurs ne sont pas très différentes. Vous pouvez d'ailleurs créer vos propres colormap à partir d'une liste de tableaux de couleurs avec la nouvelle fonction create_colormap(). Comme démontré ci-dessous, cette fonction vous permet de visualiser des cartes de couleurs faites à partir de tableaux de couleurs personnalisés, vous donnant une idée de l'aspect de vos rendus.

Ces deux nouveaux types d'entrées améliorent les fonctions de rendu de manière importante. Pour une carte thermique, vous pouvez désormais définir des paliers de couleur personnalisés sous la forme d'une liste de tableaux RGBA dans l'argument "colors", ce qui vous permet de contrôler totalement les couleurs affichées sans avoir besoin de connaître la structure du moteur de rendu de l'API JavaScript sous-jacente. 

En outre, les moteurs de rendu Classbreaks peuvent désormais prendre une liste de tableaux RGBA qui définissent les couleurs des tranches de données ; cela fonctionne en créant un objet colormap interne à partir de la liste et en le divisant en fonction du nombre de tranches spécifié. Cela vous permet de créer un nombre quelconque de tranches uniques à partir de la même liste de couleurs que vous fournissez. 

Enfin, vous pouvez maintenant utiliser un nom de carte de couleurs tout en créant un rendu unique sans risque de répétition ou de couleurs trop similaires.

Enfin, pour finir cet article, notez que des fonctions distinctes ont été introduites pour les différents types de rendu :  generate_simple(), generate_heatmap(), generate_classbreaks() et generate_unique(). Cependant, vous pouvez toujours appeler generate_renderer() et spécifier le type de rendu.

Le mot de la fin

C'est tout pour aujourd'hui, n'hésitez pas à tester ces nouvelles fonctionnalités pour continuer à créer des cartes toujours plus belles ! Pour découvrir les autres fonctionnalités de la version 2.1.0 de l'API Python d'ArcGIS sortie en ce début d'année 2023, vous pouvez à consulter cet article


Aucun commentaire:

Enregistrer un commentaire