Skip to main content

ArcGIS Arcade : êtes-vous prêt à jouer?

Êtes-vous prêt, Joueur 1, à surpasser le maître? Préparez-vous à crier victoire au moment où vous vous hisserez au premier rang grâce à votre maîtrise d’Arcade.

ArcGIS Arcade : un nouveau jeu

ArcGIS Arcade, c’est bien plus que des lumières clignotantes, des bips et des alarmes sonores. Il s’agit d’un outil utile pour améliorer la présentation et le dynamisme de vos cartes et données cartographiques.

Arcade a été mis au point par Esri dans le but qu’il soit utilisé à l’échelle du système ArcGIS. En plus d’offrir aux utilisateurs la possibilité de gérer leurs données et renseignements, il leur permet d’en manipuler les aspects de la présentation de nombreuses manières. Considérez Arcade comme les codes utilisés pour résoudre des énigmes dans les jeux vidéo rétro. Si vous êtes un codeur expérimenté, vous trouverez qu’il s’apparente à JavaScript et qu’il est léger et facile à utiliser. Si vous êtes novice, vous verrez qu’il s’agit de l’un des langages les plus faciles à apprendre. Connaître les principes de base d’Arcade vous permettra d’accéder au jeu et d’en optimiser votre utilisation.

Arcade est un langage d’expression. Il ne sert donc pas à rédiger des codes d’applications, mais plutôt à effectuer des calculs, à modifier les propriétés de variables visuelles et à prendre des décisions à la volée concernant la présentation de vos données.

À l’instar du système d’exploitation DOS destiné aux ordinateurs personnels à l’époque (MS-DOS 4 vient tout juste d’être publié sous forme libre), Arcade peut être utilisé à l’échelle du système ArcGIS pour reproduire des comportements, des actions et des apparences dans différentes cartes ou pour accomplir des choses très précises en fonction du contexte dans lequel il est utilisé.

Un diagramme hiérarchique avec le logo d’ArcGIS Arcade au sommet, et plusieurs éléments qui s’y rattachent. Le premier élément est le terrain de jeu d’ArcGIS Arcade, représenté sous la forme d’une fenêtre où deux expressions Arcade sont déjà saisies. Le second est ArcGIS Pro, représenté sous la forme d’une fenêtre avec une carte sur laquelle se superposent les deux expressions Arcade. Enfin, le troisième élément est ArcGIS Online, représenté par la même carte que dans Pro, mais avec une symbologie différente. Les deux expressions Arcade y sont également affichées. 

Avec Arcade, le contexte est crucial. Ce que j’entends par contexte, c’est l’endroit où vous utilisez l’expression Arcade. Un grand nombre de ces contextes possibles sont décrits ci-dessous. Ce qu’il faut retenir, c’est que le langage reste le même; toutefois, ce que vous pouvez en faire change en fonction de l’endroit où vous utilisez le code. Dans le jargon d’Arcade, nous appelons le contexte d’utilisation un profil.

Un diagramme hiérarchique avec les mots « Profil Arcade » au sommet. Quatre éléments découlent du niveau supérieur de la hiérarchie. Le premier, intitulé « Contexte d’exécution », est représenté par une fenêtre d’application et un appareil mobile sur un fond vert. Le deuxième, intitulé « Variables du profil », est représenté par une variable x entre parenthèses sur un fond bleu. Le troisième, intitulé « Offres de fonctions », est représenté par quatre roues d’engrenage assemblées en mosaïque sur un fond orange. Le dernier élément, intitulé « Types de données », est représenté par les lettres T, N, D et FS disposées en mosaïque sur un fond violet.

Première vie : les premiers pas

L’utilisation la plus fondamentale d’une expression Arcade est le calcul en masse de valeurs de champs. Cela s’apparente à la saisie de formules dans une feuille de calcul sans nom.

Un diagramme de processus en trois étapes. Les flèches grises indiquent le passage d’une étape à l’autre. La première étape est représentée par une feuille de calcul ou un tableau comportant trois colonnes, soit « Unités », « Superficie » et « Capacité », et quatre lignes, chacune contenant des données fictives. La colonne « Capacité » est surlignée. La deuxième étape du processus est appelée « Calcul des champs »; l’utilisateur a saisi une expression Arcade (dans ce cas, « $feature.Area / $feature.Units ») dans un champ. La troisième et dernière étape du processus illustre le résultat de l’expression Arcade dans la colonne « Capacité » de la première feuille de calcul, surlignée en vert cette fois-ci.

