ArcGIS Blog
  • ArcGIS Online
  • ArcGIS Pro
  • ArcGIS Enterprise
  • ArcGIS Living Atlas
  • ArcGIS Developer
  • Apps
  • ArcGIS Online
  • ArcGIS Pro
  • ArcGIS Enterprise
  • ArcGIS Living Atlas
  • ArcGIS Developer
  • Apps
Schlagwörter
3D Administration Analyse Ankündigungen ArcGIS Maps SDKs arcgis pro Außendienst Big Data Bilddaten Data & Location Services Datenaufbereitung Datenmanagement Datenschutz Deep Learning Design und Planung Dictionary Styles Digital Twin Drohnen Entscheidungshilfe Event Freigabe und Zusammenarbeit GeoAI Integration IoT Lizenzierung Lösungen Machine Learning Neuerungen Patches Realtime-Analytics Schulung Sicherheit Skripting Tipps & Tricks Tutorials Virtualisierung Visualisierung
  • ArcGIS Online
  • ArcGIS Pro
  • ArcGIS Enterprise
  • ArcGIS Living Atlas
  • ArcGIS Developer
  • Apps
News
  • ArcGIS Developer

Dictionary Symbology in ArcGIS

  • 28. März 2023
  • Alexander Erbe
ArcGIS military_dictionary_style
Total
0
Shares
0
0
0
0

Eine Anforderung in Karten ist oftmals, dass Features eines Layers mit unterschiedlichen Symbolen dargestellt werden müssen, um sie visuell voneinander unterscheiden zu können. Zum Beispiel in einem Layer mit Baum-Features. Wenn nichts anderes konfiguriert wird, haben die Bäume auf der Karte immer das gleiche Symbol. Mit der Unique Value Symbology kann der Layer allerdings so angepasst werden, dass z.B. für jeden Baum-Typ ein eigenes Symbol angezeigt wird, siehe folgendes Bild:

Unique Value SymbologyUnique Value Symbology

Das ist die empfohlene Lösung, wenn es nicht allzu viele Unterscheidungen (Permutationen) gibt. Aber was ist, wenn die Anzahl in die hunderte/tausende geht und eventuell noch komplexe Symbole erforderlich sind?

Ab diesem Punkt sollte über den Einsatz von Dictionary Symbology nachgedacht werden. Das sicherlich prominenteste Beispiel hierfür sind Military Symbology Styles mit tausenden verschiedenen und auch teilweise sehr komplexen Symbolen, die im militärischen Bereich für taktische Karten benötigt werden.

So viel zur Theorie. Um ein besseres Verständnis von Dictionary Symbology zu bekommen ist es wie bei allem sinnvoll, einmal alles in der Praxis durchzuspielen. Dazu habe ich den Mobile Style für Restaurants von dem Autor des weiter oben erwähnten ArcGIS Blogs etwas modifiziert und zur Verfügung gestellt:

  • zum Download als Mobile Style (Stylx-Datei)
  • diesen veröffentlicht als Web Style Service in ArcGIS Online
  • Und einen dazu passenden Restaurant-FeatureService zum Testen des Styles in Apps.

Unser Restaurant Mobile Style generiert attributbasiert komplexe Symbole, mit denen auf einem Blick der Name, der Restaurant-Typ (hier Pizzeria), das Rating, die Öffnungszeiten und einiges mehr ersichtlich sind, ohne dafür extra ein Popup aufrufen zu müssen.

Komponenten eines Restaurant-Symbols
Komponenten eines Restaurant-Symbols

 

Erstellen oder Modifizieren eines Mobile Styles

Mobile Styles werden in ArcGIS Pro neu erzeugt. Bestehende können aber auch als Template für neue Styles hergenommen werden, da sie in der Struktur identisch sind. Mobile Styles können natürlich auch modifiziert werden. Dazu wird ArcGIS Pro zur Erzeugung/Anpassung der Grafik- und Textkomponenten der Symbole benötigt, sowie ein SQLite DB Editor (z.B. der DB Browser for SQLite) für die Anwendungslogik und Konfigurationen des Styles.

In ArcGIS Pro muss der Restaurant Mobile Style nur per Drag & Drop in den Katalog gezogen werden, dann wird er unter Styles mit aufgelistet. Mit Rechtsklick darauf erscheint die Option zum Verwalten von Styles. Nach Doppelklick auf den Restaurant Style im Verwaltungsfenster können bestehende Komponenten angepasst und neue erstellt werden.

