Le blog francophone consacré
aux technologies Esri

Conseils & Astuces ArcGIS Online - N°95

N° 95 - Utiliser des expressions Arcade pour améliorer vos fenêtres contextuelles

Dans mon précédent Conseils & Astuces ArcGIS Online, je soulignais les avantages des expressions Arcades pour éviter de créer des champs supplémentaires dans la table attributaire pour calculer des valeurs dérivées d'autres champs de cette table. J'expliquais également que ces expressions sont intéressantes aussi par ce qu'elles sont dynamiques et contiennent ainsi des valeurs toujours actualisées. Après avoir vu comment les utiliser pour réaliser des rendus cartographiques, je vous propose dans cet article de voir comment en tirer profit dans vos fenêtres contextuelles.


Reprenons donc la carte web présentant les estimations d'évolution de la population âgée de 0 à 14 ans, entre 2015 et 2027. L'objectif ici est d'améliorer la fenêtre contextuelle (popup) en faisant ressortir, par une phrase et une couleur adaptée, l'information sur l'augmentation (en rouge), la stabilité (en gris) ou la diminution (en bleu) du nombre d'enfants sur cette période.

  1. Dans le menu contextuel de la couche, exécuter la commande "Configurer la fenêtre contextuelle".


      
  2. Après avoir spécifié le titre de la fenêtre contextuelle (ici le nom de l'Iris), cliquer sur le bouton "Ajouter" dans la zone "Expressions attributaires" pour commencer à spécifier les expressions Arcade qui seront utilisées dans la fenêtre contextuelle.


       
  3. Saisir l'expression qui permettra l'affichage de l'information lorsqu'il s'agira de présenter une  valeur en augmentation:

    var evol = ($feature.P27_0014-$feature.P15_0014)*100/$feature.P15_0014
    When (evol > 0,"augmentera de "+ Round(abs(evol),2) +"%",null)

    La première ligne correspond au calcul du taux d'évolution de la population âgée de 0-14 ans entre 2015 et 2027. La deuxième ligne permet de retourner une chaîne de caractère "augmentera de xx%" si le taux est positif, sinon de renvoyer une valeur nulle (une chaine vide).



    Une fois l'expression saisie, vous penserez à donner un nom parlant à votre expression pour la retrouver facilement par la suite. Par exemple ici: "Augmentation des 0-14 ans".

    Enfin, cliquer sur le bouton "OK" pour valider votre expression.
      
  4. Recommencer la même opération pour spécifier l'expression Arcade de la chaîne de caractère correspondant à une diminution. L'expression sera la suivante:


        
  5. Recommencer la même opération pour spécifier l'expression Arcade de la chaîne de caractère correspondant à une stabilité. L'expression sera la suivante:


     
  6. La liste des expressions attributaires doit maintenant contenir vos expressions. Il ne reste plus qu'à les utiliser dans le modèle de la fenêtre contextuelle. Pour cela, cliquer sur le bouton "Configurer'.


      
  7. Saisir le texte que vous souhaitez faire figurer dans la fenêtre contextuelle. Dans la partie de la phrase indiquant l'évolution, vous ajouterez les trois expressions avec le style de texte associé (ici en rouge, en bleu et en gris avec une police en gras).



    Pour chaque entité de la couche, seule une des trois expressions renverra une chaîne non vide.

    Cliquer sur le bouton "OK" pour valider la définition de la fenêtre contextuelle de votre couche.
     
  8. Vous pouvez maintenant tester l'affichage de la fenêtre contextuelle sur différentes entités.

En partant de ce principe, vous désormais imaginer toutes les personnalisations possibles pour les fenêtres contextuelles de vos couches grâce à la combinaison d'expressions Arcade.
 
   
Bonne route sur ArcGIS Online !
   
Pour retrouver l'ensemble des Conseils & Astuces ArcGIS Online, cliquez sur ce lien

Partager cet article:

Rejoindre la discussion

    Les commentaires à propos de cet article:

5 comments :

Anonyme a dit…

Bonjour Gaëtan,
au risque de ne pas avoir vu passer l'information, où pouvons nous trouver les ressources nécessaires pour l'utilisation du langage arcade?
Merci
Jérôme

Cédric a dit…

Bonjour Gaëtan,

Tout d'abord, merci pour ces exemples. Dans mon exemple, si la valeur de départ est égale à 0 alors AGOL me renvoi " a augmenté de NaN % " (logique).
Ainsi, pourriez-vous me mettre sur la voie pour trouver la formule indiquant que si la valeur de départ = 0 alors mettre la phrase "la valeur de départ est 0 (calcul impossible)".

Merci et bonne journée.

Gaëtan Lavenu a dit…

Bonjour Jérôme,

Les ressources relatives au langage Arcade se trouvent ici:
https://developers.arcgis.com/arcade/

Gaëtan Lavenu a dit…

Bonjour Cédric,

La chaîne "NaN" (Not a Number) peut être le résultat d'une division par 0. Pour évité de diviser par O, vous pourriez faire un test dans votre expression dans ce style:

IIf( $featureMonChamp == 0, ValeurSiVrai, ValeurSiFaux)

Cédric a dit…

Bonjour Gaëtan,

Merci !! J'ai réussi à intégrer cette condition dans ma formule.

Au passage, saurais-tu si, hormis dans le guide ArcGIS consacré à Arcade, il existe un endroit ou trouver des exemples de formules et autres cas pratiques avec des requêtes complexes ou imbriquées ?

Bon week-end.