Arcade peut néanmoins être bien plus qu’une simple formule. En effet, il est possible de permettre à chaque expression de prendre des décisions concernant des valeurs d’attributs précises, au besoin. Et c’est là que réside le véritable pouvoir d’Arcade.

Un diagramme de processus en quatre étapes. Les flèches grises indiquent le passage d’une étape à l’autre. La première étape est représentée par le logo d’ArcGIS Arcade auquel se superpose une icône de document. La deuxième étape, intitulée « Valeurs de retour », est représentée par le mot « Nombres » sur un fond vert. La troisième étape est représentée par la mention « Calcul du champ » sur un fond bleu, à laquelle se superpose une roue d’engrenage grise dans le coin inférieur droit. La quatrième et dernière étape du processus consiste en un tableau à trois colonnes et à quatre lignes, dont les colonnes sont intitulées « Nom », « Ouverture » et « Années », cette dernière étant surlignée en vert. L’ensemble du diagramme est sous-tendu par un extrait de code Arcade qui se lit comme suit : Expression de l’auteur < if ($feature.Open != NULL) { DateDiff(Now(), $feature.Open,’years’); }”.

Il est également possible d’utiliser Arcade pour modifier les propriétés visuelles des entités d’une carte, telles que la transparence, la rotation, la couleur et la taille, de la même manière que nous le ferions avec la symbologie gérée par attribut, mais avec plus de souplesse et la possibilité de prendre des décisions.

Une carte de l’Indonésie, du Timor-Oriental et de Singapour, ainsi que des sections de la Malaisie, du sud du Brunei et de l’ouest de la Papouasie-Nouvelle-Guinée. Un certain nombre de symboles triangulaires noirs désignent divers endroits en Indonésie.

Deuxième vie : le chef

Arcade peut être utilisé pour présenter des données sur des étiquettes, effectuer des calculs à la volée, prendre des décisions fondées sur des attributs, combiner plusieurs attributs, empiler du texte, etc.

Un diagramme de processus en quatre étapes. Les flèches grises indiquent le passage d’une étape à l’autre. La première étape est représentée par le logo d’ArcGIS Arcade auquel se superpose une icône de document. La deuxième étape, étiquetée « Valeurs de retour », est représentée par la mention « Espace vert, 23,12 acres » sur un fond vert. La troisième étape est représentée par le texte « Options d’étiquetage » sur un fond bleu, auquel se superpose une roue d’engrenage grise dans le coin inférieur droit. La quatrième étape, qui représente le résultat de l’expression, consiste en une carte où l’espace vert, l’étendue d’eau et l’espace résidentiel sont étiquetés respectivement comme étant de 23,12 acres, de 6,47 acres et de 12,78 acres. L’expression Arcade qui l’accompagne se lit comme suit : Concaténer des champs < “<BOL>”+Proper($feature.LANDUSE)+”</BOL>”+TextFormatting.NewLine+round($feature.ACRE,2)+” acres”.

Arcade peut prendre des décisions à la volée et appliquer des modifications aux étiquettes.

Une image en deux parties. À gauche se trouve une expression Arcade qui commande la superficie de chaque polygone d’une carte, étiquette ces polygones avec la valeur de superficie et ajoute l’unité « km2 » (kilomètres carrés) à chacune de ces étiquettes. À droite se trouve le résultat : une carte d’une masse terrestre non identifiée entourée d’eau, différentes parties étant représentées en gris, rouge, bleu et vert avec des étiquettes telles que « 227 km^2 » et « 1 559 km^2 ».

Arcade offre la possibilité de modifier la symbologie des entités et les entrées affichées dans le volet de catalogue ou la légende, comme dans l’exemple suivant, où les étiquettes de classification sont appliquées à la légende et à la symbologie par l’expression.