Nach Öffnen des Styles in einem SQLite DB Editor befinden sich die Anpassungsmöglichkeiten in der Tabelle meta. Dort unter dictionary_configuration sind die Konfigurationen, in unserem Style nur die Option zum Ein/Ausblenden des Namens des Restaurants im Symbol. Und unter dictionary_script ist die Anwendungslogik als ArcGIS Arcade Skript, in unserem Fall u.a. die Berechnung der Sterne-Komponenten auf Basis der Rating-Eingabewerte.

 

Veröffentlichen eines Web Styles Services

Mobile Styles können mit ArcGIS Pro in ArcGIS Online und ArcGIS Enterprise veröffentlicht werden. Dazu einfach in ArcGIS Pro im Katalog mit der rechten Maustaste auf den gewünschten Style klicken und Share as Web Style auswählen. Ich habe das schon vorbereitet, aber jeder kann aus dem Restaurant Mobile Style seinen eigenen Web Style Service veröffentlichen. Beim Veröffentlichen wird eine Struktur aus mehreren JSON-Dateien erzeugt, die alle Infos des Styles enthält und auf die per URL zugegriffen wird. Ein Web Style nutzt also nicht in irgendeiner Art den Mobile Style im Hintergrund.

Hierzu noch ein kleiner Tipp: Web Styles können auch auf einem eigenen Webserver gehostet werden. Dazu einfach mit dem AGOL Assistant die JSON-Dateien mit Download All herunterladen (die drei Punkte des Style Items anklicken und View Item Resources wählen) und die entpackte Struktur so wie sie ist veröffentlichen. Wahrscheinlich bedarf es für den Zgriff noch webserver-seitig ein paar Einstellungen.

 

Nutzen von Dictionary Symbology in ArcGIS Pro

In ArcGIS Pro können Layer sowohl Mobile Styles als auch Web Styles für die Symbologie nutzen. Für unsere Restaurants wären das folgende Schritte:

  1. Eine Map einfügen
  2. Den Restaurant-FeatureService im Ribbon-Item Add Data mit Data from Path als Layer einbinden
  3. Rechte Maustaste auf den Layer und Symbology wählen
  4. Im Symbology Menü unter Primary Symbology Dictionary wählen
  5. Im Dropdown Menü More die Option Add dictionary anklicken
  6. Hier kann entweder der Restaurant Mobile Style vom Dateisystem oder der Web Style (unter Portal/ArcGIS Online nach den Web Style-Namen oder ID suchen) ausgewählt werden
  7. Unter Symbology Fields und Text Fields können die passenden Feldnamen der Feature-Attribute angegeben werden, falls es andere sind als die definierten Style-Eingabewerte. In unserem Fall kann alles so bleiben wie es ist.
  8. Wenn gewünscht die Konfiguration ändern (text an/aus)
  9. Fertig

Dictionary Symbology in ArcGIS ProDictionary Symbology in ArcGIS Pro

 

Nutzen von Dictionary Symbology in ArcGIS Maps SDKs for native

In allen ArcGIS Maps SDKs for native können, wie auch in ArcGIS Pro, für Layer sowohl Mobile Styles als auch Web Styles für die Symbologie genutzt werden. Für unsere Restaurants gibt es die passenden Samples in der Doku, hier z.B. für .NET. Der Code kann komplett übernommen werden, nur die Pfade/IDs zu unseren eigenen Styles müssen eventuell ausgetauscht werden. In den Sample Viewers der jeweiligen SDKs könnt Ihr es auch live ausprobieren. Diesen Viewer gibt es in den entsprechenden App Stores (Microsoft, Apple, Google, dort nach ArcGIS Samples suchen) und für Java und Qt zum Download. Unser Beispiel heißt überall Custom dictionary style.

Dictionary Symbology in ArcGIS Maps SDKs for nativeDictionary Symbology in ArcGIS Maps SDKs for native

Die Methoden zum Überschreiben der Feature-Attribut-Feldnamen, falls sie nicht passen, oder das setzen der Konfiguration (text an/aus) sind jeweils in der Doku des entsprechenden SDKs beschrieben, hier z.B. auch wieder für .NET.

Spannend ist noch die Möglichkeit, die Symbole aus dem Style direkt ohne Karte abzufragen. Das wäre die Lösung für z.B. Symbole für „Einzel-Graphics“ in GraphicsOverlays ohne Renderer, eigene Symbol Picker zum Editieren oder zum Nutzen der Symbol-Images außerhalb des Karten-Controls in Tabellen oder auf Buttons. Wie das geht, ist auch in der Doku beschrieben, hier für .NET. Die Images zur Nutzung außerhalb des Karten-Controls können anschließendanschließend mit den Methoden Symbol.CreateSwatchAsync() und 
RuntimeImageExtensions.ToImageSourceAsync() erzeugt werden.

 

Nutzen von Dictionary Symbology in ArcGIS Maps SDKs for JavaScript

