Har du någonsin velat integrera data direkt i ArcGIS Online? Med ArcGIS Data Pipelines kan du enkelt göra detta. Dessutom kan ArcGIS Data Pipelines också användas för att bearbeta och analysera data i olika flöden. Det bästa av allt är att du inte behöver utvecklarkompetens. Verktyget erbjuder även automatisering via schemaläggning, vilket frigör tid till annat.
I detta inlägg kommer jag att visa hur du kan använda ArcGIS Data Pipelines för att importera öppna data från SMHI som exempel.
ArcGIS Data Pipelines med öppna data
Jag har använt datamängden för konsekvensbaserade vädervarningar. Datamängden hjälper dig att hålla koll på meteorologiska händelser som kan påverka och utsätta människor och egendom för fara. Datamängden innehåller vädervarningar (gul, orange eller röd) samt meddelanden om brandrisk, risk för vattenbrist samt höga temperaturer. Jag kommer att kalla datamängden för ’varningar’ i det här inlägget, för att göra det enklare. Målet är att lagra dessa i ett geoobjektlager som jag kan använda i en webbkarta, samt att läsa in nya data varje dag så att jag alltid har aktuella uppgifter tillgängliga.
Steg för steg med ArcGIS Data Pipelines
SMHI tillhandahåller varningarna i JSON-format via ett API. Ingångspunkten hittas här och varningarna hittas här. När du skapar ett dataflöde i ArcGIS Data Pipelines börjar du med indata, där JSON-filer stöds både som uppladdade filer och via publika URL:er. Jag väljer offentlig URL som indata och anger den som ger tillgång till varningarna. Redan nu kan vi klicka på ”förhandsgranska” för att granska hur data som läses in ser ut.
Vi ser att filen warning.json innehåller en post. Denna post innehåller flera olika varningar och man behöver platta ut filstrukturen för att kunna spara ner informationen i ett geoobjektlager.
Hantering av datastruktur
Varningarna har en hierarkisk struktur, vilket innebär att för att lagra dem i ett geoobjektlager för visning i en webbkarta behöver vi platta ut datastrukturen. För detta ändamål använder jag verktyget Unnest field upprepade gånger tills jag kommer åt den information jag vill använda. Sådan information är t.ex. den GeoJSON-sträng som innehåller listan över koordinater som definierar de områden där varningarna och meddelande gäller. Jag valde att börja med att konvertera GeoJSON till EsriJSON med hjälp av verktyget beräkna fält och ett Arcade-uttryck. Efter det skapar jag geometrin med verktyget skapa geometri. ArcGIS Data Pipelines kräver som sagt inte utvecklarkompetens men skall man jobba med JSON är det bra om man behärskar Arcade.
För att plocka ut de koordinater jag behövde från GeoJSON-strängen använde jag ett Arcade-uttryck. Den långa strängen tecken i röd färg i den nedre delen av bilden är en EsriJSON-sträng som definierar alla noder som bildar en polygon (i det här fallet ett område där en vädervarning gäller).
Struktur av viktig information
Annan viktig information jag plockar ut är Event, EventDescription, AreaName och WarningLevel, när varningen/meddelandet gäller m.m. För att enkelt hålla koll på den data jag är intresserad av skapar jag olika parallella spår i mitt dataflöde där jag plockar ut denna information. När jag har extraherat det jag behöver, slår jag ihop alla data igen och skriver den till ett geoobjektlager. Slutligen, utanför ArcGIS Data Pipelines, skapar jag en standardsymbolsättning och en pop-up-ruta för mitt lager för att säkerställa att informationen presenteras på ett användarvänligt och visuellt tilltalande sätt.
Som utdata skapar jag polygoner i ett geoobjektlager. Jag kan ange att mina data är temporala och att det finns fält som anger start- och sluttid. Första gången jag körde mitt dataflöde valde jag att skapa ett nytt lager men här har jag angett ”ersätt” i stället eftersom jag vill köra mitt dataflöde varje dag och ersätta gamla data med nya aktuella data från SMHI.
Så här började hela dataflödet se ut för mig. Det går att göra på många sätt och jag är lite av en nybörjare inom detta område så jag säger inte att det är så här det skall se ut, men det fungerar.
Efter lite symbolsättning och konfigurering av pop-up rutan kan det se ut så här i en webbkarta. All information här har hämtats från SMHI via ArcGIS Data Pipelines.
Schemaläggning
Slutligen återstår bara schemaläggningen av mitt dataflöde, vilket är väldigt enkelt. Jag skapar en ny uppgift och anger både tidpunkten och hur ofta den ska utföras. I mitt fall har jag valt att hämta nya data varje morgon, vilket garanterar att jag alltid arbetar med den mest aktuella informationen.
Här har jag skapat en uppgift i ArcGIS Data Pipelines som gör att mitt dataflöde körs varje morgon klockan 06:00. På så sätt har jag alltid tillgång till senaste data
Avslutande tankar om ArcGIS Data Pipelines
ArcGIS Data Pipelines öppnar upp nya möjligheter för användare av ArcGIS Online att integrera mot externa datakällor utan krav på utvecklarkunskaper. Det här exemplet är inte ett av de lättaste då man behöver behärska Arcade. Men exemplet visar på kraften i verktyget och hur enkelt det är att automatisera inläsningen av data från externa källor. Det betyder att du enklare kan använda data från externa källor, vilket effektiviserar arbetsflöden och förbättrar datakvaliteten.