Un diagramme de processus en quatre étapes. Les flèches grises indiquent le passage d’une étape à l’autre. La première étape est représentée par le logo d’ArcGIS Arcade auquel se superpose une icône de document. La deuxième étape, étiquetée « Valeurs de retour », est représentée par le mot « Texte » sur un fond vert. La troisième étape est représentée par une pile de trois rectangles, chacun représentant une couleur et une valeur : « faible » est représenté par le vert clair, « moyen », par le vert émeraude et « élevé », par l’orange. La quatrième et dernière étape est le résultat du processus, à savoir une carte étiquetée à l’aide des trois couleurs symbolisées lors de la troisième étape. L’image est accompagnée de deux expressions Arcade : la première, « Calculer la densité », se lit comme suit : “var density = $feature.BUILDINGS/$feature.ACRE”. La seconde, « Attribuer des catégories », se lit comme suit : “When(density < 1, “Low”, density >= 1 && density <10, “Medium”, density >=10, “High”, “Other”)”.

Arcade peut également être utilisé pour modifier la façon dont l’information est présentée dans une fenêtre contextuelle, par la réalisation de calculs dynamiques, la modification de la couleur des propriétés d’attribut fondées sur le texte, et plus encore. L’exemple suivant montre comment Arcade peut être utilisé pour appliquer une mise en forme conditionnelle dans une fenêtre contextuelle en fonction de la valeur d’un attribut.

Un diagramme de processus en quatre étapes. Les flèches grises indiquent le passage d’une étape à l’autre. La première étape est représentée par le logo d’ArcGIS Arcade auquel se superpose une icône de document. La deuxième étape, étiquetée « Valeurs de retour », est représentée par le mot « Texte » sur un fond vert. La troisième étape est désignée par un rectangle bleu contenant le texte « Modèle de texte de fenêtre contextuelle », auquel se superpose une petite roue d’engrenage grise. La quatrième et dernière étape consiste en une carte grise à laquelle se superpose le texte « Cette zone d’utilisation du sol est résidentielle »; le mot « résidentiel » est de couleur bleu vif. L’image est accompagnée de deux expressions Arcade : la première, « Expression de l’auteur », se lit comme suit : “if($feature.LANDUSE == “residential”){ return “0000FF”} if ($feature.LANDUSE == “open space”){ return “00FF00”}”. La seconde, « Configurer le modèle de texte de la fenêtre contextuelle », se lit comme suit : “This land use area is <span style=”color:#{expression/expr0};”>{LANDUSE}</span>.”

Troisième vie : le grand méchant

Avec Arcade, il est possible de sortir des environnements ArcGIS Pro ou Online et de travailler à la configuration de formulaires pour des applications mobiles telles qu’ArcGIS Field Maps. Ces options de configuration peuvent être simples ou complexes, intégrant un comportement conditionnel dans le formulaire et le rendant réactif à la saisie de l’utilisateur.

Ci-dessous figure une expression qui permet de remplir dynamiquement un champ de formulaire avec le nom de l’utilisateur dans l’application Field Maps.

