I en serie av två delar får du lära dig hur du kan utnyttja styrkorna hos ArcGIS med relativt små medel. För allt behöver ju inte vara avancerat för att generera värde. Jag ska visa hur du i en webbkarta konfigurerar din popup-ruta med Arcade för att visa information på bästa sätt, och hur du sedan använder en konfigurerbar app där sagda karta och popup-ruta verkligen får glänsa.

Ett av ArcGIS-plattformens kanske mest underskattade medium för att visa information om sina kartobjekt måste vara popup-rutan. Inte sällan ser jag helt okonfigurerade rutor som visar databasnamn i en tabell men varför ska man nöja sig med det när Arcade öppnar så många formateringsdörrar?

Vi börjar med att titta på popup-rutan här nedanför. Denna är okonfigurerad och visar endast objektets fält i tabellmanér. Är den informativ? Ja, det är den – om man är van att läsa data i databasformat. Är den visuellt tillfredsställande och kompletterar kartvisualiseringen på ett gynnsamt sätt? Nej, inte särskilt. Är detta ett visuellt medium jag hade velat placera i centrum av en applikation? Absolut inte!

Okonfigurerad popup-ruta i ArcGIS

En okonfigurerad popup-ruta är visserligen informativ men särskilt inspirerande och lättläst är den inte för de allra flesta.

Mycket mer lättläst med popup-ruta formaterad med Arcade

Det är dock oförskämt enkelt att tillgodogöra sig informationen från attributen i objektet och använda dem till sin fördel i popupen. Titta bara nedan. Här presenteras informationen i popupen med hjälp av texter, bilder och listor.

För att göra detta på mest effektiva och stilfulla sätt ska du inte helt förlita sig på standardverktygen utan ta hjälp av Arcade istället.

Popuper konfigurerade med Arcade

Skillnaden mellan popupen en bit upp och ovanstående popuper är som två skilda världar. Jag tror de flesta skulle hålla med om att de närmast ovan är betydligt enklare att förstå än den tabelliknande.

Visualisera karta och datalager

I det här fallet vill jag visualisera badplatser för att kunna generera en applikation som gör det enkelt för medborgarna i Uppsala kommun att hitta närmaste badplats med lämpliga faciliteter. För detta har jag ett dataset som lagrar information om badplatsernas plats, namn, tillgängliga kollektiva transportmedel samt olika faciliteter eller bekvämligheter.

Detta lade jag självklart in i en karta i (nya) kartvisaren, och visualiserade på lämpligt sätt.

Symbolsätt smart

Genom att markera lagret i lagerlistan kan du öppna stilkonfigurationen för att hantera visualiseringen. Jag symbolsatte efter typ av strand.

Den nya kartvisaren är uppbyggd utifrån att vi har kartspecifika inställningar i vänsterpanelen och lagerspecifika inställningar i högerpanelen. För att hantera mitt lagers popuper markerar jag lagret i lagerlistan till vänster och väljer ”Konfigurera popup-fönster”.

Det första vi gör här är att ta bort fältlistan genom att klicka på de tre prickarna och välja ta bort. Sedan ska vi börja skriva Arcadeuttryck.

Ta bort

Ta bort.

Skriv ett Arcadeuttryck

För att börja skriva ett uttryck klickar du först på Hantera uttryck och väljer sedan att lägga till uttryck. Vi ska skriva tre olika som:

  1. Genererar en lista över tillgängliga bekvämligheter.
  2. Visar information om busshållplats och kollektivtrafik.
  3. Visar vad badet säger om sig själva.

Skriv ett uttryck i Arcade

Skriv ett uttryck i Arcade.

Tillgängliga bekvämligheter visas bara om information finns

I lagret har vi flera olika attribut som lagrar ja- och nejvärden beroende på om badet till exempel har omklädningsrum, toalett, är handikappanpassat och så vidare. I stället för att visa den här informationen i tabellformat vill jag att den ska visas i en textlista. För det behöver vi Arcade.

