Einen Layer mithilfe von Arcade stylen

Sie erstellen einen Arcade-Ausdruck und legen damit einen Style für einen Layer in der Karte fest. Mit dem Arcade-Ausdruck wird der jährliche Stromverbrauch pro Kopf berechnet. Zunächst wird der jährliche Stromverbrauch in jedem Land ermittelt und durch die Gesamtbevölkerung des Landes geteilt. Diese Berechnung ist wichtig für einen sinnvollen Vergleich der Stromverbrauchsdaten, da die Bevölkerungszahlen der einzelnen Länder weltweit sehr unterschiedlich sind. Danach stylen Sie den Layer "World Countries" anhand der resultierenden Werte für den Stromverbrauch pro Kopf.

Zunächst fügen Sie der Karte die Layer hinzu und wählen eine andere Grundkarte aus.

Layer hinzufügen und Grundkarte ändern

Sie erstellen eine neue Karte in Map Viewer. Danach fügen Sie der Karte die zwei Layer Global Power Plants und World Countries Electricity Consumption hinzu und ändern die Grundkarte.

Hinweis:

Map Viewer ist das Kartenerstellungswerkzeug der nächsten Generation für ArcGIS Online. Es soll die Experimentierfreudigkeit und Kreativität anregen und bietet eine verbesserte Bedienoberfläche für wichtige Kartenerstellungs-Workflows.

  1. Melden Sie sich bei Ihrem ArcGIS-Organisationskonto an.
    Hinweis:

    Wenn Sie über kein Organisationskonto verfügen, informieren Sie sich über die Optionen für den Zugriff auf die Software.

  2. Klicken Sie auf dem Menüband auf Karte.

    Schaltfläche "Karte"

    Hinweis:

    Je nach Organisations- und Benutzereinstellungen ist es möglich, dass Sie Map Viewer Classic geöffnet haben. ArcGIS Online bietet zwei Map Viewer zum Anzeigen, Verwenden und Erstellen von Karten. Weitere Informationen zu den verfügbaren und empfohlenen Map Viewern finden Sie in diesen FAQ.

    In diesem Lernprogramm wird Map Viewer verwendet.

  3. Klicken Sie bei Bedarf im Pop-up-Fenster auf In Map Viewer öffnen oder auf dem Menüband auf In Map Viewer öffnen.

    Map Viewer wird geöffnet.

    Map Viewer

    Sie fügen der Karte jetzt den ersten Layer Global Power Plants hinzu.

  4. Klicken Sie im Bereich Layer auf Hinzufügen.

    Schaltfläche "Hinzufügen"

  5. Klicken Sie auf Eigene Inhalte und wählen Sie ArcGIS Online aus.

    Option "ArcGIS Online"

  6. Geben Sie in der Suchleiste global power plants owner:Learn_ArcGIS ein.

    Der Layer Global Power Plants wird in den Suchergebnissen angezeigt.

  7. Klicken Sie für das Suchergebnis Global Power Plants auf die Schaltfläche Hinzufügen.

    Suche nach "Global Power Plants"

    Der Layer wird auf der Karte angezeigt.

    Layer "Global Power Plants"

    Der Layer enthält eine umfassende Auflistung von Kraftwerken auf der ganzen Welt, die nach ihrem jeweiligen Elektrizitätstyp symbolisiert sind. Sie fügen jetzt den zweiten Layer hinzu, den Sie in diesem Workflow verwenden.

  8. Kopieren Sie den folgenden Text und fügen Sie ihn in der Suchleiste ein: electricity consumption owner:Learn_ArcGIS.
  9. Klicken Sie für das Suchergebnis World Countries Electricity Consumption auf Hinzufügen.

    Der Layer wird auf der Karte angezeigt.

    Fügen Sie den Layer "World Countries Electricity Consumption" hinzu.

    Der Layer enthält Informationen zu Bevölkerung und Stromverbrauch in jedem Land weltweit.

    Layer "World Countries Electricity Consumption", der die Kraftwerke verdeckt

    Der Layer wird über den Layer Global Power Plants gelegt, sodass dieser teilweise verdeckt ist, deshalb ändern Sie die Layer-Reihenfolge.

  10. Klicken Sie im Bereich Layer hinzufügen auf die Schaltfläche Zurück, um zum Bereich Layer zurückzukehren.

    Schaltfläche "Zurück"

  11. Ziehen Sie im Bereich Layer den Layer World Countries Electricity Consumption unter den Layer Global Power Plants.

    Die Kraftwerk-Features werden nun über dem Layer mit den Ländern angezeigt.

    Beide Layer angezeigt

    In bestimmten Ländern der Welt liegen viele Kraftwerke dicht nebeneinander. Um die Verteilung der Kraftwerke besser darstellen zu können, aktivieren Sie die Cluster-Bildung für den Layer.

  12. Klicken Sie im Bereich Layer auf den Layer Global Power Plants, um ihn auszuwählen.
  13. Klicken Sie auf der (hellen) Werkzeugleiste Einstellungen auf Aggregation.

    Schaltfläche "Aggregation"

  14. Aktivieren Sie im Bereich Aggregation die Option Aggregation aktivieren.

    Umschaltfläche "Cluster-Bildung aktivieren"

    Cluster-Bildung ist standardmäßig aktiviert.

  15. Klicken Sie bei Cluster-Bildung auf Optionen.

    Optionen für Cluster-Bildung

    Der Bereich Cluster-Bildung wird angezeigt.

  16. Ziehen Sie im Bereich Cluster-Bildung den Schieberegler für Cluster-Radius stärker in Richtung von Wenig. Ziehen Sie für Größenbereich den rechten Schieberegler nach links.

    Optionen für Cluster-Radius und Größe

    Der Kraftwerk-Layer wird jetzt mit Clustern symbolisiert. Wenn Sie vergrößern und verkleinern, werden die Cluster neu konfiguriert, um sich an den aktuellen Maßstab anzupassen. Jeder Cluster wird mit der Anzahl der darin enthaltenen Kraftwerke beschriftet.

    Sie wählen jetzt eine andere Grundkarte aus, sodass sich die Kraftwerk-Features auf der Karte besser abheben. Da die Punkte in diesem Layer durch eher helle Symbole dargestellt werden, können Sie Kontrast schaffen, indem Sie sie auf einer dunklen und neutralen Grundkarte anzeigen.

  17. Klicken Sie auf "Zurück", und schließen Sie den Bereich Aggregation.

    Schließen Sie den Bereich "Aggregation".

  18. Klicken Sie in der (dunklen) Werkzeugleiste Inhalt auf Grundkarte. Wählen Sie im Bereich Grundkarte den Eintrag Dunkelgrauer Hintergrund aus.

    Grundkarte "Dunkelgrauer Hintergrund".

    Die Grundkarte auf der Karte wird aktualisiert.

    Grundkarte "Dunkelgrauer Hintergrund"

  19. Schließen Sie den Bereich Grundkarte.

    Sie blenden die Werkzeugleiste Inhalt jetzt aus, um mehr Platz für die Karte zu erhalten.

  20. Klicken Sie unten auf der Werkzeugleiste Inhalt auf Ausblenden.

    Werkzeugleiste "Inhalt" ausblenden

    Als Nächstes speichern Sie die Karte.

  21. Klicken Sie auf der ausgeblendeten Werkzeugleiste Inhalt auf Speichern und öffnen und anschließend auf Speichern unter.

    Option "Speichern unter" im Menü "Speichern und öffnen"

  22. Geben Sie im Fenster Karte speichern die folgenden Informationen ein:
    • Geben Sie unter Titel die Bezeichnung Global Power Generation and Consumption ein, gefolgt von Ihren Initialen.
    • Geben Sie unter Tags die Tags electricity consumption, power plants ein, und drücken Sie nach jedem Tag die EINGABETASTE.
    • Geben Sie unter Zusammenfassung den Text This map shows power plants around the world, categorized by electricity type. ein.

    Fenster "Karte speichern"

  23. Klicken Sie auf Speichern.

Daten und Editor für Arcade-Ausdrücke erkunden

Als Nächstes lernen Sie den Editor für Arcade-Ausdrücke kennen und verwenden ihn zum Stylen des Layers World Countries Electricity Consumption. Das Ziel ist es, den jährlichen Stromverbrauch in jedem Land einfach vergleichen zu können. Dazu erstellen Sie einen Arcade-Ausdruck, mit dem der jährliche Stromverbrauch pro Kopf durch den jährlichen Stromverbrauch (in Kilowattstunden) der Gesamtbevölkerung geteilt wird. Auf diese Weise ist ein sinnvoller Vergleich des Stromverbrauchs aller Länder unter Berücksichtigung der sehr unterschiedlichen Bevölkerungszahlen möglich.

Hinweis:

Diese Art der Berechnung wird als Normalisierung bezeichnet: Sie normalisieren den Stromverbrauch nach der Gesamtbevölkerung für jedes einzelne Land.