Für Dictionary Symbology in Webanwendungen können nur die Web Styles genutzt werden. Mit dem ArcGIS Maps SDKs for JavaScript kann grundsätzlich das Gleiche gemacht werden wie in den nativen SDKs. Ich habe der einfachheitshalber den JS-Code für unser Restaurant-Beispiel auf CodePen veröffentlicht.

Dictionary Symbology in ArcGIS Maps SDKs for JavaScriptDictionary Symbology in ArcGIS Maps SDKs for JavaScript

Auch mit dem ArcGIS Maps SDKs for JavaScript können Symbole des Styles zur „Einzelnutzung“ in GraphicsLayer oder zur Nutzung als Images außerhalb der Karte in anderen Controls abgefragt werden. Dazu habe ich auch ein kleines Beispiel auf CodePan bereitgestellt. Der Trick ist hier, dem DictionaryRenderer mit der Methode GetSymbolAsync() eine Graphic nur mit einer Attributtabelle zu geben. Diese gibt das entsprechende Symbol zurück, welches entweder als Symbol einer neuen Graphic in Graphicslayer genutzt werden kann oder auch als Image außerhalb der Karte mithilfe von Methoden des symbolUtils-Objektes.

Wenn Ihr Fragen oder Anregungen zu diesem Thema habt, einfach die Kommentarfunktion nutzen. Ansonsten wünschen wir viel Spaß und Erfolg beim Ausprobieren!

Dieser Artikel ist zuvor Ebenfalls auf dem GeoDev Germany Blog erschienen.

Tipp: Nutzen Sie die Esri Developer Community für den Austausch mit der ArcGIS-Dev-Commuity.
Hier die Links:

Developers
GeoDev Germany

Total
0
Shares
Share 0
Tweet 0
Share 0
Share 0
Related Topics
  • ArcGIS Maps SDKs
  • arcgis pro
  • Dictionary Styles
Alexander Erbe

Diplom (FH) Informatiker, seit 2007 bei Esri Deutschland angestellt. Als Produkt-Spezialist im Team Product Management liegt mein Schwerpunkt auf ArcGIS APIs/SDKs und Apps.

Voriger Artikel
  • ArcGIS Developer

Daten modellieren mit JSON

  • 27. März 2023
  • ArcGIS Blog Redaktion
Weiterlesen
Nächster Artikel
Kacheln mit Icons zu Administrations-Bereichen
  • ArcGIS Enterprise
  • ArcGIS Online

Tipps & Tricks #9: Administration und User Types

  • 29. März 2023
  • Linda Klapschus
Weiterlesen
Dir könnte auch gefallen
Esri Developer Summit 2023
Weiterlesen
  • ArcGIS Developer

2023 Esri Developer Summit Videos

  • ArcGIS Blog Redaktion
  • 24. April 2023
Weiterlesen
  • Apps
  • ArcGIS Developer
  • ArcGIS Enterprise
  • ArcGIS Online

ArcGIS API for JavaScript 3.x geht in den Ruhestand

  • Sonja Pritschet
  • 21. April 2023
Weiterlesen
  • ArcGIS Developer

Daten modellieren mit JSON

  • ArcGIS Blog Redaktion
  • 27. März 2023
Hexagon mit Karten und Datenlayern
Weiterlesen
  • ArcGIS Developer
  • ArcGIS Enterprise
  • ArcGIS Online
  • ArcGIS Pro

Die Open Vision von Esri für smarte Städte und Kommunen

  • Thomas Koblet
  • 28. Februar 2023
Weiterlesen
  • ArcGIS Developer

Esri European Developer Summit 2022

  • Jan Tschada
  • 28. Oktober 2022
Weiterlesen
  • ArcGIS Developer
  • ArcGIS Living Atlas
  • ArcGIS Pro

GeoAI: Vortrainierte Modelle mit der ArcGIS API for Python nachtrainieren

  • Benedict Müller
  • 10. Juni 2022
Weiterlesen
  • Apps
  • ArcGIS Developer

Nützliche Ausdrücke für Berechnungen in ArcGIS Field Maps

  • Jörg Moosmeier
  • 30. Mai 2022
Weiterlesen
  • ArcGIS Developer
  • ArcGIS Pro

Flugplanung mit Drohnen

  • Stefan Wurmser
  • 4. Mai 2022
Early Bird Tickets für die Esri Konferenz 2023
Besuchen Sie den Esri Store von Esri Deutschland und Esri Schweiz miit ArcGIS Produkten.
ArcGIS Blog
  • Autor:innen
  • Impressum
  • Datenschutz
Alles zu ArcGIS - direkt aus erster Hand von Esri Deutschland.

Gib dein Suchwort ein und drücke Enter.