Les styles Dictionary <\/SPAN> offrent <\/SPAN> une manière hautement personnalisable de visualiser des données riches en attributs dans vos cartes et applications. Avec une <\/SPAN><\/SPAN>look-up table<\/SPAN><\/SPAN><\/STRONG> des parties individuelles du symbole, un <\/SPAN><\/SPAN>dictionary script<\/SPAN><\/SPAN><\/STRONG> reliant les valeurs d'attribut aux clés de symbole, et un <\/SPAN><\/SPAN>configuration file<\/SPAN><\/SPAN><\/STRONG> pour un réglage précis, ces styles peuvent être utilisés avec le Dictionary Renderer pour construire des symboles complexes pilotés par plusieurs attributs dans vos données. <\/SPAN><\/SPAN><\/P>
J'ai créé un style dictionary pour la couche <\/SPAN><\/SPAN>Alternative Fuel Stations layer<\/SPAN><\/SPAN><\/A> dans Living<\/SPAN> Atlas qui fournit des informations sur chaque station en un coup d'œil. <\/SPAN><\/SPAN> <\/SPAN><\/SPAN><\/P>
<\/span><\/SPAN><\/SPAN><\/P>
Dans ce blog, je partagerai quelques-uns de mes meilleurs conseils pour créer votre propre style dictionary personnalisé tout en examinant de plus près celui que j'ai créé. Si vous souhaitez explorer le style pendant votre lecture, voici<\/SPAN> des liens<\/SPAN> vers <\/SPAN><\/SPAN>le style<\/SPAN><\/SPAN><\/A> et<\/SPAN> carte web<\/A> où une couche a déjà été configurée avec le style. <\/SPAN><\/SPAN><\/SPAN><\/SPAN><\/P>
Astuce <\/SPAN>2<\/SPAN> 93 N'oubliez pas les touches de symbole par dE9faut intE9grE9es <\/SPAN><\/SPAN><\/SPAN><\/H3>\nChaque partie individuelle du symbole a une clE9 unique dE9finie dans la table de correspondance<\/SPAN><\/STRONG>. La meilleure faE7on de crE9er et d'E9diter ces parties de symbole est dans ArcGIS Pro. Ajoutez d'abord le style E0 votre catalogue de projet, puis double-cliquez sur le style Alternative Fuel Stations pour ouvrir la table. Ici, vous trouverez toutes les parties du symbole dans le style. <\/SPAN> <\/SPAN><\/P>\nConcentrons-nous d'abord sur les symboles Fuel Type. Il y a 7 symboles de type de carburant et un symbole par dE9faut (nous y reviendrons dans un instant), chacun avec sa propre clE9 unique. C0 l'exception de la clE9 par dE9faut, ces clE9s suivent le format 93fuel-94 suivi de l'abrE9viation du type de carburant trouvE9e dans le champ Fuel_Type<\/FONT><\/STRONG>. <\/SPAN> & nbsp ; <\/SPAN> <\/P> \n
<\/span> <\/P> \n Le <\/SPAN> script dictionnaire<\/SPAN> <\/STRONG> est un script Arcade qui contient des instructions sur la fa7Con d'utiliser les valeurs d'attribut pour construire des cl7Es de symbole. Le script dictionnaire utilise $feature.Fuel_Typ<\/STRONG>e<\/FONT> pour produire la cl7E du type de carburant. C'est la premi7Ere cl7E list7Ee, donc lorsqu'une entit7Ee est 7Eevalu7Ee, la cl7E du type est la premi7Ere renvoy7Ee. <\/SPAN> & nbsp ; < \/ SPAN > < \/ P > \ n < P > < span class = \ "lia-inline-image-display-wrapper lia-image-align-inline\ " image-alt = \ "megan_r_0-1727111636987.png\ " style = \ "width : 644px ;\ " > < img src = \ "https : \/ \/ us.v-cdn.net \/6038851 \/uploads \/images \/115685i90F83E4A537971C2 \/megan_r_0-1727111636987.png\ " width = \ "644\ " height = \ "111\ " role = \ "button\ " title = \ "megan_r_0-1727111636987.png\ " alt = \ "megan_r_0-1727111636987.png\ " \/ > < \/ span > < \/ P > \ n < P > < SPAN data - contrast = \ "none\ " > Mais que se passe-t-il lorsque le champ < STRONG > Fuel_Type< \/ STRONG >< \/ FONT > est vide ou que le nom complet, \u201cElectric\u201d est utilis7Ee au lieu de \u201cELEC\u201d ? Dans ces cas hypoth7Etiques, le script renverrait \u201cfuel-\u201d et \u201cfuel-Electric\u201d, deux cl7Es qui n'existent pas dans la table de correspondance. C'est l89o que le symbole par dfaut entre en jeu !<\/SPAN>poColor. La syntaxe pour un override primitif est po:<primitive_name>|<property_name>|<value>. Pour ce style, cela signifie que lors du dessin du symbole de vérification, pour toute partie du symbole étiquetée avec status-color, la Couleur est remplacée par la valeur de poColor:

Maintenant, pour étiqueter les parties du symbole avec le nom du primitif. Cet override sera appliqué au contour des symboles vérifiés et non vérifiés dans la table de correspondance. Dans la table de correspondance, sélectionnez le symbole Verified et naviguez vers l'onglet Propriétés de calque. À partir de là, utilisez le menu déroulant des éléments pour descendre jusqu'au symbole Shape Fill, puis formatez ce symbole pour accéder aux propriétés de remplissage et de contour. Dans l'onglet structure, cliquez sur le petit symbole d'étiquette à côté du contour et spécifiez status-color comme nom du primitif. Répétez maintenant pour le symbole non vérifié.