Bevor Sie mit der Erstellung des Arcade-Ausdrucks beginnen, untersuchen Sie die Attributtabelle des Layers.

  1. Klicken Sie auf der Werkzeugleiste Inhalt auf die Schaltfläche Layer.

    Schaltfläche "Layer"

  2. Klicken Sie im Bereich Layer für den Layer World Countries Electricity Consumption auf die Schaltfläche Optionen und dann auf Tabelle einblenden.

    Menüoption "Tabelle einblenden"

    Die Attributtabelle wird angezeigt.

    Hinweis:

    Sie können den Bereich Eigenschaften schließen, um mehr Platz auf dem Bildschirm zu erhalten.

    Attributtabelle

    Die Tabelle umfasst das Feld COUNTRY mit einer Auflistung der Ländernamen, das Feld Annual Electricity Consumption mit Werten zum Stromverbrauch in Kilowattstunden (kWh) und das Feld Pop, das die Gesamtbevölkerung der einzelnen Länder enthält. Diese Attribute verwenden Sie im Arcade-Ausdruck.

    Hinweis:

    Kilowattstunden sind ein häufiger Messwert für den Stromverbrauch über einen bestimmten Zeitraum. Wenn Sie sich Ihre Stromrechnung genauer ansehen, werden Sie feststellen, dass der monatliche Verbrauch vermutlich in Kilowattstunden angegeben wird.

    Sie machen sich nun mit Arcade vertraut. Es ist eine vielseitige, leichte und sichere Ausdruckssprache, die für die Verwendung in ArcGIS-Software konzipiert wurde. Ebenso wie andere Ausdruckssprachen kann Arcade mathematische Berechnungen durchführen, Text bearbeiten und logische Anweisungen auswerten. Arcade wurde speziell für die On-the-fly-Erstellung benutzerdefinierter Visualisierungen und Beschriftungen in ArcGIS entwickelt. Sie können damit vorhandene Daten bearbeiten und durch die Erstellung, Freigabe und Ausführung benutzerdefinierter Ausdrücke in ArcGIS Pro, ArcGIS Runtime, ArcGIS Online, ArcGIS Enterprise und ArcGIS API for JavaScript neue Erkenntnisse ableiten.

    In Map Viewer ist Arcade nützlich bei der Arbeit mit Daten in Pop-ups und Beschriftungen sowie beim Stylen von Layern. Sie können Arcade-Ausdrücke mit dem Editor für Arcade-Ausdrücke erstellen und anwenden. Öffnen Sie nun den Ausdrucks-Editor, um sich mit ihm vertraut zu machen. Da das Ziel darin besteht, den Layer World Countries Electricity Consumption zu stylen, öffnen Sie den Ausdrucks-Editor über den Bereich Styles für diesen Layer.

  3. Stellen Sie im Bereich Layer sicher, dass der Layer World Countries Electricity Consumption ausgewählt ist, und klicken Sie auf der Werkzeugleiste Einstellungen auf Styles.

    "Styles" auf der Werkzeugleiste "Einstellungen"

  4. Klicken Sie im Bereich Styles unter Attribute auswählen auf Ausdruck.

    Bereich "Styles"

    Es erscheint das Arcade-Ausdruckseditorfenster.

  5. Klicken Sie auf das Erweiterungssymbol, um die seitlichen Registerkarten anzuzeigen.

    Schaltfläche "Einblenden"

    Sehen Sie sich die unterschiedlichen Abschnitte des Editor-Fensters an. Im Fenster "Ausdruck" können Sie den Ausdruck erstellen. Auf den Registerkarten Profilvariablen und Funktionen finden Sie die Elemente, die Sie im Ausdruck verwenden. Auf der Registerkarte Hilfe wird die Hilfe-Webseite von Arcade geöffnet.

    Editor für Arcade-Ausdrücke

  6. Überprüfen Sie die Registerkarte Profilvariablen.

    Diese Registerkarte enthält eine Liste mit vordefinierten Variablen, einschließlich Attributfeldern und Geometrie für die Layer-Features.

  7. Klicken Sie auf die Registerkarte Funktionen.

    Auf dieser Registerkarte werden alle Arcade-Funktionen aufgelistet. Sie können auf die Informationsschaltfläche rechts neben den einzelnen Funktionen klicken, um die integrierte Hilfe zu Parametern, Syntax und Verwendung der Funktion aufzurufen.

  8. Klicken Sie auf die Registerkarte Hilfe.

    Diese Registerkarte führt zur Arcade-Dokumentation.

  9. Klicken Sie auf Ausführen.

    Schaltfläche "Test"

    Die Registerkarten Ausgabe, Konsole und Log werden angezeigt. Nachdem Sie den Ausdruck erstellt haben, können Sie die Ausgabe des Ausdrucks über die Schaltfläche Ausführen testen. Sie haben noch keinen Arcade-Code geschrieben, deshalb sind die Registerkarten Ausgabe und Protokoll noch relativ leer.

Arcade-Ausdruck für den Stromverbrauch pro Kopf erstellen

