Conseils & Astuces ArcGIS Online - N°94
N° 94 - Utiliser des expressions Arcade pour créer des rendus plus
évolués
Depuis début 2017, les utilisateurs d'ArcGIS Online dispose d'une language d'expressions nommé "Arcade" qui permet, à différents endroits dans leur carte web, de réaliser à la volée des calculs à partir des attributs de vos couches. Les expressions Arcade évitent la création de nouveaux champs pour stocker le résultat d'un calcul combinant d'autres champs de la couche (ou de la table). Mieux encore, à la différence d'un champ calculé, les expressions Arcade sont évaluées dynamiquement et contiennent donc des valeurs les plus à jour des champs sur lesquelles elles s'appuient.
Après ce petit rappel sur Arcade, voyons maintenant un exemple concret d'utilisation sur une couche pour calculer des valeurs à la volée et les cartographier à l'aide des capacités de Smart-Mapping d'ArcGIS Online.
-
Dans cet exemple, nous disposons d'une couche d'entités (la base de
données
France2027
d'Esri France) qui nous fournit, par IRIS, les estimations de population
par tranches d'âges en 2027. L'objectif est ici de cartographier
l'évolution de la population des enfants de 0 à 14 ans.
-
Une fois la carte web affichée, cliquer sur la commande "Modifier le
style".
-
Dans la liste des attributs, au lieu de choisir un champ existant,
sélectionner l'option "Nouvelle expression..." afin de définir
votre expression Arcade.
-
L'éditeur d'expression Arcade s'affiche. Dans la partie gauche vous
rédigez l'expression, dans la partie droite vous sélectionnerez les
variables et les fonctions disponibles. Dans notre exemple, nous
calculerons le taux d'évolution de la population de 0-14 ans entre 2015 et
2017.
($feature.P27_0014 - $feature.P15_0014) *100 / $feature.P15_0014
-
Le bouton "Tester" vous permettra de valider votre expression en la
testant sur une entité (choisie de manière aléatoire) de votre couche.
-
Vous pourrez également modifier le nom de l'expression. Il est recommandé
de le faire pour une meilleure expérience utilisateur dans toutes les
interfaces où les champs et les expressions Arcade sont présentées à
l'utilisateur.
Cliquer sur le bouton "OK" pour valider votre nouvelle expression Arcade.
-
Il est important de comprendre que cette expression est dynamique. Si des
valeurs sont modifiées dans l'un de champs utilisé dans l'expression
Arcade, la valeur retournée par cette expression sera automatiquement mise
à jour. On notera également que si vous enregistrez la couche,
l'expression Arcade sera également enregistrée et sera donc utilisable
pour d'autres cartes et d'autres utilisateurs.
Vous pouvez maintenant l'utiliser comme n'importe quel attribut de la couche, par exemple pour réaliser un rendu par dégradé de couleurs.
-
Par exemple, pour représenter ce taux d'évolution, on utilisera un dégradé
de type "Supérieur et inférieur" en centrant les plages de valeurs
sur "0" afin de distinguer les évolutions positives et
négatives.
-
Cliquer sur le bouton "OK" pour valider les propriétés du dégradé
puis sur le bouton "Terminer" pour valider le rendu.
En utilisant des expressions Arcade, vous pouvez aller très loin en termes
de calcul de valeurs dynamiques dans vos couches. Le langage Arcade propose
des fonctions de traitement de chaînes, de dates, de nombres, de géométries,
... .Arcade propose également des fonctions pour réaliser des tests
conditionnels (IIf(), When(), ...) ce qui vous permettra donc
de rédiger des expressions très avancées. Il ne vous reste plus qu'à vous
familiariser avec ce langage simple et puissant que vous retrouvez nous
seulement dans le contexte des cartes web mais aussi dans ArcGIS Pro et dans
les solutions de développement (API JavaScript et SDKs Runtime).
Bonne route sur ArcGIS Online !
1 comments :
Bonjour,
Oui, Arcade permet de récupérer des entités issues d'autres couches de la carte ou même des couches non présentes dans la carte. Pour cela, il y a effectivement des instructions comme FeatureSetByID, FeatureSetByName. La recherche d'entités peut se faire sur des critères attributaire ou sur la géométrie des entités.
J'ai récemment posté des exemples dans le contexte de fenêtres contextuelles dans ces 2 articles :
https://www.arcorama.fr/2023/01/conseils-astuces-arcgis-online-n158.html
https://www.arcorama.fr/2023/01/conseils-astuces-arcgis-online-n159.html
Vous pouvez aussi accéder aux entités qui sont dans une table en relation avec FeatureSetByRelationshipName.
Enregistrer un commentaire