Avec les éléments du symbole étiquetés, le style prend désormais en charge toutes les 8 combinaisons possibles de contours des statuts de vérification et des statuts opérationnels en utilisant seulement deux parties individuelles du symbole.
Astuce 4 – Profitez des propriétés de configuration
Maintenant, si vous connaissez la couche Alternative Fuel Stations Living Atlas, vous pensez peut-être : « attendez une minute - il n'y a pas de champ 'verified' dans ces données ! » Vous m'avez eu. J'utilise un sous-ensemble que j'ai modifié en ajoutant le champ 'verified' qui sera utile pour un futur blog. Ce style fonctionne avec le champ verified, mais peut-être utilisez-vous la couche Living Atlas et n'avez pas ce champ dans vos données. C'est pourquoi j'ai créé une propriété de configuration qui vous permet d'inclure ou d'ignorer le champ de vérification.
Le fichier de configuration est un objet JSON où vous pouvez définir des options de configuration supplémentaires qui modifient la façon dont les symboles sont dessinés. Ce style a plusieurs options de configuration, mais nous commencerons par la configuration use_Verified_Field. Ici, j'ai spécifié le nom de la configuration, la valeur par défaut, les valeurs possibles et une brève description. J'ai également inclus le champ Verified comme champ de symbole utilisé par le script dictionnaire. Vous pouvez vraiment voir cela prendre vie dans ArcGIS Pro :

Lorsque la configuration use_Verified_Field est activée, le script dictionnaire utilisera la valeur dans le champ verified pour retourner une clé pour une ligne pleine ou en pointillés. Lorsqu'elle est désactivée, le script dictionnaire retournera une clé pour la ligne pleine pour toutes les entités. Pour exploiterEV_Network. Si une station n'appartient pas à un réseau, ce champ est rempli avec « Non-networked. »
Tout d'abord, ajoutez un nouveau symbole pour l'étiquette dans la table de correspondance puis assurez-vous qu'il s'agit d'un symbole de texte en forme dans l'onglet des propriétés de la couche. Pour utiliser le réseau EV dans les données, remplacez la chaîne de texte par le nom du champ entre crochets, dans ce cas, [EV_Network] :

Dans le fichier de configuration, j'ai créé la propriété show_EV_Network afin que vous puissiez activer ou désactiver les étiquettes. J'ai également spécifié le champ EV_Network comme un champ de symbole. Pourquoi pas un champ de texte, demandez-vous ? Les champs de texte fonctionnent très bien lorsque vous souhaitez étiqueter toutes les entités. Si j'avais choisi d'utiliser un champ de texte, chaque entité serait étiquetée avec leur valeur EV_Network et les stations EV qui ne sont pas en réseau auraient une étiquette « Non-networked ». J'ai décidé que je voulais seulement que les stations EV en réseau soient étiquetées, donc j'ai fait cela une condition dans le script du dictionnaire :

Les champs de texte ne peuvent pas être accessibles par le script du dictionnaire, ce qui signifie qu'ils ne peuvent pas être utilisés comme variables dans la logique. Puisque le script doit utiliser la valeur EV_Network pour déterminer s'il faut retourner la clé d'étiquette, j'ai inclus le champ EV_Network comme un champ de symbole dans le fichier de configuration.
Astuce 6 – Utilisez des noms primitifs uniques <\/SPAN><\/P>\nLa substitution de décalage X déplace les parties de symbole étiquetées le long de l'axe x. À chaque itération de la boucle for, 11 points sont ajoutés au décalage X, de sorte que le symbole suivant sera 11 points à droite du symbole précédent. Dans la table de correspondance, chaque symbole de connecteur a été étiqueté avec un nom primitif qui suit la syntaxe [connector<\/FONT> type]_marker<\/STRONG> (par exemple J1772_marker, CHAdeMO_marker, etc.). <\/SPAN> <\/SPAN><\/P>\n
<\/span><\/P>\nDonc si une station a deux connecteurs, J1772 et CHAdeMO, les clés ressembleraient à ceci:<\/SPAN> <\/SPAN><\/P>\n\nClé de bannière : background-2<\/STRONG><\/FONT><\/SPAN><\/LI>\nClés de type connecteur : con-J1772 ;po:J1772_marker|OffsetX|17 ;` et `con-CHAdeMO ;po :CHAdeMO_marker|OffsetX|28 ;<\/STRONG><\/FONT><\/SPAN><\/LI>\n<\/UL>\nContrairement à notre exemple précédent avec des substitutions primitives, chaque partie du symbole doit avoir un nom primitif unique car les valeurs de décalage à appliquer à chaque symbole afin qu'ils ne se chevauchent pas. <\/SPAN> <\/SPAN><\/P>\nAstuce <\/SPAN>7<\/SPAN> 013013 Retourner les clés dans l'ordre de dessin<\/SPAN><\/SPAN> <\/SPAN><\/SPAN><\/H3>\n<SPAN class = "EOP SCXW249452525 BCX0" data-ccp-props = "{& quo t ;134233117 ": false , & quo t ;134233118 ": false , & quo t ;134245418 ": true , & quo t ;134245529 ": true , & quo t ;201341983 ": 0 , & quo t ;335551550 ": 1 , & quo t ;33...