Sie beginnen jetzt mit der Erstellung des Arcade-Ausdrucks, mit dem der Layer World Countries Electricity Consumption gestylt werden soll. Zunächst definieren Sie eine Variable für den Zugriff auf das Attributfeld Annual Electricity Consumption (KwH).

  1. Löschen Sie im Fenster "Ausdruck" die ersten drei Zeilen, da diese nicht benötigt werden.
  2. Geben Sie den folgenden Text ein bzw. kopieren Sie ihn, und fügen Sie ihn ein: var annualConsumptionKwh =.

    Erste Variable deklarieren

    AnnualConsumptionKwh ist der Name der neuen Variable. Mit var <variableName> werden Variablen für eine spätere Verwendung im Ausdruck im Speicher initialisiert. Im nächsten Schritt geben Sie den Variablenwert an.

  3. Klicken Sie auf die Registerkarte Profilvariablen. Klicken Sie im Bereich Profilvariablen auf den Pfeil neben $feature.

    Profilvariablen

  4. Klicken Sie unter Werte auf die Variable $feature.Annual_Electricity_Consumption_.

    Fügen Sie das erste Attributfeld ein.

    Die Zeichenfolge wird in das Fenster "Ausdruck" kopiert, womit die erste Codezeile vollständig ist.

    Hinweis:

    Annual_Electricity_Consumption_ ist der Name des Attributs, während Annual Electricity Consumption einen Alias (eine benutzerfreundlichere Art der Bezeichnung des Attributs) darstellt.

  5. Drücken Sie im Fenster "Ausdruck" die Eingabetaste, um zur nächsten Zeile des Ausdrucks zu wechseln.

    Erste vollständige Codezeile

    Bei jedem zukünftigen Verweis auf die Variable annualConsumptionKwh wird der Attributwert Annual Electricity Consumption (KwH) für jedes Feature im Layer aufgerufen (in diesem Fall für jedes Land der Welt).

    Sie testen jetzt die erste Zeile des Ausdrucks. Eine praktische Möglichkeit zum Testen einer Variable ist es, Arcade zur Rückgabe des Werts aufzufordern. Dazu können Sie eine return-Anweisung verwenden.

  6. Geben Sie im Fenster Ausdruck den Ausdruck return annualConsumptionKwh ein, und drücken Sie die Eingabetaste.

    Die erste return-Anweisung hinzufügen

  7. Klicken Sie auf Ausführen.

    Auf der Registerkarte Ausgabe wird der Wert 157200000 angezeigt, und der Datentyp ist Zahl.

    Erstes Testergebnis

    Hinweis:

    Um das Testen von Ausdrücken zu vereinfachen, wird im Editor für Arcade-Ausdrücke das erste Feature des Layers (nach Objekt-ID geordnet) verwendet, um die Attribute mit Beispielwerten zu füllen. Das erste Feature des Layers World Countries Electricity Consumption ist Amerikanisch-Samoa mit einem jährlichen Stromverbrauch von 157.200.000 kWh und einer Bevölkerung von 46.366 Einwohnern.

    Das zurückgegebene Ergebnis für den Ausdruck ist tatsächlich der Wert des jährlichen Stromverbrauchs von Amerikanisch-Samoa: 157.200.000 (kWh). Dies ist der erwartete Wert, entsprechend funktioniert der Code wie beabsichtigt.

    Als Nächstes definieren Sie eine Variable für den Zugriff auf das Bevölkerungsfeld.

  8. Drücken Sie im Fenster "Ausdruck" am Ende der ersten Codezeile die Eingabetaste, um eine neue Zeile hinzuzufügen. Geben Sie var population = ein.
  9. Falls erforderlich, klicken Sie im Bereich Profilvariablen auf den Pfeil neben $feature. Wählen Sie unter Werte den Eintrag $feature.POP, um dem Ausdruck den Bevölkerungsattributwert hinzuzufügen.

    Jetzt testen Sie die neue Variable mit der return-Anweisung.

  10. Ersetzen Sie annualConsumptionKwh in der return-Zeile durch population.

    Variable "population" erstellen

    Hinweis:

    Im vorherigen Attribut wurde die ["field"]-Notation verwendet, da Unterstriche enthalten waren. Das POP-Feld enthält keine Unterstriche, deshalb wird in Arcade eine einfachere Schreibweise verwendet. Wenn ein Attribut über die Registerkarte Profilvariablen hinzugefügt wird, statt es einzugeben, hat dies den Vorteil, dass das richtige Format automatisch ausgewählt wird. So werden auch Tippfehler vermieden.

  11. Klicken Sie auf Ausführen.

    Die Ausgabe ist 46.366 und damit tatsächlich der Bevölkerungswert für Amerikanisch-Samoa. Der Code zeigt weiterhin das erwartete Verhalten.

    Im nächsten Schritt wird der Stromverbrauch pro Kopf berechnet. Dazu verwenden Sie die in den zwei Variablen gespeicherten Werte und teilen den jährlichen Stromverbrauch durch die Bevölkerung. Sie speichern das Ergebnis in einer dritten Variablen mit dem Namen consumptionPerCapita.

  12. Drücken Sie im Fenster "Ausdruck" die EINGABETASTE, um vor der Zeile return population eine neue Zeile hinzuzufügen. Geben Sie var consumptionPerCapita = annualConsumptionKwh / population ein.
  13. Ersetzen Sie population in der return-Zeile durch consumptionPerCapita.

    Variable "consumptionPerCapita" erstellen

  14. Klicken Sie auf Ausführen.

    Als Ausgabe wird der Wert 3.390,415390587931 angezeigt, was tatsächlich dem Ergebnis von 157.200.000 geteilt durch 46.366 entspricht.

    Um eine größere Anzahl von Fällen zu testen, können Sie der Variable population ein neues Zahlenliteral zuweisen.

  15. Drücken Sie im Fenster "Ausdruck" die Eingabetaste, um nach der Zeile var population = $feature.POP eine neue Zeile hinzuzufügen. Geben Sie population = 4000 ein.

    Eine Variable mit einem Literalwert deklarieren

  16. Klicken Sie auf Ausführen.

    Das Ergebnis wird in 3930 geändert, was tatsächlich dem Ergebnis von 157.200.000 geteilt durch 40.000 entspricht.

  17. Auf die gleiche Weise können Sie den Ausdruck mit verschiedenen Werten für den jährlichen Stromverbrauch und die Bevölkerung testen.
  18. Löschen Sie die Codezeile population = 4000.
    Hinweis:

    Die return-Anweisung dient nicht nur Testzwecken; mit ihr wird auch das endgültige Ergebnis des Ausdrucks zur Verwendung in der Karte verfügbar gemacht. So können Sie das Endergebnis nach seiner Rückgabe im Ausdruck verwenden, um damit den Layer mit den Ländern zu stylen.

    Der endgültige Ausdruck wird unten angezeigt.

    
    // Set variables
    var annualConsumptionKwh = $feature["Annual_Electricity_Consumption_"]
    var population = $feature.POP
    
    // Calculate the electricity consumption per capita
    var consumptionPerCapita = annualConsumptionKwh / population
    
    // Return the consumption per capita
    return consumptionPerCapita

    Es wurden Kommentare hinzugefügt, um die Lesbarkeit des Codes zu verbessern.

    Hinweis:

    Damit der Code zukünftig einfacher gelesen und verwaltet werden kann, bietet es sich an, Kommentare hinzuzufügen. Diese werden durch // zu Beginn der Zeile gekennzeichnet. Kommentare werden von Arcade ignoriert und sind nur für die Personen gedacht, die den Code lesen.

    Sie geben dem Ausdruck jetzt einen Namen. Es ist wichtig, dem Ausdruck einen aussagekräftigen Namen zu geben, da dieser im Grunde wie der Name eines neuen Feldes im Layer gehandhabt wird. Er wird in der Kartenlegende verwendet und dient dazu, den Ausdruck später zu identifizieren, wenn Sie auf ihn verweisen oder er bearbeitet werden muss.

  19. Klicken Sie neben Neuer Ausdruck auf die Schaltfläche Bearbeiten.

    Schaltfläche "Bearbeiten" für "Neuer Ausdruck"

    Hinweis:

    Sie können auch direkt auf den Ausdruck klicken, um den Titel zu bearbeiten.

  20. Geben Sie Electricity consumption per capita (kWh) in das Textfeld Neuer Ausdruck ein, und klicken Sie außerhalb des Textfeldes.

    Ausdrucksnamen umbenennen

  21. Klicken Sie auf Fertig.

    Der Arcade-Ausdruck wird geschlossen, und der Ausdruck wird der Liste der Attribute hinzugefügt, mit denen der Layer World Countries Electricity Consumption gestylt werden kann.

  22. Klicken Sie auf der Werkzeugleiste Inhalt auf Speichern und öffnen und anschließend auf Speichern.

    Durch das Speichern der Karte wird alles, was Sie in der Karte getan haben, gespeichert, einschließlich aller von Ihnen erstellen Ausdrücke.

Dem Layer einen Style zuweisen

Sie können den Layer World Countries Electricity Consumption jetzt mit dem gerade erstellten Arcade-Ausdruck stylen.

  1. Prüfen Sie im Bereich Styles die aktuellen Einstellungen.

    Im Bereich Styles wurde der neue Ausdruck Electricity consumption per capita (kWh) automatisch angewendet, um den Layer World Countries Electricity Consumption zu symbolisieren. Standardmäßig wird der Darstellungs-Style Anzahl und Mengen (Größe) ausgewählt.

    Standard-Style des neuen Ausdrucks

    Da der Layer nur schlecht zu erkennen ist, deaktivieren Sie den Layer Global Power Plants vorübergehend.

  2. Klicken Sie im Bereich Layer für Global Power Plants auf die Schaltfläche "Sichtbarkeit" zum Deaktivieren des Layers.

    Layer deaktivieren

    Der Stromverbrauch pro Kopf wird für die einzelnen Länder durch Punkte in verschiedenen Größen dargestellt.

    Karte mit Symbolisierung "Anzahl und Mengen (Größe)"

    Hinweis:

    Da jedes Land über unterschiedliche Werte für die Felder zum Gesamtstromverbrauch und der Bevölkerung verfügt, ist das Pro-Kopf-Ergebnis für jedes Land anders, auch wenn der Arcade-Ausdruck jeweils gleich ist. Das macht Arcade zu einem sehr leistungsstarken Werkzeug: Die Feldwerte bestimmter Features können verwendet werden, um für jedes Feld neue Werte on-the-fly zurückzugeben. Außerdem wird hier gezeigt, dass Sie bei Arcade nicht der Besitzer der ursprünglichen Daten-Layer sein müssen, um neue abgeleitete Informationen zu generieren.

    Um den Layer mit den Ländern besser gemeinsam mit dem Kraftwerk-Layer anzeigen zu können, verwenden Sie eine andere Symbolisierung.

  3. Wählen Sie im Bereich Styles den Darstellungs-Style Anzahl und Mengen (Farbe) aus.

    Neuen Darstellungs-Style auswählen

    Es wird automatisch ein intuitiver, für Farbenblinde geeigneter Farbverlauf, der sich gut für einen dunklen Hintergrund eignet, für den Style Anzahl und Mengen ausgewählt. Die Länder mit einem niedrigen Stromverbrauch pro Kopf werden dunkelblau angezeigt, diejenigen mit einem hohen Stromverbrauch pro Kopf dagegen in einem hellen Türkis-Blauton.

    Karte mit Symbolisierung "Anzahl und Mengen (Farbe)"

    Hinweis:

    Wenn der Hintergrund der Karte dunkel ist, werden die niedrigsten Werte in einer dunkleren Farbe und die höchsten Werte in einer helleren Farbe angezeigt. Auf diese Weise heben sich die höchsten Werte ab.

  4. Klicken Sie auf Fertig, um den Bereich Styles zu schließen.
  5. Aktivieren Sie im Bereich Layer den Layer Global Power Plants wieder.

    Beide Layer mit einem Style versehen

    Durch die neue Formatierung können jetzt beide Layer gleichzeitig visualisiert werden.

    Sie deaktivieren die Informations-Pop-ups für den Layer mit den Ländern, damit Benutzer die Kraftwerk-Features einfacher auswählen können.

  6. Stellen Sie im Bereich Layer sicher, dass der Layer World Countries Electricity Consumption ausgewählt ist, und klicken Sie auf der Werkzeugleiste Einstellungen auf Pop-ups.

    Pop-ups auf der Werkzeugleiste "Einstellungen"

  7. Deaktivieren Sie im Konfigurationsbereich Pop-ups die Option Pop-ups aktivieren. Schließen Sie den Bereich Pop-ups.

    Pop-ups deaktivieren

  8. Speichern Sie die Karte.

    Die Karte verfügt jetzt über einen visuell intuitiven Style, der Muster beim Stromverbrauch pro Kopf und der Energieerzeugung weltweit zeigt.

  9. Prüfen Sie den Inhalt der Karte.

    Symbolisierung der fertigen Karte

    Sie können Ihr Land auf einen Blick mit anderen Ländern vergleichen. In den hoch industrialisierten Ländern in Westeuropa und Nordamerika sowie in den wichtigsten Strom erzeugenden Golfstaaten ist der Stromverbrauch pro Kopf höher. Sie werden feststellen, dass in den Ländern mit einem höheren Stromverbrauch pro Kopf tendenziell eine höhere Konzentration von Kraftwerken vorhanden ist, was durchaus Sinn ergibt. In Entwicklungsländern gibt es weniger Kraftwerke und einen niedrigeren Stromverbrauch pro Kopf.