Un diagramme de processus en quatre étapes. Les flèches grises indiquent le passage d’une étape à l’autre. La première étape est représentée par le logo d’ArcGIS Arcade auquel se superpose une icône de document. La deuxième étape, étiquetée « Valeurs de retour », est représentée par le mot « Texte » sur un fond vert. La troisième étape est désignée par un rectangle bleu contenant le texte « Calcul du formulaire », auquel se superpose une petite roue d’engrenage grise. La quatrième et dernière étape est une représentation d’un formulaire à remplir dans ArcGIS Field Maps intitulé « Dénombrement des arbres », sur lequel se trouvent les champs « Date de collecte », « Nom », « Type d’arbre », « Diamètre » et « État »; un bouton « Créer » figure au bas du formulaire. L’image est accompagnée d’une expression Arcade intitulée « Expression de l’auteur », qui se lit comme suit : “var userInfo = GetUser(portal(“https://www.arcgis.com”),””) return (userinfo[“fullName”])”.

Arcade permet également de réaliser des choses très avancées, comme travailler avec des règles d’attributs dans la table d’une classe d’entités. Les règles d’attributs permettent d’effectuer dynamiquement des calculs, d’appliquer des contraintes d’édition et de valider des données à la volée en appliquant des expressions intégrées. L’énorme avantage de cette méthode? L’expression devient essentiellement une partie de l’ensemble de données, et toute personne utilisant ces données utilisera également, de manière automatique, les règles d’attributs. Ainsi, vous êtes en mesure d’exercer une assurance et un contrôle de la qualité potentiellement rigoureux, et ce, sans surveillance.

Il existe trois types de règles d’attributs :

Calcul : L’expression est exécutée et renvoie la valeur de séquence suivante pour la nouvelle entité de couvercle d’égout.

Un diagramme de processus en quatre étapes. Les flèches grises indiquent le passage d’une étape à l’autre. La première étape est représentée par le logo d’ArcGIS Arcade auquel se superpose une icône de document. La deuxième étape, étiquetée « Valeurs de retour », est représentée par le mot « Nombre » sur un fond vert. La troisième étape est désignée par un rectangle bleu contenant le texte « Insérer une opération de modification », auquel se superpose une petite roue d’engrenage grise. La quatrième et dernière étape consiste en un tableau comportant trois colonnes intitulées « ID », « Type » et « Matériau », et trois lignes. La dernière cellule de la colonne « ID » est surlignée en vert.

Contrainte : Cette expression est exécutée et renvoie la valeur « Booléen » à la commande « Insérer une opération de modification » si le champ « Type » n’est pas rempli, ce qui fait échouer l’opération de modification.

Un diagramme de processus en quatre étapes. Les flèches grises indiquent le passage d’une étape à l’autre. La première étape est représentée par le logo d’ArcGIS Arcade auquel se superpose une icône de document. La deuxième étape, étiquetée « Valeurs de retour », est représentée par le mot « Faux » sur un fond vert. La troisième étape est désignée par un rectangle bleu contenant le texte « Insérer une opération de modification », auquel se superpose une petite roue d’engrenage grise. La quatrième et dernière étape consiste en un tableau comportant trois colonnes intitulées « ID », « Type » et « Matériau », et trois lignes. La dernière ligne du tableau, pour laquelle il manque une valeur dans la colonne « Type », a été barrée et surlignée en rouge.

Validation : Cette expression Arcade est utilisée pour définir une règle de validation pour le champ « Matériau » en fonction du champ « Hauteur ».

Un diagramme de processus en quatre étapes. Les flèches grises indiquent le passage d’une étape à l’autre. La première étape est représentée par le logo d’ArcGIS Arcade auquel se superpose une icône de document. La deuxième étape, étiquetée « Valeurs de retour », est représentée par le mot « Booléen » sur un fond vert. La troisième étape est désignée par un rectangle bleu contenant le texte « Inspecteur d’erreurs », auquel se superpose une petite roue d’engrenage grise. La quatrième et dernière étape consiste en un tableau nommé « Inspecteur d’erreurs » et comportant trois colonnes, soit « Forme », « Entité » et « Règle ». La première ligne du tableau contient une icône de forme dans la colonne « Forme », les mots « Colonne d’alimentation » dans la colonne « Entité » et le mot « Matériau » dans la colonne « Règle ». Le diagramme est accompagné de l’expression Arcade « Expression de l’auteur », qui se lit comme suit : “if ($feature.Height >= 65) { If (DomainName($feature, ‘Material’) == ‘Steel’) { return true; } else { return false; } } else { return true; }”.

Arcade est particulièrement pratique dans ArcGIS Dashboards. De nombreux éléments différents peuvent comporter des expressions intégrées qui sont appliquées dynamiquement, en temps réel, et dont les résultats peuvent affecter les données et l’information présentée dans l’élément, voire l’apparence de l’élément lui-même.

Les données utilisées dans un élément peuvent déjà être référencées par des éléments existants dans le tableau de bord ou être référencées explicitement par l’expression, comme le montre l’exemple ci-dessous :

Un diagramme de processus en quatre étapes. Les flèches grises indiquent le passage d’une étape à l’autre. La première étape est représentée par le logo d’ArcGIS Arcade auquel se superpose une icône de document. La deuxième étape, étiquetée « Valeurs de retour », est représentée par le mot « Dictionnaire » sur un fond vert. La troisième étape est désignée par un rectangle bleu contenant le texte « Élément de jauge », auquel se superpose une petite roue d’engrenage grise. La quatrième et dernière étape consiste en un diagramme en anneau indiquant 70 %, avec le titre « Taux de conversion ». Le diagramme est accompagné de l’expression Arcade « Expression de données », qui se lit comme suit : “var p = Portal(“https://www.arcgis.com/”); var rSales = FeatureSetByPortalItem(p, ‘f4758d402ac045e08321fc070039c7d4’) var convDict = { ‘fields’: [{‘name’:’cRate’, ‘type’:’esriFieldTypeDouble’}], ‘geometryType’: ‘’, ‘features’: [{‘attributes’: {‘cRate’: Round((SUM(rSales, ‘conversions’)/SUM(rSales, ‘visits’))) }}]}; return FeatureSet(convDict);”.

 Dans cet exemple, vous pouvez voir que certaines entrées de la liste sont surlignées en fonction d’un attribut.

Un diagramme de processus en quatre étapes. Les flèches grises indiquent le passage d’une étape à l’autre. La première étape est représentée par le logo d’ArcGIS Arcade auquel se superpose une icône de document. La deuxième étape, étiquetée « Valeurs de retour », est représentée par le mot « Dictionnaire » sur un fond vert. La troisième étape est désignée par un rectangle bleu contenant le texte « Élément de tableau », auquel se superpose une petite roue d’engrenage grise. La quatrième et dernière étape consiste en un tableau à trois lignes intitulé « Commentaire » dont les cellules contiennent les mentions « Nid-de-poule sur la route », « Panneau d’arrêt manquant » et « Nid-de-poule sur la rue ». Le diagramme est accompagné de l’expression Arcade « Formatage avancé », qui se lit comme suit : “var hasKeyword = Find(‘pothole’, Lower($datapoint[“Comment”])) >= 0; var color = IIF(hasKeyword, ‘red’, ‘’); return { Comment: { displayTest : $datapoint.Comment, textColor: color, }, }”.

Avoir l’avantage 

Nous entrons maintenant dans le vif du sujet! Avec les récents changements apportés au cadre Arcade, il est possible de commencer à utiliser l’injection HTML avec les expressions Arcade. Cela permet de faire référence à de nombreuses expressions simultanément, d’appliquer des comportements HTML, etc. au moment de présenter des données et des ressources aux utilisateurs, comme le montre l’illustration ci-dessous.

Une capture d’écran ayant pour titre « Affichage d’attributs personnalisés » et pour description « Utilisez la zone de texte ci-dessous pour définir, formater et mettre en page l’information que vous souhaitez afficher. » En dessous se trouve un champ de texte enrichi contenant du code HTML accompagné d’expressions Arcade.

Même la communauté Esri s’y met. Certains projets communautaires qui ont été partagés comportent des expressions pour des cas d’utilisation précis. Par exemple, sur le site de la communauté Esri, recherchez « Utiliser Arcade pour calculer la pente d’une ligne » (le mot-clé « Arcade » est important). Vous devriez être dirigé vers l’exemple suivant : Utilisation d’Arcade pour calculer la pente d’une ligne. Vous y trouverez une explication et un code que vous pourrez intégrer dans vos propres projets.

Capture d’écran de la page d’accueil de la communauté Esri, « Une communauté mondiale d’utilisateurs d’Esri où vous pouvez trouver des solutions, partager des idées et collaborer pour résoudre des problèmes avec les SIG ». Un flux des activités récentes est affiché, ainsi qu’une barre de recherche et un menu permettant de parcourir les communautés.

Où tourner à partir d’ici? ou « haut haut bas gauche droite gauche droite »

Arcade a le potentiel d’être le code de tricherie ultime. Il suffit d’apprendre à écrire le code pour faire ce que vous voulez, ce qui est particulièrement utile – tout comme les tutoriels de jeux que nous aimons tous sauter.

Je vous invite à consulter notre offre de cours ci-dessous :

·        ArcGIS Arcade : les règles du jeu! Si vous souhaitez explorer les bases de la syntaxe d’Arcade, ce cours d’une demi-journée est idéal : vous y apprendrez à écrire du code Arcade à partir de zéro.

·        Premiers pas dans ArcGIS Arcade : Si vous souhaitez plutôt suivre une formation détaillée sur les différentes applications d’Arcade, comme indiqué ci-dessus, optez pour ce nouveau cours de deux jours qui vous permettra d’optimiser votre utilisation de cette technologie.

Alors, n’abandonnez pas. De nombreuses ressources sont à votre disposition pour vous aider à atteindre de nouveaux sommets. Maintenant, armé de toutes ces informations et connaissances, suivez la formation dont vous avez besoin, exercez-vous et préparez-vous à clamer haut et fort votre victoire!

Vous souhaitez être informé des nouvelles occasions de formation à Esri Canada? Visitez le Centre de préférences en matière de communications d’Esri Canada et cochez la case « Formation » pour recevoir un résumé mensuel directement dans votre boîte de réception.

Ce billet a été écrit en anglais par André Piasta et peut être consulté ici.