I uttrycket nedan har jag specificerat två tomma strängar: ”accom” och ”comma”. Dessa två kommer användas som behållare för alla värden vi vill konkatenera ihop i en lista.

Sedan följer en rad olika if och else if uttryck. Om du tittar på det första som gäller omklädningsrum så kan du läsa ut att uttrycket säger ”Om fältet OMKLADNI_1 är lika med Ja, då är accom-variabel lika med ’Omklädningsrum’ och comma-variabeln är lika med ’; ’.

Om fältet OMKLADNI_1 är lika med nej, då är accom-variabeln tom.”

Detta efterföljs sedan av ett exakt likadant uttryck angående tillgängligheten på toaletter, med skillnaden att vi nu uttrycker att vi vill konkatenera värdet på det här uttryckets accom-variabel till föregående uttrycks accom-variabel.

Är värdet på fältet ’nej’ konkateneras ingenting eftersom accom-variabeln är tom och comma-variabeln inte uttrycks överhuvudtaget.

Uttryck i Arcade

Så här kan det se ut när du är mitt i arbetet att formatera en popup-ruta med Arcade.

Berika uttrycket med relevant information

För dig som är van användare, men kanske inte så van vid Arcade, så kanske de följande två uttrycken verkar fullständigt onödiga. Kan jag inte konfigurera det direkt i popupens text med hjälp av dynamiska textvariabler? Jo, självklart kan du det! Men läs en liten bit till, så förstår du varför det här korta uttrycket ändå ger ytterligare mervärde.

Uttrycket läses som följande; ”Om fältet BUSSHALLPL inte är tomt, returnera då strängen ’Vill du åka kollektivt? Ta bussen till ’”. Detta betyder för vår del att om fältet som lagrar information är tomt, då returneras ingen sträng och popupen hålls ren på onödig text.

Hade vi bara använt dynamiska fältvariabeln i textfönstret hade det alltid stått ’Vill du åka kollektivt? Ta bussen till’, även när det inte finns någon busshållplats att åka till. Inte särskilt snyggt, nej!

Kod i Arcade

Popup-rutan blir snyggare med Arcade.

Exakt samma princip gäller för uttryck nummer tre. Om badet har valt att skriva några ord om sig själva, ja då vill vi ha med det i popupen – annars lämnas det tomt:

Kodsnutt Arcade

Slutresultat av popup-ruta formaterad med Arcade

Nu ska vi lägga till text. För att göra det väljer du att lägga till innehåll och sedan text. Detta öppnar upp textformateringsfönstret som ser ut enligt nedan.

Min textruta är uppbyggd så här:

  • Välkomsttext med där fältnamnet NAMN ger information om badets namn. För att lägga till dynamisk text baserat på fältvärden så skriver du en måsvinge ({) och väljer lämpligt fält.
  • Platsinformation. Först badets adress genom fältet PLATS och sedan busshållplatsuttrycket följt utav fältet BUSSHALLPL.
  • Lista över bekvämligheter med hjälp av bekvämlighetsuttrycket.
  • ”Badets egna ord” med hjälp av det uttrycket.

Textrutans uppbyggnad

Textrutans uppbyggnad.

I fältet Bild finns det en URL lagrad som pekar mot en bild driftad på ArcGIS Online, vilken vi också vill visa i popupen. För att göra detta väljer vi att lägga till nytt innehåll och att lägga till en bild. Under parametern URL klickar du på {} och väljer fältet som lagrar URL:en.

Vi lägger också till en text som anger vem som har upphovsrätt av bilden.

Lägg till en bild

Välj att lägga till en bild. Det gör mycket för förståelsen.

Resultatet blir alltså:

Popuper konfigurerade med Arcade

Slutresultatet när du bearbetat och snyggat till en popup-ruta med Arcade.

Spara.

I nästa del visar jag hur du gör för att dela kartan med din Arcade-formaterade popup-ruta genom att skapa en app.