Sie haben eine Karte erstellt und Kraftwerke mit Cluster-Symbolisierung visualisiert. Danach haben Sie den jährlichen Stromverbrauch pro Kopf weltweit mit einem Arcade-Ausdruck visualisiert.


Ein Pop-up mit Arcade konfigurieren

Sie haben sich bereits mit Arcade vertraut gemacht und einen Arcade-Ausdruck verwendet, um den Layer "World Countries" zu symbolisieren. Als Nächstes verwenden Sie einen Arcade-Ausdruck, um die Daten vom Layer "Power Plants" in einem informativen Pop-up anzuzeigen. Dadurch können Sie die Stromerzeugung im Kraftwerk besser verstehen.

Attribute und Pop-ups von "Global Power Plants" erkunden

Zuerst erkunden Sie die Attribute Global Power Plants, und sehen sich die Pop-ups des Layers an.

Im Layer Global Power Plants gibt es ein Attribut, das Aufschluss über die geschätzte jährliche Stromerzeugung jedes Kraftwerks, ausgedrückt in Gigawattstunden (GWh), gibt. Der Name dieses Attributs lautet estimated_generation_gwh. Es ist nützlich, aber Sie möchten den Wert der Stromerzeugung für die allgemeine Öffentlichkeit etwas einfacher ausdrücken, und zwar durch die Anzahl der 60-Watt-Glühlampen, die ein Jahr lang mit dem Strom aus dem Kraftwerk zum Leuchten gebracht werden können. Für die Umrechnung verwenden Sie einen Arcade-Ausdruck und zeigen den neuen Wert in einem Satz im Pop-up des Layers an. Da nicht alle Kraftwerke einen Wert für das Attribut estimated_generation_gwh aufweisen, müssen Sie auch die fehlenden Werte im Arcade-Ausdruck berücksichtigen.

Zuerst überprüfen Sie die Attributtabelle für den Layer "Power Plants".

  1. Melden Sie sich ggf. bei ArcGIS Online an. Klicken Sie in der Werkzeugleiste auf Inhalt, und navigieren Sie zur Karte Global Power Generation and Consumption, die Sie in Modul 1 erstellt haben.

    Schaltfläche "Inhalt" auf der

  2. Klicken Sie auf das Optionsmenü neben der Webkarte Global Power Generation and Consumption, und wählen Sie In Map Viewer öffnen aus.

    Option "In Map Viewer öffnen"

  3. Klicken Sie im Bereich Layer für den Layer Global Power Plants auf die Schaltfläche Optionen und dann auf Tabelle einblenden.
  4. Überprüfen Sie die Felder in der Attributtabelle Global Power Plants. Verwenden Sie die horizontale Bildlaufleiste, um alle Felder zu sehen.

    Attributtabelle "Global Power Plants"

    Achten Sie besonders auf die folgenden Attribute des Layers:

    • Das Feld country_long gibt den Namen des Landes an, in dem sich das Kraftwerk befindet.
    • Das Feld name enthält den Namen des Kraftwerks.
    • Das Feld fuel gibt den Typ des Kraftwerks an.
    Hinweis:

    Eventuell müssen Sie die Spalte verbreitern, um den vollständigen Alias des Attributfeldes zu sehen.

  5. Führen Sie einen Bildlauf zur letzten Spalte der Tabelle – estimated_generation_gwh – durch.

    Wie bereits erwähnt, gibt dieses Feld die geschätzte jährliche Stromerzeugung für das Kraftwerk in Gigawattstunden (GWh) an. Eine Gigawattstunde entspricht einer Million Kilowattstunden.

  6. Schließen Sie die Attributtabelle Global Power Plants.

    Als Nächstes erkunden Sie die Pop-ups für den Layer.

  7. Zoomen Sie in der Karte auf einen Interessenbereich.
    Hinweis:

    Da Cluster-Bildung auf dem Layer Global Power Plants aktiviert ist, müssen Sie die Karte zoomen, bis die Cluster in einzelne Features aufgelöst werden, um das Pop-up jedes einzelnen Features zu sehen.

  8. Wählen Sie auf der Karte ein Feature Global Power Plants aus, um das Original-Pop-up für den Layer anzuzeigen.

    Standard-Pop-up

Im Pop-up werden bereits einige hilfreiche Informationen wie der Typ des Kraftwerks und seine Kapazität angezeigt. Sie werden das Pop-up jetzt um eine zusätzliche Information erweitern: die jährliche Energieproduktion des Kraftwerks.

Einheiten der Stromerzeugung mit Arcade umrechnen

