Concevoir et déployer un symbole personnalisé
La couche USA Current Wildfires (Incendies actuels aux États-Unis) utilise un symbole arrondi dans lequel figure une forme de flamme simple. Pour commencer ce didacticiel, vous allez découvrir les raisons qui ont conduit à l’élaboration de ce symbole.
Prendre en compte les besoins de conception d’un symbole
L’objectif de n’importe quel symbole de carte consiste à communiquer de façon rapide, claire et intuitive. Pour concevoir un tel symbole, vous devez prendre en compte ses besoins de conception. Posez-vous des questions telles que : Quel est le but de ces données ? Qui est le public visé ?
Le symbole que vous allez utiliser dans ce didacticiel a déjà été créé à l’aide d’un logiciel graphique.
Avant de commencer la cartographie avec ce symbole, vous allez regarder une vidéo pour découvrir les raisons fonctionnelles ayant conduit à sa conception. Cet exemple vous permettra de comprendre l’objectif et les besoins d’un symbole et ainsi de concevoir et de choisir vos propres symboles de manière efficace pour vos cartes.
Portez la plus grande attention à la couleur, la clarté et la communication de vos symboles de carte pour permettre à différents utilisateurs de les lire et les comprendre facilement.
Créez vos propres symboles dans ArcGIS Online pour rendre vos cartes uniques et adaptées à vos besoins. Vous avez pris connaissance des différents éléments à prendre en compte lors de la conception d’un symbole personnalisé et comment résoudre les éventuels problèmes. Vous allez maintenant télécharger et appliquer le symbole de flamme personnalisé au jeu de données USA Current Wildfires (Incendies actuels aux États-Unis).
Cartographier des données d’incendie de flux en direct par type et par échelle.
Vous n’allez pas cartographier chaque incendie avec le même symbole. Vous allez modifier légèrement la couleur et la taille du symbole pour fournir davantage d’informations aux lecteurs de la carte. Vous leur indiquerez les localisations des incendies, leur type, les incendies récents et, dans le cas des incendies en cours, leur taille.
Vous contrôlerez également la taille de chaque symbole en cas de zoom avant et arrière sur la carte pour faire en sorte que les symboles soit dimensionnés de manière appropriée à chaque échelle.
Télécharger le symbole des incendies et enregistrer une copie de la carte des incendies
Vous allez télécharger une copie du symbole des incendies pour l’utiliser ultérieurement, puis enregistrer une version de la carte USA Current Wildfires (Incendies en cours aux États-Unis) qui a été préparée pour ce didacticiel et que vous pourrez mettre à jour.
- Téléchargez le symbole d’incendie.
Il s’agit du symbole représentant les incendies qui se sont produits aux États-Unis au cours des dernières 24 heures.
- Ouvrez la carte Web USA Current Wildfires.
La carte Web USA Current Wildfires (Incendies en cours aux États-Unis) s’affiche dans Map Viewer. La carte affiche des symboles ponctuels rouges, situés la plupart à l’ouest des États-Unis.
Vous allez maintenant enregistrer un exemplaire de cette carte.
- Connectez-vous à votre compte d’organisation ArcGIS.
Remarque :
Si vous ne disposez pas d’un compte d’organisation, consultez les options disponibles pour accéder aux logiciels.
- Dans la barre d’outils (sombre) Contents (Contenu), cliquez sur le bouton Save and open (Enregistrer et ouvrir) et choisissez Save as (Enregistrer sous).
- Dans la fenêtre Save map (Enregistrer la carte), pour Title (Titre), saisissez USA Current Wildfires (Incendies en cours aux États-Unis) et ajoutez votre nom ou vos initiales. Acceptez le texte existant pour Tags (Balises) et Summary (Résumé).
- Cliquez sur Save (Enregistrer).
Classer par type d’incendie
La couche USA Current Wildfires (Incendies en cours aux États-Unis) ne comporte pas les champs spécifiques dont vous avez besoin pour générer les classes de symboles souhaitées. Vous allez utiliser ArcGIS Arcade pour définir les catégories de symbole nécessaires. Arcade vous permet de créer des catégories personnalisées à la volée sans ajouter de champs.
Vous allez écrire une expression Arcade qui utilise trois champs issus de la table attributaire pour définir huit classes de symboles personnalisées en fonction du type, de l’âge et de la taille des incendies.
- Dans la barre d’outils Contents (Contenu), cliquez sur Layers (couches).
Il existe trois couches thématiques dans la carte, mais une seule d’entre elles est actuellement visible : Sept 1, 2021. Cette couche est une version archivée de la couche de flux en direct. Elle a été capturée le 1er septembre 2021, pendant une période particulièrement terrible d’incendies dans l’ouest, et contient la totalité des valeurs de données nécessaires à la création d’une symbologie complète.
Vous utiliserez la couche des données dynamiques ultérieurement, mais pour créer les classes de symboles, vous allez employer la couche archivée.
La couche archivée affiche tous les points d’incendie sous forme de points rouges. Vous allez attribuer une symbologie qui peut transmettre plus d’informations qu’une simple localisation.
- Dans la fenêtre Layers (Couches), cliquez sur la couche Sept 1, 2021 (1er septembre 2021) pour la sélectionner.
Remarque :
Une barre verticale bleue se trouve à gauche du nom de la couche sélectionnée.
- Sur la barre d’outils (claire) Settings (Paramètres), cliquez sur Styles.
- Dans la fenêtre Styles, pour Choose attributes (Choisir des attributs), cliquez sur Expression.
L’éditeur d’expressions Arcade s’affiche. C’est dans la fenêtre d’expression que vous allez créer l’expression.
- Dans la fenêtre Expression, supprimez les trois premières lignes, qui ne sont pas utiles. Entrez (ou copiez et collez) var Acres = et ajoutez un espace à la fin.
L’expression var représente la variable. Les variables sont des noms simplifiés d’objets qui permettent d’y faire référence plus facilement ultérieurement dans l’expression.
Vous allez maintenant spécifier la valeur de la variable.
- Cliquez sur le bouton de développement pour afficher les onglets latéraux.
Les onglets Profile variables (Variables de profil) et Functions (Fonctions) contiennent les éléments à utiliser dans l’expression. L’onglet Help (Aide) ouvre la page Web d’aide Arcade.
- Cliquez sur Profile variables (Variables de profil). Dans la fenêtre Profile variables (Variables de profil), cliquez sur la flèche en regard de $feature.
- Sous Values (Valeurs), recherchez $feature.DailyAcres et cliquez dessus.
La chaîne est ajoutée dans la fenêtre d’expression, terminant ainsi la première ligne de code.
Toute référence ultérieure à la variable Acres accèdera à la valeur attributaire Daily Acres (Acres par jour) de chaque entité de la couche (dans ce cas, il s’agit de chaque incendie).
Vous allez définir deux variables supplémentaires pour représenter deux autres champs.
- Dans la fenêtre d’expression, appuyez sur la touche Entrée pour passer à la ligne suivante de l’expression. Copiez et collez les deux lignes de code suivantes :
var Age = $feature.FireDiscoveryAge var Type = $feature.IncidentTypeCategory
Trois variables sont maintenant définies. Acres représente le nombre d’acres brûlés signalés pour l’incendie. Age correspond au nombre de jours écoulés depuis le premier signalement de l’incendie et Type définit chaque incendie comme un feu de forêt, un brûlage dirigé ou un incendie complexe.
Vous allez vérifier que les variables fonctionnent.
- Dans la fenêtre Expression, sur une nouvelle ligne, saisissez return Type.
- Cliquez sur Run (Exécuter).
La fenêtre Output (Sortie) apparaît. Le résultat indiqué est RX.
Il s’agit de la valeur issue du champ Incident Type Category du premier incendie du jeu de données. RX est le code d’un brûlage dirigé.
Les brûlages dirigés sont des feux contrôlés, souvent planifiés pour prévenir des incendies ultérieurs plus extrêmes. Vous souhaitez afficher tous les brûlages dirigés dans leur propre classe de symboles, puisqu’ils sont très différents du reste du jeu de données. Vous allez également veiller à ce que la classe de symboles ait un nom plus significatif que RX pour aider les utilisateurs à comprendre la légende de la carte.
- Dans la fenêtre d’expression, supprimez le texte return Type. Copiez et collez le code suivant :
if (Type == 'RX') { return "Prescribed Fire" }
L’instruction if renvoie la chaîne Prescribed Fire à chaque fois que le champ Incident Type Category (Catégorie de type d’incident) a pour valeur RX.
- Cliquez sur Run (Exécuter).
Le résultat renvoyé est Prescribed Fire.
- Sur la ligne suivante, copiez et collez le code ci-après :
if (Type == 'CX') { return "Incident Complex" } if (Age == 0) { return "New (Past 24-hour)" }
Ce code crée deux catégories de symbole supplémentaires. La première correspond aux incendies complexes, composés de deux feux ou plus dans la même zone et gérés par une équipe de gestion des incendies. La seconde catégorie correspond aux incendies signalés au cours des dernières 24 heures. Il n’existe pas de code Type pour les nouveaux incendies. L’expression recherche à la place les nouveaux enregistrements dans la variable Age (champ Fire Discovery Age (Âge de découverte de l’incendie)).
Les trois catégories que vous avez définies jusqu’à présent correspondent toutes à des cas d’incendies spéciaux. Vous allez maintenant placer tous les incendies restants dans les différentes classes de symboles en fonction de leur taille.
- Dans la fenêtre d’expression, sur la ligne suivante, copiez et collez le code ci-après :
When ( Acres < 1000, "0-999", )
Tout incendie non répertorié par l’une des instructions If est transmis à cette instruction When.
Cette instruction signifie : When la valeur Acres est inférieure à 1000, renvoyer la chaîne 0-999. Vous allez ajouter davantage de classes de symboles pour les incendies plus importants.
- Placez le curseur de la souris sur la ligne vide (ligne 15) et collez le code suivant :
Acres < 10000, "1,000-9,999", Acres < 50000, "10,000-49,999", Acres < 300000,"50,000-299,999",
Vous disposez maintenant de quatre classes de symboles en fonction du nombre d’acres. Vous allez ajouter une ou plusieurs classes pour classer les autres incendies qui ne correspondent à aucune autre catégorie.
- Positionnez le curseur de la souris devant la parenthèse fermante et collez "300,000 or more" (avec les guillemets). Appuyez sur la touche Entrée.
Votre expression terminée doit être la suivante :
var Acres = $feature.DailyAcres var Age = $feature.FireDiscoveryAge var Type = $feature.IncidentTypeCategory if (Type == 'RX') { return "Prescribed Fire" } if (Type == 'CX') { return "Incident Complex" } if (Age == 0) { return "New (Past 24-hour)" } When ( Acres < 1000, "0-999", Acres < 10000, "1,000-9,999", Acres < 50000, "10,000-49,999", Acres < 300000,"50,000-299,999", "300,000 or more" )
Vous avez écrit l’instruction If avant l’instruction When pour que l’expression puisse s’exécuter de manière plus efficace. L’ordre au sein de l’expression est important : l’instruction If filtre d’abord les incendies qui n’ont pas besoin d’être triés par taille ; l’instruction When doit donc uniquement traiter certains incendies et non la totalité d’entre eux. Cette expression suit les recommandations consistant à effectuer le tri plus général (dans ce cas, par type d’incendie) avant le tri plus spécifique (dans ce cas, par taille d’incendie) et permet à votre couche de répondre plus rapidement sur une carte.
- Cliquez sur Run (Exécuter).
Prescribed Fire s’affiche dans la fenêtre Output (Sortie).
Le premier enregistrement de la table attributaire est un brûlage dirigé intercepté par l’instruction If dans l’expression.
- En haut de la fenêtre Expression Arcade, supprimez le texte existant.
- Saisissez Incendies aux États-Unis (acres) et appuyez sur la touche Tabulation.
- Cliquez sur Done (Terminé).
La carte est actualisée et affiche une classe de symboles que vous avez définie dans l’expression Arcade. Vous allez personnaliser davantage la symbologie pour afficher les symboles de chaque classe de symboles en différentes couleurs.
Appliquer le symbole personnalisé
Une fiche de légende, représentant la classe de symboles que vous avez créée, est affichée sur la carte. Vous allez maintenant réorganiser les classes de symboles et appliquer un symbole personnalisé à l’une des catégories.
- Dans la fenêtre Styles, sous Pick a style (Sélectionner un style), pour la fiche Type (unique symbols) (Type (symboles uniques)), cliquez sur Style options (Options de style).
- Dans la fenêtre Style options (Options de style), en regard de 300,000 or more (300 000 ou plus), cliquez sur le bouton de réorganisation et faites-le glisser pour déplacer la couche vers le haut de la liste.
- Réorganisez les classes de symboles jusqu’à ce qu’elles soient dans l’ordre suivant :
- 300,000 or more
- 50,000-299,999
- 10,000-49,999
- 1,000-9,999
- 0-999
- New (Past 24-hour)
- Incident Complex
- Prescribed Fire
Les classes de symboles sont réorganisées.
Vous allez maintenant appliquer un symbole de flamme personnalisé à l’une des classes de symboles.
- Cliquez sur le symbole situé en regard de New (Past 24-hour).
- Dans la fenêtre Symbol style (Style de symbole), dans Current symbol (Symbole actuel), cliquez sur Basic point (Point de base).
- Pour Category (Catégorie), sous Added styles (Styles ajoutés), cliquez sur Uploaded Symbols (Symboles Chargés).
- Cliquez sur Browse (Parcourir) et sélectionnez l’image que vous avez téléchargée plus tôt dans le didacticiel.
- Cliquez sur Done (Terminé).
Le symbole de flamme rouge et jaune apparaît dans la fenêtre Symbol style (Style de symbole).
- Pour Size (Taille), saisissez 19.5 pixels.
Les nouveaux incendies possèdent désormais un symbole personnalisé.
Vous pourriez ensuite appliquer davantage de symboles personnalisés pour les sept autres classes de symboles. Vous allez pour le moment ignorer cette étape et utiliser le jeu de données dynamique dans lequel les classes de symboles ont déjà été définies.
- Dans la fenêtre Style options (Options de style), cliquez deux fois sur Done (Terminé).
- Dans la fenêtre Contents (Contenu), pour la couche Sept 1, 2021 (1er septembre 2021), cliquez sur le bouton Visibility (Visibilité) afin qu’elle ne soit plus visible.
- Pour la couche USA Current Wildfires – Current Incidents (Incendies en cours aux États-Unis – Incendies en cours), cliquez sur le bouton Visibility (Visibilité) pour la rendre visible.
Remarque :
La couche USA Current Wildfires – Current Incidents (Incendies en cours aux États-Unis – Incidents en cours) change fréquemment, la carte que vous verrez ne correspondra donc pas aux images de ce didacticiel.
- Dans la barre d’outils Contents (Contenu), cliquez sur Legend (Légende).
Les huit classes de symboles apparaissent, chacune avec un symbole différent. Les cinq premières classes utilisent toutes le même fichier image défini sur des tailles différentes.
- Dans la barre d’outils Contents (Contenu), cliquez sur Save and open (Enregistrer et ouvrir), puis sélectionnez Save (Enregistrer).
Contrôler la taille du symbole en fonction de l’échelle de la carte
Lors de la conception d’impressions cartographiques, vous ne réfléchissez qu’une seule fois à la taille du symbole. Mais dans le cas de cartes interactives, les visionneuses peuvent appliquer des zooms avant et arrière. L’échelle de la carte change constamment et un symbole qui convient à une échelle ne convient pas forcément à une autre échelle.
Vous allez maintenant écrire une seconde expression Arcade pour faire en sorte que les symboles d’incendie changent légèrement de taille lorsque la visionneuse effectue un zoom avant ou arrière sur la carte. Le changement sera subtil, mais vous aurez ainsi la garantie que les symboles aient toujours une taille adaptée à l’échelle.
- Dans la fenêtre Layers (Couches), vérifiez que la couche USA Current Wildfires – Current Incidents (Incendies en cours aux États-Unis – Incendies en cours) est sélectionnée. Dans la barre d’outils Settings (Paramètres), cliquez sur le bouton Styles.
Sous Choose attributes (Choisir des attributs), l’attribut sélectionné est USA Wildfire Incidents (Acres) (Incendies aux États-Unis (acres)). Il s’agit de la même expression que vous avez créée précédemment.
- Sous Choose attributes (Choisir des attributs), cliquez sur Expression.
Vous allez commencer par créer des variables.
- Dans la fenêtre Expression, supprimez le texte existant. Copiez et collez le code suivant :
var Acres = $feature.DailyAcres var Age = $feature.FireDiscoveryAge var Type = $feature.IncidentTypeCategory
Il s’agit des mêmes variables que dans l’expression précédente. Elles accèdent toutes à des champs de la table attributaire. Vous allez maintenant ajouter une quatrième variable qui interroge la carte au lieu de la table attributaire.
- Sur la ligne suivante, entrez var vs = et ajoutez un espace à la fin.
- Dans l’onglet Profile variables (Variables de profil), cliquez sur la flèche de $view, puis sur $view.scale.
La variable vs renvoie l’échelle actuelle de la carte au moment de l’évaluation de l’expression.
Vous allez l’utiliser afin de définir différentes tailles de symbole pour différentes échelles de carte.
- Appuyez sur la touche Entrée. Saisissez return vs. Cliquez sur Run (Exécuter).
Le résultat est un nombre élevé.
Ce nombre représente l’échelle actuelle de la carte. Il varie en fonction de l’échelle de la carte utilisée avant que vous n’ouvriez l’éditeur d’expressions Arcade. Dans l’exemple ci-dessus, l’échelle actuelle de la carte est d’environ 1:18 500 000.
- Supprimez return vs. Appuyez sur Entrée pour sauter une ligne.
- Copiez et collez le code suivant :
var ValueSize = When ( Type == 'RX', 17, )
La variable ValueSize ne fait pas référence à une valeur unique dans la table attributaire ou sur la carte, comme le font les autres variables. Au lieu de cela, cette variable contient une expression. Cette expression signifie : When le Type est égal à RX, la taille de symbole 17 points est appliquée. Vous allez ajouter un commentaire à cette expression afin d’en faciliter la compréhension.
- Placez le curseur de la souris après Type == 'RX', 17,. Entrez un espace, suivi de //Prescribed Fire (//Brûlage dirigé).
Dans Arcade, tout texte précédé de // est un commentaire. Les commentaires n’affectent pas le code.
Vous allez ajouter sept lignes supplémentaires à l’expression ValueSize pour définir les tailles des autres classes de symboles.
- Placez le curseur de la souris sur la ligne vide (ligne 8) et collez le code suivant :
Type == 'CX', 18, //Incident Complex Age == 0, 19.5, //Past 24-hour Acres < 1000, 18, //0-999 Acres < 10000, 25, //1,000-9,999 Acres < 50000, 33, //10,000-49,999 Acres < 300000, 41, //50,000-299,999
Il s’agit des mêmes classes de symboles que vous avez définies précédemment, mais vous leur attribuez maintenant une taille et non un nom. Les incendies plus importants sont affichés avec des symboles plus grands. Les nouveaux incendies sont également légèrement plus grands que les autres, à 19,5 pixels, ce qui les met plus en évidence, mais aussi parce que la couleur jaune est un peu plus difficile à voir sur les arrière-plans clairs.
Vous allez maintenant tester l’expression ValueSize.
- Placez le curseur de la souris après la parenthèse fermante et appuyez deux fois sur Entrée pour sauter une ligne.
- Saisissez return ValueSize et cliquez Run (Exécuter).
Une erreur s’affiche dans la fenêtre Output (Sortie).
Une valeur par défaut est requise dans les instructions When pour l’interception des données qui ne correspondent à aucune des classes que vous avez définies.
Vous allez en ajouter une à la fin de votre expression pour attribuer une taille de symbole à tous les incendies de plus de 300 000 acres.
- Placez le curseur de la souris avant la parenthèse fermante et saisissez 47. Placez le curseur de la souris après la parenthèse fermante et saisissez //300,000 ou plus.
- Cliquez à nouveau sur Run (Exécuter).
Cette fois-ci, un nombre est renvoyé. Il varie car vous utilisez un jeu de données dynamique qui est actualisé quotidiennement, mais ce nombre doit être 17, 18, 19.5, 25, 33, 41 ou 47.
Dans l’exemple ci-dessus, le nombre 47 est renvoyé, ce qui vous indique que l’entité testée est un incendie qui a brûlé plus de 300 000 acres.
Jusqu’à présent, votre expression fonctionne comme la symbologie actuelle : elle attribue une taille différente à chaque classe de symboles. Le code fournit les tailles de ligne de base de chaque classe de symboles. Vous allez maintenant utiliser Arcade pour faire varier chacune de ces tailles en fonction de l’échelle de la carte.
- Effacez return ValueSize puis appuyez sur Entrée. Copiez et collez le code suivant :
When( vs > 9000000, ValueSize, vs > 4000000, 1 + ValueSize, )
Autrement dit :
- Lorsque l’échelle de la carte est supérieure à 1:9 000 000, la valeur définie par l’expression ValueSize est renvoyée.
- Lorsque l’échelle de la carte est supérieure à 1:4 000 000, la valeur définie par l’expression ValueSize, plus 1 est renvoyée.
L’effet de cette expression sur votre carte est le suivant :
- Lorsqu’un zoom arrière complet est appliqué à la carte, les tailles de symbole de ligne de base sont utilisées.
- Lorsqu’un zoom avant léger est appliqué, les tailles de symbole diminuent toutes d’un point.
- Placez le curseur de la souris sur la ligne vide (ligne 20) et collez le code suivant :
vs > 2000000, 2 + ValueSize, vs > 1000000, 3 + ValueSize, vs > 500000, 4 + ValueSize, 5 + ValueSize
Cette instruction When ajoute progressivement des nombres plus élevés aux tailles de symbole de ligne de base au fur et à mesure que l’échelle augmente. Lorsqu’un zoom arrière est appliqué et vous affichez l’ensemble des États-Unis, un symbole de brûlage dirigé a pour taille 17 points. Lorsque vous zoomez sur une ville, cette taille augmente à 22 points (17 + 5) pour que ce symbole reste bien visible.
Remarque :
Une échelle plus petite concerne les cartes où la terre apparaît plus petite. Une échelle de 1:9 000 000 est inférieure à 1:500 000.
Votre expression terminée doit être la suivante :
var Acres = $feature.DailyAcres var Age = $feature.FireDiscoveryAge var Type = $feature.IncidentTypeCategory var vs = $view.scale var ValueSize = When ( Type == 'RX', 17, //Prescribed Fire Type == 'CX', 18, //Incident Complex Age == 0, 19.5, //Past 24-hour Acres < 1000, 18, //0-999 Acres < 10000, 25, //1,000-9,999 Acres < 50000, 33, //10,000-49,999 Acres < 300000, 41, //50,000-299,999 47 //300,000 or more ) When( vs > 9000000, ValueSize, vs > 4000000, 1 + ValueSize, vs > 2000000, 2 + ValueSize, vs > 1000000, 3 + ValueSize, vs > 500000, 4 + ValueSize, 5 + ValueSize )
La taille de symbole minimale est 17 et la taille maximale est 52 (47 + 5). Vous aurez besoin de ces nombres plus tard pour configurer la symbologie.
- Cliquez sur le bouton Exécuter.
Le nombre indiqué dans la fenêtre Output (Sortie) doit être compris entre 17 et 52.
- Nommez l’expression Taille de symbole. Appuyez sur la touche Tabulation.
- Cliquez sur Done (Terminé).
Dans la fenêtre Styles, sous Choose attributes (Choisir des attributs), deux expressions sont indiquées : USA Wildfire Incidents (Acres) (Incendies aux États-Unis (acres)) et Symbol Size (Taille de symbole). Ces deux valeurs seront représentées par la symbologie.
Symboles de style par types et taille
Dans la fenêtre Styles, le style Types and Size (Types et taille) est disponible. Cette option apparaît lorsqu’un champ (ou une expression) renvoie des valeurs de texte et qu’un(e) autre renvoie des valeurs numériques.
- Dans la fenêtre Styles, pour le style Types and Size (Types et taille), cliquez sur Style options (Options de style).
La fenêtre affiche deux fiches. Vous allez appliquer les propriétés de symbologie à chaque expression séparément.
- Pour Types (unique symbols) (Types (symboles uniques)), cliquez sur Style options (Options de style).
Tous les symboles qui étaient précédemment appliqués en fonction de l’expression Incendies aux États-Unis (Acres) sont toujours présents. Il n’est pas nécessaire d’apporter des modifications ici.
- Cliquez sur Annuler.
- Sur la fiche Counts and Amounts (size) (Totaux et quantités (taille)), cliquez sur Style options (Options de style).
Ce style convertit les valeurs de l’expression Taille de symbole en tailles de symbole réelles. Vous allez configurer le style de telle sorte qu’une valeur renvoyée de 17 (plus petite valeur possible) soit dessinée avec un symbole de 17 pixels et qu’une valeur renvoyée égale à 52 (plus grande valeur possible) soit dessinée avec un symbole de 52 pixels.
- Cliquez sur le nombre en haut de l’histogramme. Saisissez 52 et appuyez sur Entrée.
Remarque :
Comme vous utilisez des données en temps réel qui changent fréquemment, les nombres et les données par défaut de l’histogramme peuvent être différents de ceux qui figurent dans l’exemple d’image.
Vous allez également déplacer la poignée supérieure de l’histogramme. Toute valeur supérieure ou égale à la valeur de la poignée sera dessinée avec la taille de symbole maximale.
- Faites glisser la poignée supérieure jusqu’à ce que son étiquette indique 52.
Maintenant que vous avez correctement défini la plage de données, vous allez faire en sorte que la plage de tailles corresponde à 17 - 52.
- Sous Size (Taille), modifiez Min sur 17 pixels et Max sur 52 pixels.
- Désactivez Include in legend (Inclure dans la légende).
- Cliquez sur Done (Terminé) à trois reprises.
- Sur la carte, appliquez un zoom avant et un zoom arrière et observez les tailles de symbole.
Les symboles grossissent légèrement lorsque vous appliquez un zoom avant. Le changement est toutefois léger. Vous ne souhaitez pas attirer l’attention sur ce changement car cela pourrait distraire les lecteurs de la carte ou prêter à confusion. Mais l’augmentation subtile de la taille à de grandes échelles facilite la lecture de la carte.
L’image ci-dessous compare les tailles de symbole non modifiées aux tailles modifiées, qui sont légèrement plus grandes en cas de zoom avant.
- Enregistrez la carte.
Vous avez symbolisé les incendies actuels avec trois sortes de personnalisation. Vous avez d’abord écrit une expression Arcade afin de créer des classes de symboles personnalisées pour les différents types et tailles d’incendies. Vous avez ensuite appliqué des symboles .png personnalisés aux classes de symboles. Puis vous avez écrit une autre expression Arcade afin de légèrement modifier les tailles des symboles à différentes échelles.
Personnaliser les étiquettes, les périmètres des incendies et les fenêtres contextuelles
Votre carte comporte désormais des données d’incendie symbolisées avec des symboles ponctuels qui indiquent au lecteur de la carte le type et la taille de chaque incendie. Vous souhaitez également transmettre deux autres informations : le nom de chaque incendie et le périmètre de la zone brûlée.
Créer des étiquettes
La couche des incendies possède déjà des fenêtres contextuelles configurées sur lesquelles les utilisateurs peuvent cliquer pour en savoir davantage sur chaque incendie. Toutefois, à des échelles plus grandes, vous disposez de suffisamment d’espace pour inclure des étiquettes. Les étiquettes permettent aux utilisateurs de trouver plus rapidement les incendies qui les intéressent. Vous allez créer des étiquettes pour la couche des incendies qui correspondent à la symbologie et qui apparaissent uniquement lorsque vous appliquez un zoom avant.
- Si nécessaire, rouvrez la carte Web USA Current Wildfires (Incendies en cours aux États-Unis).
- Dans la fenêtre Layers (Couches), vérifiez que la couche USA Current Wildfires – Current Incidents (Incendies en cours aux États-Unis - Incendies en cours) est sélectionnée. Dans la barre d’outils Settings (Paramètres), cliquez sur Labels (Étiquettes).
- Dans la fenêtre Labels (Étiquettes), activez Enable labels (Activer les étiquettes).
Des étiquettes apparaissent sur la carte.
Vous allez améliorer l’apparence de ces étiquettes pour qu’elles restent lisibles à différentes échelles et sur différentes cartes.
Certaines étiquettes présentent un format mélangeant majuscules et minuscules, tandis que d’autres sont entièrement en majuscules. Vous allez utiliser Arcade afin de garantir la cohérence du format utilisé pour toutes les étiquettes.
- Dans la fenêtre Étiqueter les entités, pour Label field (Champ d’étiquette), cliquez sur le bouton d’expression.
- Dans l’éditeur d’expressions Arcade, supprimez le texte existant et saisissez ou copiez-collez var Name = Upper($feature.IncidentName).
La variable Name (Nom) renvoie la valeur IncidentName issue de la table attributaire, mais elle la modifie pour l’afficher entièrement en majuscules.
Vous allez également utiliser cette expression pour faire en sorte que les brûlages dirigés ne soient pas étiquetés. Pour ce faire, vous allez créer une variable et une instruction When.
- Sur la ligne suivante, entrez ou copiez et collez le code suivant :
var Type = $feature.IncidentTypeCategory When ( Type == 'WF', Name, Type == 'CX', Name, "" )
Cette expression indique When l’incendie est un feu de forêt ou un incendie complexe, le nom est renvoyé en lettres majuscules. Sinon, rien n’est renvoyé.
- Cliquez sur Run (Exécuter).
La valeur de Output (Sortie) varie en fonction du jeu de données actuel, mais elle doit indiquer un nom d’incendie en majuscules ou ne rien indiquer.
- Mettez à jour le nom de l’expression en indiquant Uppercase Name (Nom en majuscules). Appuyez sur la touche Tabulation, puis cliquez sur Done (Terminé).
Toutes les étiquettes de la carte sont actualisées en lettres majuscules. Les brûlages dirigés ne sont plus étiquetés.
Vous allez maintenant modifier le style des étiquettes pour faire en sorte qu’elles fonctionnent sur différentes cartes. Il se peut que les étiquettes noires actuelles soient difficiles à lire sur un fond de carte sombre. De plus, sur une carte comportant plusieurs autres couches, ces étiquettes peuvent sembler désigner d’autres entités de la carte et pas les incendies.
Pour résoudre ces problèmes, vous allez appliquer un style aux étiquettes afin de les faire correspondre aux symboles blancs et rouges.
- Dans la fenêtre Label features (Étiqueter les entités), cliquez sur Edit label style (Modifier le style des étiquettes).
- Dans la fenêtre Label style (Style des étiquettes), pour Color (Couleur), choisissez le blanc.
- Activez l’option Halo. Pour Color (Couleur), choisissez le rouge. Pour Size (Taille), définissez-la sur 2.
Les halos vous permettent de contrôler l’arrière-plan du texte de telle sorte qu’il reste lisible quel que soit l’arrière-plan de la carte. Les couleurs choisies permettent d’associer les étiquettes aux symboles des incendies. Vous allez maintenant ajuster l’alignement afin de désigner clairement l’étiquette associée à tel ou tel symbole.
- Pour Placement (Position), sélectionnez Below center (En dessous - Centre).
Les étiquettes sont désormais positionnées directement sous chaque symbole.
Certaines étiquettes masquent des symboles de la carte. Vous allez les réduire et faire en sorte qu’elles apparaissent uniquement à des échelles plus grandes, lorsqu’il y a suffisamment de place.
- Fermez la fenêtre Label style (Style d’étiquette).
- Dans la fenêtre Label features (Entités d’étiquette), pour Visible Range (Plage de visibilité), cliquez sur World (Monde) et choisissez Counties (Comtés).
- Appliquez un zoom avant et arrière sur la carte pour tester les étiquettes.
Elles apparaissent lorsque vous appliquez un zoom avant et disparaissent lorsque vous appliquez un zoom arrière.
Ces étiquettes apportent des informations rapides sans écraser les symboles des incendies.
- Enregistrez la carte.
Symboliser les périmètres des incendies
Jusqu’à présent, vous avez cartographié des données ponctuelles pour représenter des incendies. Vous allez maintenant symboliser une couche surfacique qui représente les terres brûlées. Cette couche est importante car elle permet aux lecteurs de carte de déterminer la proximité d’un incendie par rapport à leur maison ou d’un autre emplacement. Vous allez sélectionner une symbologie qui correspond aux normes habituelles en vigueur.
- Dans la fenêtre Layers (Couches), désactivez la couche USA Current Wildfires – Current Incidents (Incendies en cours aux États-Unis - Incendies en cours).
- Activez la couche USA Current Wildfires – Current Perimeters (Incendies en cours aux États-Unis – Périmètres en cours) et sélectionnez-la.
- Dans la barre d’outils Contents (Contenu), cliquez sur Legend (Légende). Zoomez sur une zone contenant de nombreux feux jusqu’à ce que les périmètres des feux apparaissent.
La fenêtre Legend (Légende) apparaît. Cette couche comporte deux classes de symboles : une pour le périmètre des incendies de forêt et une autre pour le périmètre des brûlages dirigés.
Vous allez modifier cette symbologie par défaut et appliquer les symboles standard des zones brûlées. Le respect d’une norme ou d’une convention de symbole facilite l’interprétation de la carte puisqu’elle correspond aux visuels que les lecteurs s’attendent à voir d’après leur expérience d’autres cartes.
- Dans la barre d’outils Settings (Paramètres), cliquez sur Styles. Dans la fenêtre Styles, pour Types (unique symbols) (Types (symboles uniques)), cliquez sur Style options (Options de style).
- Cliquez sur le symbole rouge pour Wildfire Daily Fire Perimeter.
- Dans la fenêtre Symbol style (Style de symbole), cliquez sur Fill color (Couleur de remplissage). Dans la fenêtre Select color (Sélectionner une couleur), saisissez #F7ADA4, puis cliquez sur Done (Terminé).
- Dans la fenêtre Symbol style (Style de symbole), pour Fill transparency (Transparence du remplissage), saisissez 50.
- Cliquez sur Outline color (Couleur du contour). Dans la fenêtre Select color (Sélectionner une couleur), saisissez #E60C0C, puis cliquez sur Done (Terminé).
- Dans la fenêtre Symbol style (Style de symbole), pour Outline transparency (Transparence du contour), saisissez 0.
- Dans la fenêtre Style options (Options de style), cliquez sur le symbole de Prescribed Fire (Brûlage dirigé). Dans la fenêtre Symbol style (Style de symbole), définissez les paramètres suivants :
- Pour Fill color (Couleur de remplissage), saisissez #E8BD71.
- Pour Fill transparency (Transparence du remplissage), faites glisser le curseur sur 50 %.
- Pour Outline color (Couleur du contour), saisissez #E5A53E.
- Pour Outline transparency (Transparence du contour), faites glisser le curseur sur 0 %.
Les styles des catégories de la couche USA Current Wildfires - Current Perimeters (Incendies en cours aux États-Unis - Périmètres en cours) sont configurés.
- Dans la fenêtre Style options (Options de style), cliquez deux fois sur Done (Terminé).
Les périmètres sont désormais symbolisés selon les normes en vigueur.
- Enregistrez la carte.
Personnaliser les fenêtres contextuelles
Les fenêtres contextuelles sont un composant important de la cartographie Web. Les fenêtres contextuelles efficaces sont personnalisées pour véhiculer les informations répondant à un objectif précis de la carte. Des fenêtres contextuelles sont déjà configurées pour les couches Current Incidents (Incendies en cours) et Current Perimeters (Périmètres en cours) ; vous allez toutefois améliorer les fenêtres contextuelles de la couche Current Perimeters (Périmètres en cours) pour qu’elles gèrent mieux les valeurs nulles.
- Sur la carte, cliquez sur l’un des polygones de périmètre d’incendie pour afficher la fenêtre contextuelle associée.
La fenêtre contextuelle indique le nombre d’acres brûlées. Il peut cependant arriver que la taille d’un incendie ne soit pas connue, comme c’est souvent le cas des nouveaux incendies. La fenêtre contextuelle n’indique alors aucun nombre pour la zone brûlée.
Vous ne souhaitez pas que cette fenêtre contextuelle puisse impliquer qu’aucune surface n’a été brûlée. Vous allez écrire une expression Arcade finale qui renvoie le nombre d’acres brûlées ou le texte Not Available en l’absence de valeur numérique.
- Fermez la fenêtre contextuelle.
- Dans la fenêtre Layers (Couches), vérifiez que la couche USA Current Wildfires – Current Perimeters (Incendies en cours aux États-Unis – Périmètres en cours) est active. Dans la barre d’outils Settings (Paramètres), cliquez sur Pop-ups (Fenêtres contextuelles).
- Dans la fenêtre Pop-ups (Fenêtres contextuelles), cliquez sur Attribute Expressions (Expressions attributaires).
- Dans la fenêtre Attribute expressions (Expressions attributaires), cliquez sur Add expression (Ajouter une expression).
- Dans la fenêtre Expression, effacez le texte existant et copiez-collez var GISAcres = ! IsEmpty($feature.GISAcres).
Cette variable vérifie que le champ GISAcres n’est pas vide. Le ! signifie qu’il ne l’est pas.
- Appuyez deux fois sur Entrée et saisissez return GISAcres. Cliquez sur Run (Exécuter).
Si le résultat est true, cela signifie que dans le cas de l’entité de test, le champ GISAcres n’est pas vide : il contient une valeur indiquant le nombre d’acres brûlées.
- Effacez return GISAcres et copiez-collez le code suivant :
If (GISAcres) Return text($feature["GISAcres"],'#,###.##')
Cette ligne indique que si la variable GISAcres est vraie, le texte du champ GISAcres est renvoyé au format numérique avec un séparateur de milliers et deux décimales. La plupart du temps, un nombre est renvoyé. Vous devez néanmoins terminer l’instruction If pour couvrir les cas où la variable GISAcres renvoie false à la place de true.
- Sur la ligne suivante, saisissez Return "Not Available".
- Cliquez sur Run (Exécuter).
Le résultat doit afficher un nombre ou le texte Not Available.
- Modifiez le nom de l’expression en Acreage.
Votre expression terminée doit être la suivante :
var GISAcres = ! IsEmpty($feature.GISAcres) If (GISAcres) Return text($feature["GISAcres"],'#,###.##') return "Not Available"
- Cliquez sur Done (Terminé).
Vous allez maintenant utiliser votre nouvelle expression dans la fenêtre contextuelle.
- Dans la fenêtre Attribute expressions (Expressions attributaires), cliquez sur la flèche de retour.
- Dans la fenêtre Pop-ups (Fenêtres contextuelles), cliquez sur Text (Texte), puis sur Edit text (Modifier le texte).
- Dans la fenêtre de modification du texte, sur la troisième ligne, supprimez {GISAcres}.
- Placez le curseur de la souris après Acres Burned: et cliquez sur le bouton Add field name (Ajouter un nom de champ).
- Cliquez sur Acreage{expression/exp1}.
L’expression est ajoutée au texte du contenu de la fenêtre contextuelle.
- Cliquez sur OK.
Sur la carte, cliquez sur certaines entités de périmètre d’incendie. La ligne Acres Burned (Acres brûlés) reste identique pour la plupart des entités.
Mais, pour les incendies sans valeur Acres Burned (Acres brûlées), la fenêtre contextuelle indique désormais clairement que le nombre d’acres brûlées n’est pas disponible.
- Fermez la fenêtre contextuelle et la fenêtre Pop-ups (Fenêtres contextuelles).
- Dans la fenêtre Layers (Couches), activez la couche USA Current Wildfires – Current Incidents (Incendies en cours aux États-Unis - Incendies en cours) et explorez la carte terminée.
- Enregistrez la carte.
Dans ce didacticiel, vous avez appris à personnaliser les symboles des cartes Web. Vous avez utilisé un graphique personnalisé en tant que symbole de carte. Vous avez utilisé Arcade pour classifier vos données et faire en sorte que les informations issues de plusieurs champs s’affichent. Vous avez contrôlé la taille des symboles pour optimiser leur apparence à n’importe quelle échelle. Vous avez appliqué un style aux étiquettes et aux polygones de périmètre des incendies, puis vous avez configuré la fenêtre contextuelle pour qu’elle affiche des informations plus précises.
La cartographie fine exige toujours un certain niveau de personnalisation car chaque jeu de données et chaque carte possède des informations légèrement différentes qui doivent être véhiculées. Les éléments à prendre en compte et les techniques de conception que vous avez appliquées à la couche USA Current Wildfires (Incendies en cours aux États-Unis) s’appliquent à de nombreuses cartes.
D’autres didacticiels cartographiques sont à votre disposition sur la page Introduction à la cartographie.
Vous trouverez d’autres didacticiels dans la bibliothèque des didacticiels.