fonctions Arcade<\/A>. La capacité à exploiter Arcade devient particulièrement utile. Comme vous le verrez ci-dessous, nous pouvons utiliser une fonction Arcade pour transformer trois colonnes de données en un code rgb ou rgba.<\/P><\/P>
Commencer<\/STRONG><\/SPAN><\/P>Quand j'essaie d'apprendre quelque chose de nouveau, je trouve toujours utile de commencer avec des entrées dont je connais le résultat attendu. Puisque les combinaisons de couleurs sont importantes ici, travailler avec une image était un point de départ utile, alors j'ai décidé de créer des données test en utilisant une image de la conférence utilisateur Esri en 2019 :<\/P> <\/P>
<\/P> <\/P>Pour utiliser la symbologie pilotée par attributs, la première étape a été de transférer les valeurs RGB de l'image vers un jeu de données polygonal. Sans entrer trop dans les détails, le flux de travail consiste à convertir les données raster en un jeu de données polygonal, puis à utiliser des outils d'analyse pour transférer efficacement les valeurs moyennes RGB à un nouvel ensemble de polygones :<\/P> <\/P>
<\/P> <\/P>Ce résultat est une classe d'entités polygonales avec trois champs d'attributs que je voulais utiliser pour définir les valeurs de couleur rouge, vert et bleu<\/EM> pour chaque entité. Dans ce cas, les valeurs représentent les valeurs moyennes rouge, vert et bleu provenant de l'image source dans chaque polygone, mais elles pourraient être n'importe quels champs dans vos données.<\/P><\/P>Avec les données test en main, l'étape suivante est d'
activer la symbologie pilotée par attributs<\/A>, et d'ajouter la fonction Arcade. <\/P><\/P>
<\/P>
<\/P>
Parce que nos données test ont déjà des champs rouge, vert et bleu, tout ce que je dois faire est d'écrire une fonction Arcade qui retourne quelque chose comme "rgb(111, 222, 333)". Voici le code que j'ai utilisé, mais vous pourriez aussi écrire une fonction Arcade pour créer des valeurs RGB à partir de vos données, ou utiliser HSL, CMYK ou l'un des nombreux autres
formats de couleur supportés<\/>\":<\/>\n<SPAN class=\"keyword token\">function<\/> <SPAN class=\"token function\">getRGB<\/>\(r, g, b\) {\n <SPAN class=\"keyword token\">return<\/> \"rgb(\" + r + \, \" + g + \, \" + b + \")\");\n}<\/>\ngetRGB($feature.MEAN_Red, $feature.MEAN_Green, $feature.MEAN_Blue)<SPAN class=\"line-numbers-rows\"><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN></SPAN><\/>\nAvec la symbologie pilotée par attributs contrôlant maintenant les couleurs des entités, la dernière étape est de cliquer sur appliquer et profiter du résultat :<\/>\n
<\/> \n
<\\p>
<\\p>
A ce stade, j'étais impatient d'appliquer cela à des données réelles. Mais d'abord je devais répondre à quelques questions du bureau. La première était "Avez-vous reprojeté votre visage ?", suivie par "Comment cela fonctionne-t-il exactement ?", et enfin "Pouvez-vous faire ça sur une photo de mon chat ?", auxquelles les réponses étaient "non", "laissez-moi vous montrer", et "bien sûr !":<\\p>
<\\p>
<\\p>
<\\p> Toute réunir ensemble
I hope that this (less than) practical example helps paint the picture of how you can use Attribute Driven Symbology in ArcGIS Pro to link the color in your maps to the attributes in your data. Using the example I showed from the beginning of this blog, what would a map look like if we wanted to show the relationship between smoking, drinking, and obesity?
Using Attribute Driven Symbology, we can create just this map! In this case, I used Arcade to rescale all three values from 0 – 255, and return that value as an RGB code. In the new map,