Sie öffnen nun den Arcade-Ausdruckseditor, um den neuen Ausdruck zu erstellen. Da Sie beabsichtigen, das Pop-up anzupassen, öffnen Sie den Ausdruckseditor über den Konfigurationsbereich Pop-ups.

  1. Vergewissern Sie sich im Bereich Layer, dass der Layer Global Power Plants ausgewählt ist.

    "Global Power Plants" ist ausgewählt.

  2. Klicken Sie auf der (hellen) Werkzeugleiste Einstellungen auf Pop-ups. Klicken Sie im Bereich Pop-ups auf Attributausdrücke.

    Bereich "Pop-ups"

    Sie erstellen nun den neuen Arcade-Ausdruck.

  3. Klicken Sie auf Ausdruck hinzufügen, um den Arcade-Ausdruckseditor zu öffnen.

    Schaltfläche "Ausdruck hinzufügen"

    Das Editor-Fenster wird angezeigt.

    Hinweis:

    Der Layer Global Power Plants weist bereits den Ausdruck Pop-up color auf. Er wird verwendet, um die Farben für die Symbolisierung auf Basis des Brennstofftyps zu generieren.

    Geben Sie einen Namen für Ihren Ausdruck ein.

  4. Ändern Sie den Text des Ausdrucks in Estimated Annual Generation in Lightbulbs.

    Schaltfläche "Bearbeiten"

    Nun beginnen Sie mit der Erstellung Ihres Arcade-Ausdrucks. Als Erstes erstellen Sie die Variable yearLightbulbPower, die die Anzahl der Kilowattstunden an Strom angibt, die erforderlich sind, um eine 60-Watt-Glühbirne ein Jahr lang zum Leuchten zu bringen.

    Ein 60-Watt-Glühbirne verbraucht in jeder Stunde, die sie eingeschaltet ist, 60 Wattstunden bzw. 0,06 Kilowattstunden. Um herauszufinden, wie viele Kilowattstunden Strom erforderlich sind, um eine 60-Watt-Glühbirne ein Jahr lang zum Leuchten zu bringen, multiplizieren Sie 0,06 Kilowattstunden mit 24 Stunden und dann mit 365 Tagen.

  5. Löschen Sie im Fenster "Ausdruck" die drei Kommentarzeilen.
  6. Geben Sie den folgenden Text ein bzw. kopieren Sie ihn, und fügen Sie ihn ein: var yearLightbulbPower = 0.06 * 24 * 365.

    Als Nächstes fügen Sie eine Return-Anweisung zum Testen der Variablen hinzu.

  7. Drücken Sie die Eingabetaste, und geben Sie return yearLightbulbPower ein.

    Die ersten zwei Zeilen des neuen Ausdrucks

    Als Nächstes führen Sie den Code aus.

  8. Klicken Sie auf Ausführen.

    Auf der Registerkarte Ausgabe wird der Wert 525,6 angezeigt. Dieser Wert entspricht dem Ergebnis der Multiplikation von 0.06 * 24 * 365, d. h. Ihr Code funktioniert wie erwartet.

    Ergebnis der Variablen "yearLightbulbPower"

    Als Nächstes erstellen Sie eine Variable mit dem Kraftwerksnamen. Dazu verwenden Sie das Feld name vom Layer Global Power Plant.

  9. Fügen Sie im Fenster "Ausdruck" eine neue Zeile vor der return-Anweisung ein, und geben Sie folgenden Text ein: var plantName =.

    Zweite Variable

  10. Klicken Sie auf der Registerkarte Profilvariablen auf den Pfeil neben $feature.

    Pfeil zum Erweitern des Feature-Elements

    Die Attributliste für den Layer "Power Plant" wird angezeigt.

    Hinweis:

    Die Registerkarte Profilvariablen sieht etwas anders aus als bei der Konfiguration der Symbolisierung für den Layer "World Countries" im vorherigen Modul. Das liegt daran, dass Sie für Pop-ups zusätzliche Profilvariablen wie beispielsweise FeatureSets verwenden können.

  11. Führen Sie in der Liste Werte einen Bildlauf nach unten durch, und klicken Sie auf $feature.name, um die Codezeile fertigzustellen.
  12. Ersetzen Sie yearLightbulbPower in der return-Anweisung durch plantName, um die zweite Variable zu testen.

    Die fertige zweite Codezeile

  13. Klicken Sie auf Ausführen.

    In der Tabelle Ausgabe wird der Wert Kajaki Hydroelectric Power Plant Afghanistan angezeigt. Dies ist der Name des ersten Kraftwerks in der Attributtabelle, das standardmäßig als Beispiel zugewiesen wurde.

    Im nächsten Schritt erstellen Sie die Variable annualGenerationGwh, die die Menge des jährlich erzeugten Stroms angibt.

  14. Geben Sie im Fenster "Ausdruck" in einer neuen Zeile direkt vor der return-Anweisung den Text var annualGenerationGwh = ein.
  15. Klicken Sie im Bereich Profilvariablen auf $feature["estimated_generation_gwh"].
  16. Ersetzen Sie plantName in der return-Anweisung durch annualGenerationGwh, um die letzte Variable zu testen.

    Die Variable "annualGenerationGwh" erstellen

  17. Klicken Sie auf Ausführen.

    Auf der Registerkarte Ausgabe scheint es keinen Wert zu geben, stattdessen wird NULL angegeben. Da es sich hierbei nicht um das erwartete Ergebnis handelt, muss dies überprüft werden.

    Ergebnis "NULL"

    Sie prüfen, ob der aktuelle Beispielwert für dieses Attribut leer ist oder nicht. Die Arcade-Funktion zum Testen, ob eine Variable leer ist oder nicht, lautet IsEmpty. Die Funktion IsEmpty gibt "true" zurück, wenn der angegebene Wert ein NULL-Wert oder leerer Text ist (z. B. "). Gibt in allen anderen Fällen "false" zurück, u. a. bei leeren Arrays und Wörterbüchern.

  18. Ersetzen Sie im Ausdrucksfenster unter var annualGenerationGwh = $feature["estimated_generation_gwh"] den Eintrag $feature["estimated_generation_gwh"] durch IsEmpty($feature["estimated_generation_gwh"]).

    Prüfen, ob der Wert leer ist

  19. Klicken Sie auf Ausführen.

    Auf der Registerkarte Ausgabe wird der Wert als Boolescher Wert angezeigt und lautet True.

    Der Boolesche Wert für den Datensatz lautet "True"

    Dies weist darauf hin, dass "Kajaki Hydroelectric Power Plant Afghanistan" keinen Wert für das Attribut estimated_generation_gwh aufweist. Daher hat der Test zuvor ein leeres oder ungültiges Ergebnis geliefert.

    Hinweis:

    Diese Sonderfälle mit fehlenden Daten müssen Sie in Ihrem Arcade-Ausdruck berücksichtigen. Aber darauf werden wir im weiteren Verlauf des Lernprogramms noch näher eingehen. Zunächst stellen Sie den Code für den Normalfall fertig, wenn der Attributwert vorhanden ist.

    Um mit der Entwicklung Ihres Arcade-Ausdrucks fortzufahren, legen Sie manuell einen Beispielwert von 10 GWh fest.

  20. Löschen Sie im Ausdrucksfenster unter var annualGenerationGwh = IsEmpty($feature["estimated_generation_gwh"]) die Funktion IsEmpty und die öffnende und schließende Klammer.

    IsEmpty gelöscht

    Der Ausdruck hat wieder das vorherige Format.

  21. Drücken Sie die Eingabetaste, um eine neue Zeile nach der Zeile var annualGenerationGwh = $feature["estimated_generation_gwh"] hinzuzufügen. Geben Sie annualGenerationGwh = 10 ein.
  22. Klicken Sie erneut auf die Schaltfläche Ausführen.

    Auf der Registerkarte Ausgabe wird nun wie erwartet der Wert 10 und als Datentyp Zahl angezeigt.

    Das Testergebnis ist "10".

    Als Nächstes möchten Sie in Ihrem Arcade-Code basierend auf dem Wert der Variablen annualGenerationGwh die Menge des jährlich erzeugten Stroms in 60-Watt-Glühbirnen umrechnen. Der erste Schritt besteht darin, den Wert von Kilowattstunden (kWh) in Gigawattstunden (GWh) umzurechnen und das Ergebnis in eine neue Variable zu schreiben. Eine GWh entspricht einer Million kWh. Also müssen Sie die Variable annualGenerationGwh mit 1.000.000 multiplizieren, um sie in kWh umzurechnen.

  23. Geben Sie in eine neue Zeile oberhalb der return-Anweisung den Text var annualGenerationKwh = annualGenerationGwh * 1000000 ein.
  24. Ersetzen Sie annualGenerationGwh in der return-Anweisung durch annualGenerationKwh.

    Die Variable "annualGenerationKwh" erstellen

  25. Klicken Sie auf Ausführen, um den Ausdruck zu evaluieren.

    Das Ergebnis ist 10.000.000. Es entspricht dem erwarteten Ergebnis, da Ihr Beispielwert 10 ist.

    Das Testergebnis ist "10000000".

In diesem Abschnitt haben Sie mit der Erstellung Ihres zweiten Arcade-Ausdrucks begonnen. Sie haben mehrere Variablen definiert und den Wert der jährlichen Stromerzeugung von GWh in kWh umgerechnet.

Mit Arcade Berechnungen durchführen und Text formatieren

Sie führen nun die Hauptberechnungen in Ihrem Arcade-Ausdruck durch. Anschließend formatieren Sie das Ergebnis, um es als Text anzuzeigen.

Als Erstes berechnen Sie die Anzahl der 60-Watt-Glühlampen, die das Kraftwerk ein Jahr lang mit Strom versorgen könnte. Dazu dividieren Sie die jährliche Stromerzeugung in kWh (annualGenerationKwh) durch die Anzahl der kWh, die erforderlich sind, um eine 60-Watt-Glühlampe ein Jahr lang zum Leuchten zu bringen (yearLightbulbPower).

Hinweis:

Denken Sie daran, dass die Variable yearLightbulbPower das Ergebnis der Multiplikation von 0,06 * 24 * 365 enthält, was 525,6 entspricht.

  1. Geben Sie in eine neue Zeile oberhalb der return-Anweisung den Text var annualGenInLightbulbs = annualGenerationKwh / yearLightbulbPower ein.
  2. Ersetzen Sie annualGenerationKwh in der return-Anweisung durch annualGenInLightbulbs.

    Die Variable "annualGenInLightbulbs" erstellen

  3. Klicken Sie auf Ausführen, um den Ausdruck zu evaluieren.

    Als Ergebnis wird der Wert 19025.87519025875 angezeigt. Dies ist der erwartete Wert, der dem Quotienten aus 10000000 und 525,6 entspricht. Das sind ungefähr 19.025,87 Glühbirnen.

    Das Testergebnis ist "1902587".

    Allerdings ist es sinnvoller, die Anzahl der Glühbirnen als ganze Zahl und nicht als Dezimalzahl anzugeben. Hierzu verwenden Sie die Arcade-Funktion Round.

  4. Geben Sie in eine neue Zeile oberhalb der return-Anweisung den Text var annualGenInLightbulbsRounded = ein.

    Suchen Sie nun die Funktion Round auf der Registerkarte Funktionen.

  5. Klicken Sie auf die Registerkarte Funktionen. Geben Sie im Suchfeld den Wert round ein.

    Funktion "Round"

    Die Funktion Round wird angezeigt.

  6. Klicken Sie auf die Funktion Round, um sie in das Fenster "Ausdruck" einzufügen.

    Die Funktion Round wird dem Ausdruck mit einem Platzhalterparameter in Klammern hinzugefügt.

    Zum Ausdruck hinzugefügte Funktion "Runden" mit zwei Platzhalterparametern

    Sie überprüfen die Informationen zur Funktion in der In-App-Hilfe, um besser zu verstehen, welche Parameter erwartet werden.

  7. Klicken Sie auf der Registerkarte Funktionen auf den Pfeil neben der Funktion Round.

    Schaltfläche "Information"

  8. Lesen Sie die Informationen zur Funktion Round.

    Hilfe zur Funktion "Round"

    Der erste Parameter ist die zu rundende Zahl, in Ihrem Fall die Variable annualGenInLightbulbs. Der zweite Parameter gibt die Anzahl der Dezimalstellen an, auf die die Zahl gerundet wird. Sie übernehmen die Standardeinstellung 0, um den Wert 19025.87519025875 mit 0 Dezimalstellen hinter dem Punkt auf 19026 zu runden.

  9. Wenn Sie die Informationen zur Funktion Round gelesen haben, klicken Sie auf den Pfeil neben Funktionen, um die In-App-Hilfe zu beenden.

    Schaltfläche "Zur Funktionsliste zurückkehren"

  10. Ändern Sie die Zeile annualGenInLightbulbsRounded wie folgt:

    var annualGenInLightbulbsRounded = Round(annualGenInLightbulbs, 0)

    Hinweis:

    Die Parameter einer Funktion müssen immer von Klammern umschlossen und durch ein Komma voneinander getrennt werden.

  11. Ersetzen Sie annualGenInLightbulbs in der return-Anweisung durch annualGenInLightbulbsRounded.

    Die Variable "annualGenInLightbulbsRounded" erstellen

  12. Klicken Sie auf Ausführen, um den Ausdruck zu evaluieren.

    Das Ergebnis lautet wie erwartet 19026. Das sind ungefähr 19.026 Glühbirnen.

    Das Testergebnis ist "19026".

    Sie haben die Anzahl der 60-Watt-Glühbirnen, die von jedem Kraftwerk ein Jahr lang mit Strom versorgt werden könnten, erfolgreich berechnet. Aber Sie sind noch nicht fertig. Sie müssen die Zahl noch formatieren, um die Lesbarkeit zu verbessern, und einen Satz erstellen, um sie in Kontext zu setzen.

    Ebenso wie andere Programmiersprachen verfügt auch Arcade über eine Methode zum Umwandeln von Zahlen in Text. Dies ist die Funktion Text. Sie erstellen eine neue Variable, um die Anzahl der Glühbirnen in Textform anzugeben.

  13. Geben Sie in einer neuen Zeile direkt oberhalb der return-Anweisung den Text var annualGenInLightbulbsText = ein.

    Nun suchen Sie die Funktion Text auf der Registerkarte Funktionen.

  14. Suchen Sie auf der Registerkarte Funktionen nach text. Klicken Sie in der Liste Textfunktionen auf die Funktion Text, um sie in das Ausdrucksfenster einzufügen.

    Die neue Zeile sieht folgendermaßen aus:

    var annualGenInLightbulbsText = Text(value)

    Sie überprüfen die Informationen zu dieser Funktion in der In-App-Hilfe, um besser zu verstehen, welche Parameter erwartet werden.

  15. Klicken Sie auf der Registerkarte Funktionen auf den Pfeil neben der Funktion Text.

    Der erste Parameter ist die Zahl, die in Text umgewandelt werden soll – in Ihrem Fall die Variable annualGenInLightbulbsRounded. Der zweite Parameter ist eine Vorlage mit dem gewünschten Format. Die Standardvorlage "#,###" fügt beispielsweise ein Komma als Tausender-Trennzeichen hinzu. Das bedeutet, dass die Zahl 9563 als 9,563 geschrieben wird.

  16. Wenn Sie die Informationen gelesen haben, klicken Sie auf den Zurück-Pfeil, um die In-App-Hilfe zu beenden.
  17. Ändern Sie die Zeile annualGenInLightbulbsText wie folgt:

    var annualGenInLightbulbsText = Text(annualGenInLightbulbsRounded, '###,###,###,###')

    Hinweis:

    Die Vorlage "###,###,###,###'" fügt Trennzeichen für größere Zahlen hinzu als die Standardvorlage "#,###". Da Sie Werte im Millionenbereich und darüber hinaus erwarten, benötigen Sie eine längere Maske. Dabei würde beispielsweise aus der Zahl 735790325 die Zahl 735,790,325.

  18. Ersetzen Sie annualGenInLightbulbsRounded in der return-Anweisung durch annualGenInLightbulbsText.

    Die Variable "annualGenInLightbulbsText" erstellen

  19. Klicken Sie auf Ausführen, um den Ausdruck zu evaluieren.

    Die Ausgabe lautet "19,026" – wie erwartet mit einem Komma geschrieben. Der Typ ist jetzt Text.

    Das Testergebnis ist "19026 text".

    Als Nächstes erstellen Sie einen vollständigen Satz, der die als Text formatierte Zahl und eine Erklärung zu ihrer Bedeutung enthält. Dazu verwenden Sie ein Vorlagenliteral.

    Hinweis:

    Ein Vorlagenliteral ist eine Möglichkeit in Arcade, Variablenwerte und Ausdrücke in eine Zeichenfolge einzufügen. Vorlagenliterale werden von Hochkommas (`) umschlossen und verwenden die Syntax ${Variablenname}, um Variablen, Ausdrücke oder andere Werte ohne Zeichenfolgen in die Zeichenfolge einzufügen. Das Hilfethema ArcGIS Arcade Structure and Logic enthält weitere Informationen zu Vorlagenliteralen.

  20. Geben Sie im Fenster Ausdruck in einer neuen Zeile direkt über der return-Anweisung Folgendes ein:

    var popupSentence = `It's estimated that ${ plantName } generates enough electricity to power ${ annualGenInLightbulbsText } 60-watt incandescent light bulbs for a year.`

    Hinweis:

    Das Vorlagenliteral muss im Arcade-Editor in eine Zeile geschrieben werden, da ein Zeilenumbruch eine mehrzeilige Ausgabe generiert.

  21. Ersetzen Sie annualGenInLightbulbsText in der Zeile mit der return-Anweisung durch popupSentence, um die letzte Variable zu testen.

    Die Variable "popupSentence" erstellen

  22. Klicken Sie auf Ausführen.

    Auf der Registerkarte Ausgabe wird als Ergebnis der vollständige Satz angezeigt, wobei die Variablen ${plantName} und ${annualGenInLightbulbsText} durch ihre aktuellen Werte ersetzt wurden.

    Das Testergebnis ist ein Satz.

  23. Löschen Sie im Ausdrucksfenster den Code annualGenerationGwh = 10.
  24. Klicken Sie auf Fertig, um Ihren Ausdruck zu speichern, und schließen Sie den Arcade-Ausdruckseditor.
  25. Klicken Sie auf der Werkzeugleiste Inhalt auf Speichern und öffnen und dann auf Speichern, um alle Änderungen an der Karte zu speichern.

    Speichern Sie die Karte.

In diesem Abschnitt haben Sie die Anzahl der 60-Watt-Glühbirnen berechnet, die von jedem Kraftwerk ein Jahr lang mit Strom versorgt werden könnten. Sie haben die Zahl formatiert, um die Lesbarkeit zu verbessern, und einen Satz erstellt, um Kontext zur Zahl zu liefern.

Arcade-Ausdruck einem Pop-up hinzufügen

Sie fügen nun dem Pop-up Ihren gespeicherten Arcade-Ausdruck hinzu und testen das Pop-up auf dem Layer Global Power Plants auf der Karte.

  1. Klicken Sie im Bereich Attributausdrücke auf die Schaltfläche "Zurück".

    Schaltfläche "Zurück"

  2. Klicken Sie im Bereich Pop-ups auf Text und dann auf Text bearbeiten.

    Textelement

    Der Pop-up-Text-Editor wird mit dem Text geöffnet, der momentan in dem Pop-up für den Layer Global Power Plants angezeigt wird. Sie fügen das Ergebnis Ihres Arcade-Ausdrucks zum vorhandenen Text hinzu.

  3. Positionieren Sie den Cursor im Pop-up-Text-Editor in der Zeile direkt unterhalb des vorhandenen Textes. Geben Sie eine geschweifte Klammer ein: { ein.

    Es wird eine Liste der verfügbaren Felder und Arcade-Ausdrücke angezeigt.

    Geschweifte Klammer einfügen

  4. Führen Sie in der Liste einen Bildlauf nach unten durch, und wählen Sie den soeben erstellten Ausdruck Estimated Annual Generation in Lightbulbs aus.

    Wählen Sie den Ausdruck in der Dropdown-Liste aus.

    Hinweis:

    Der von Ihnen erstellte Arcade-Ausdruck wird genauso aufgelistet wie die anderen verfügbaren Attributfelder. Dank des aussagekräftigen Namens, den Sie zuvor festgelegt haben, können Sie ihn leicht erkennen.

  5. Der Ausdruck wird mit dem eindeutigen Identifikator {expression/expr1} hinzugefügt.

    Fertiger Pop-up-Text

  6. Klicken Sie auf OK.

    Die Pop-up-Vorschau wird mit dem von Ihnen konfigurierten benutzerdefinierten Arcade-Ausdruck aktualisiert.

    Vorschau des Pop-ups für den Layer "Global Power Plants"

    Sie öffnen nun ein Pop-up auf der Karte für ein bestimmtes Kraftwerk, um zu prüfen, wie Ihr Arcade-Ausdruck angezeigt wird.

  7. Klicken Sie auf der Karte in der vertikalen Werkzeugleiste auf die Schaltfläche Suchen.

    Schaltfläche "Suchen"

  8. Geben Sie im Suchfeld Kitzingen, Bayern, Germany ein, und drücken Sie die Eingabetaste.

    Die Karte zoomt auf den Ort Kitzingen.

  9. Klicken Sie auf das Kraftwerk westlich der Beschriftung Kitzingen. Die hellgrüne Symbolisierung gibt an, dass es sich um ein Solarkraftwerk handelt.

    Karte mit dem Kraftwerk von Kitzingen

    Das Pop-up wird geöffnet, und der von Ihnen erstellte Text wird angezeigt. Der Satz enthält die Anzahl der 60-Watt-Glühbirnen, die das Kraftwerk ein Jahr lang mit Strom versorgen könnte: 146.258.

    Text im Pop-up für Kitzingen

  10. Schließen Sie das Pop-up.

    Sie haben erfolgreich einen Arcade-Ausdruck erstellt und ihn im Pop-up für den Layer "Global Power Plants" angezeigt. Allerdings haben Sie sich noch nicht um den Sonderfall gekümmert, wenn für ein Kraftwerk kein Wert im Feld "estimated_generation_gwh" enthalten ist. Das werden Sie im nächsten Abschnitt tun.

Sonderfall mit fehlenden Daten testen

Sie bearbeiten nun den Fall, dass die Attributdaten fehlen. In einem solchen Fall prüfen Sie zuerst, wie das Pop-up aussieht.

  1. Klicken Sie auf die Schaltfläche Suchen. Geben Sie im Suchfeld Antananarivo, Analamanga, Madagascar ein, und drücken Sie die Eingabetaste.

    Die Karte zoomt auf den Ort Antananarivo auf Madagaskar.

  2. Klicken Sie auf das Kraftwerk nordwestlich der Beschriftung Antananarivo. Die rote Symbolisierung weist darauf hin, dass es sich um ein Ölkraftwerk handelt.

    Pop-up für Antananarivo auf der Karte

    Das Pop-up wird geöffnet, und der von Ihnen erstellte Text wird angezeigt. Die Anzahl der 60-Watt-Glühbirnen wird jedoch mit 0 angegeben.

    Text im Pop-up für einen fehlenden Wert

    Dies ist irreführend: Es bedeutet nicht, dass das Kraftwerk 0 GWh in einem Jahr erzeugt, sondern dass keine Daten zur jährlichen Stromerzeugung vorliegen. In solchen Fällen wäre es besser, einen anderen Text anzuzeigen, aus dem eindeutig hervorgeht, dass keine Daten verfügbar sind. Sie kehren zum Arcade-Ausdruck zurück, um dieses exaktere Verhalten zu implementieren.

  3. Schließen Sie das Pop-up.
  4. Vergewissern Sie sich im Bereich Layer, dass der Layer Global Power Plants ausgewählt ist.
  5. Klicken Sie auf der Werkzeugleiste Einstellungen auf Pop-ups. Klicken Sie im Konfigurationsbereich Pop-ups auf Attributausdrücke.
  6. Klicken Sie auf den Ausdruck Estimated Annual Generation in Lightbulbs, um ihn im -Editor zu öffnen.

    Editor für Arcade-Ausdrücke erneut öffnen.

  7. Klicken Sie im -Editor auf die Schaltfläche Ausführen, um sicherzustellen, dass Sie dasselbe Verhalten sehen wie im Pop-up.

    Testergebnis mit 0 Watt

    Auf der Registerkarte Ausgabe beinhaltet der Wert "Ergebnis" denselben Satz wie das Pop-up mit der irreführenden Anzahl von 0 Glühbirnen.

    Hinweis:

    Denken Sie daran, dass der Arcade-Editor standardmäßig das erste Kraftwerk im Layer, Kajaki Hydroelectric Power Plant Afghanistan, verwendet und Sie zuvor gesehen haben, dass dieses Kraftwerk keinen Wert für das Feld estimated_generation_gwh aufweist.

Code für den Umgang mit fehlenden Daten hinzufügen

Sie fügen Ihrem Ausdruck nun Code hinzu, um den Fall fehlender Daten besser handhaben zu können.

Für einen besseren Umgang mit fehlenden Daten muss der Arcade-Ausdruck testen, ob der Wert des Feldes estimated_generation_gwh leer ist oder nicht.

  • Ist der Wert leer, wird eine Meldung zurückgegeben, dass die Daten fehlen.
  • Ist der Wert nicht leer, fahren Sie mit der Erstellung der Meldung zu den 60-Watt-Glühbirnen fort.

Sie verwenden dazu erneut die Funktion IsEmpty. Sie speichern das Ergebnis dieses Tests in einer neuen Variablen, generationCheck. Sie möchten den Test so bald wie möglich durchführen. Deshalb fügen Sie den neuen Code direkt nach dem Lesen des Wertes des Feldes estimated_generation_gwh hinzu.

  1. Fügen Sie im Fenster Ausdruck hinter der mit var annualGenerationGwh beginnenden Zeile eine Zeile hinzu.

    Zeile hinter der Zeile "var annualGenerationGwh" einfügen

  2. Geben Sie var generationCheck = ein.
  3. Klicken Sie auf die Registerkarte Funktionen, und suchen Sie nach der Funktion IsEmpty.

    Nach der Funktion "IsEmpty" suchen

  4. Klicken Sie auf die Funktion IsEmpty, um sie zu Ihrer Codezeile hinzuzufügen.

    Funktion "IsEmpty" zum Code hinzufügen

  5. Klicken Sie auf der Registerkarte Funktionen auf den Pfeil neben der Funktion IsEmpty, um mehr über die Funktion zu erfahren.

    Informationsschaltfläche für "IsEmpty"

    IsEmpty nimmt einen einzigen Parameter auf (in Ihrem Fall wird das Feld estimated_generation_gwh evaluiert). Ist der Wert NULL oder eine leere Zeichenfolge, gibt die Funktion true zurück, andernfalls gibt sie false zurück. Sie speichern die Ausgabe von IsEmpty in einer Variablen und evaluieren dann die Variable, um zu prüfen, ob sie "true" oder "false" ist.

  6. Wenn Sie die Informationen zu IsEmpty gelesen haben, klicken Sie auf den Zurück-Pfeil neben Funktionen.
  7. Ersetzen Sie im Fenster Ausdruck den Platzhaltertext value durch annualGenerationGwh. Die gesamte Zeile sollte folgendermaßen aussehen:

    var generationCheck = isEmpty(annualGenerationGwh)

    Als Nächstes fügen Sie Code hinzu, um festzulegen, was je nach Wert der Variablen generationCheck geschehen soll. Dazu verwenden Sie eine if-Anweisung (auch Bedingungsanweisung genannt). Die Syntax für diese Anweisung lautet wie folgt: if (Bedingung trifft zu) {Vorgang ausführen}. Weitere Informationen zu Bedingungsanweisungen finden Sie unter ArcGIS Arcade Structure and Logic.

  8. Fügen Sie hinter der mit var generationCheck beginnenden Zeile eine Zeile hinzu.
  9. Geben Sie in die neue Zeile if (generationCheck) { ein. Drücken Sie die Eingabetaste.

    If-Anweisung hinzufügen

    Hinweis:

    Da die Variable generationCheck den Wert true oder false enthält, fragen Sie Arcade im Wesentlichen nach if(true) oder if(false). Die Anweisungen in Klammern werden nur ausgeführt, wenn generationCheck den Wert true aufweist.

    Sie schreiben nun den Code, um die gewünschte Aktion auszuführen, wenn estimated_generation_gwh leer ist. Zwischen den Klammern erstellen Sie die anzuzeigende Meldung. Wie zuvor verwenden Sie auch jetzt wieder ein Vorlagenliteral und speichern es in einer neuen Variablen.

  10. Geben oder fügen Sie zwischen den Klammern den folgenden Text ein (auf einer Zeile):

    var noGenerationTL = `${ plantName } does not have estimated annual generation data. Unable to return electricity generation in 60w incandescent light bulbs.`

    Der Ausdruck verwendet die Variable plantName, die Sie bereits in Ihrem Code festgelegt haben.

    Zum Schluss fügen Sie eine return-Anweisung hinzu, um die Meldung zurückzugeben.

  11. Fügen Sie oberhalb der schließenden Klammer eine neue Zeile ein, und geben Sie return noGenerationTL ein.

    Eine Return-Anweisung in die If-Bedingung einfügen

  12. Klicken Sie auf Ausführen, um Ihr Skript zu testen.

    Neue Meldung zu fehlenden Daten ausführen

    Dieses Mal enthält die Meldung keine irreführenden Angaben über 0 Glühbirnen. Stattdessen weist sie darauf hin, dass Daten für das Kraftwerk "Kajaki Hydroelectric Power Plant Afghanistan" fehlen.

    Hinweis:

    Es ist wichtig zu verstehen, dass Arcade bei der Ausführung einer return-Anweisung davon ausgeht, dass damit die Code-Ausführung beendet sei, sodass jeglicher Code unter der Anweisung ignoriert wird. Dies ist das erwünschte Verhalten, da der übrige Code nur auf Features zutrifft, die Daten für die geschätzte jährliche Stromerzeugung aufweisen.

Weitere Tests mit einer Console-Anweisung durchführen

Als letzte Aufgabe im Arcade-Ausdruckseditor lernen Sie nun eine andere Methode zum Testen Ihres Arcade-Ausdrucks kennen. Bislang haben Sie return-Anweisungen verwendet, um die Ausgabe Ihres Skripts anzuzeigen. Es gibt jedoch Fälle, in denen Sie den Wert der Variablen im Code auch visualisieren möchten. Hierzu können Sie console-Anweisungen verwenden, die den Wert der gewünschten Variablen auf die Registerkarte Konsole schreiben. Nehmen wir als Beispiel den Wert der Variablen generationCheck.

  1. Fügen Sie im Fenster Ausdruck hinter der mit var generationCheck beginnenden Zeile eine neue Zeile hinzu.
  2. Geben Sie in die neue Zeile console("generationCheck value:", generationCheck) ein.

    Eine Console-Anweisung hinzufügen

    Der erste Parameter liefert eine Erklärung zu dem Objekt, das Sie in der Konsole protokollieren. Der zweite Parameter ist das eigentliche Objekt.

  3. Klicken Sie auf Ausführen.

    Die Registerkarte Ausgabe sieht genauso aus wie vorher und zeigt das Endergebnis des Arcade-Ausdrucks an.

  4. Wechseln Sie zur Registerkarte Konsole, um den in der Konsole protokollierten Variablenwert zu sehen.

    Navigieren Sie zur Registerkarte "Meldungen".

    Der Wert in der Variablen generationCheck ist true, da der Wert für estimated_generation_gwh leer ist.

  5. Probieren Sie andere Beispielwerte für $feature["estimated_generation_gwh"] aus, und testen Sie jeweils den Ausdruck auf den Registerkarten Ausgabe und Konsole. Verwenden Sie auch Beispiele, die entweder den Wert true oder den Wert false für generationCheck ergeben.
    Hinweis:

    Sie können beliebig viele console-Anweisungen hinzufügen, um Ihren Arcade-Ausdruck zu entwickeln und zu debuggen. Es wird jedoch empfohlen, die Anweisungen nach der Fertigstellung des Ausdrucks zu entfernen oder auszukommentieren.

    Da diese Codezeile nur zu Testzwecken dient, werden Sie die Konsolenanweisung nun auskommentieren.

  6. Geben Sie zu Beginn der Konsolenanweisung // ein.

    Console-Anweisung auskommentieren

    Die Konsolenanweisung ist jetzt ein Kommentar und wird nicht als Befehl ausgeführt.

    Das Beispiel unten zeigt den endgültigen Ausdruck. Zur Beschreibung jedes Schritts wurden Kommentare hinzugefügt.

    
    // Calculate the kilowatt-hours (kWh) required to power a 
    // 60w light bulb for a year
    var yearLightbulbPower = 0.06 * 24 * 365
    
    // Save the power plant name and annual generation to a variable 
    // for later use
    var plantName = $feature.name
    var annualGenerationGwh = $feature["estimated_generation_gwh"]
    
    // Check if there is a value in the estimated annual generation 
    // attribute field. isEmpty(fieldOrValue) returns true if empty
    var generationCheck = isEmpty(annualGenerationGwh)
    
    // Write to the generationCheck value to the Message tab for 
    // testing purposes (commented out)
    // console("generationCheck value:", generationCheck)
    
    // If there is not annual generation data, return a sentence for use
    // in the pop-up that informs the user about this.
    if (generationCheck) {
        var noGenerationTL = `${ plantName } does not have estimated annual generation data. Unable to return electricity generation in 60w incandescent light bulbs.`
        return noGenerationTL
    } 
    
    // If the annual generation data is present, continue with the remainder of the script. 
    // Convert the annual generation attribute from
    // gigawatt-hours to kilowatt-hours
    var annualGenerationKwh = annualGenerationGwh * 1000000
    
    // Compute the annual electricity generation in light bulbs
    var annualGenInLightbulbs = annualGenerationKwh / yearLightbulbPower  
      
    // Round the number 
    var annualGenInLightbulbsRounded = Round(annualGenInLightbulbs, 0)  
      
    // Format the number to add thousand separators    
    var annualGenInLightbulbsText = Text(
        annualGenInLightbulbsRounded, '###,###,###,###')
    
    // Build the sentence for use in the pop-up 
    // (Create a string using a template literal)
    var popupSentence = `It's estimated that ${ plantName } generates enough electricity to power ${ annualGenInLightbulbsText } 60-watt incandescent light bulbs for a year.`
    
    // Return the value
    return popupSentence
    Hinweis:

    Da sich der Satz zum Umgang mit fehlenden Daten innerhalb einer if-Anweisung befindet, können Sie optional den Rest des Arcade-Ausdrucks in else {<rest of expression>} einschließen. Ohne jedoch explizit else {} zu schreiben, wird der Rest des Ausdrucks – wie Sie gesehen haben – weiter ausgeführt, wenn die Bedingung der If-Anweisung nicht erfüllt wird.

    Sie schließen nun den Editor für Arcade-Ausdrücke und testen die Pop-ups auf der Karte.

  7. Klicken Sie auf Fertig, um Ihren Ausdruck zu speichern, und schließen Sie das Editor-Fenster.

    In der Pop-up-Vorschau für Mandroseza wird jetzt die richtige Meldung angezeigt.

    Der neue Text wird im Pop-up angezeigt, wenn ein Wert fehlt.

  8. Klicken Sie im Bereich Pop-up-Ausdrücke auf die Schaltfläche "Zurück". Schließen Sie den Bereich Pop-ups.
  9. Speichern Sie die Karte.
  10. Klicken Sie auf der Karte auf mehrere Kraftwerke, um zu prüfen, ob Ihr Arcade-Ausdruck ordnungsgemäß funktioniert.
    Hinweis:

    Sie können nach denselben beiden Orten suchen wie vorher (Kitzingen, Bayern, Germany und Antananarivo, Analamanga, Madagascar). Sie können auch neue Orte ausprobieren.

Sie haben die erforderliche Strommenge berechnet, um eine 60-Watt-Glühbirne ein Jahr lang zum Leuchten zu bringen, und die Anzahl der 60-Watt-Glühbirnen ermittelt, die ein Jahr lang mit dem Strom der einzelnen Kraftwerke versorgt werden könnten. Sie haben einen Wert auf eine ganze Zahl gerundet und Tausender-Trennzeichen hinzugefügt. Sie haben zwei verschiedene Sätze erstellt, die im Pop-up angezeigt werden können: einen für Szenarien, wenn Daten zur jährlichen Stromerzeugung für das Kraftwerk vorliegen, und einen, wenn keine Daten vorliegen. Sie haben dann mithilfe einer If-Anweisung sichergestellt, dass die Kraftwerk-Features auf der Karte den entsprechenden Satz anzeigen.

In diesem Lernprogramm haben Sie sich mit dem Editor für Arcade-Ausdrücke vertraut gemacht. Sie haben Arcade verwendet, um die Länder weltweit nach dem Stromverbrauch pro Kopf zu symbolisieren. Sie haben Arcade verwendet, um die Anzahl der 60-Watt-Glühbirnen zu ermitteln, die jedes Kraftwerk ein Jahr lang zum Leuchten bringen könnte, und das Ergebnis in einem Pop-up angezeigt. Der gesamte Arcade-Code wurde on-the-fly ausgeführt, ohne die zugrunde liegenden Daten zu beeinflussen.

In diesem Lernprogramm wurde nur ein Teil dessen behandelt, was Sie mit Arcade machen können. Weitere Informationen zu Beschriftungsausdrücken und zum Berechnen von Feldern in Arcade finden Sie unter Pump up Your Pop-ups With Arcade FeatureSets and the Living Atlas und Bring Colors From Your Map Into Your Pop-up Using Arcade.

Weitere Lernprogramme finden Sie in der Lernprogrammgalerie.