Geospatial lagring, analys och visualisering från slutpunkt till slutpunkt
Geospatiala data finns i olika former och kräver en mängd olika funktioner för att bearbeta, analysera och visualisera data. Även om GIS (Geographic Information System) är vanligt är det inte heller molnbaserat. De flesta GIS körs på skrivbordet, vilket begränsar deras skalning och prestanda. Det har gjorts framsteg när det gäller att flytta data till serverdelen, men dessa system förblir IaaS-bundna, vilket gör dem svåra att skala.
Den här artikeln innehåller en övergripande metod för att använda molnbaserade funktioner tillsammans med vissa programalternativ med öppen källkod och kommersiella alternativ. Tre personer kommer att övervägas. Personas är arkitekter som letar efter ett flöde på hög nivå utan att gå in på detaljerna i en implementering. Personas inkluderar följande:
- Allmän geospatial arkitekt. Den här arkitekten letar efter ett sätt att implementera geospatial men kanske inte har en bakgrund inom GIS eller fjärranalys.
- OSS geospatial arkitekt. Den här arkitekten är dedikerad till en OSS-lösning (programvara med öppen källkod), men utnyttjar molnet för beräkning och lagring.
- COTS geospatial arkitekt. Den här arkitekten är dedikerad till COTS men drar också nytta av molnbaserad beräkning och lagring.
Potentiella användningsfall
De lösningar som tillhandahålls i dessa arkitekturer gäller för många användningsfall:
- Bearbeta, lagra och ge åtkomst till stora mängder rasterdata, till exempel lager eller klimatdata.
- Kombinera entitetsplatsdata från ERP-system med GIS-referensdata eller inkludera vektordata, matriser, punktmoln osv.
- Lagra IoT-telemetri (Internet of Things) från att flytta enheter och analysera i realtid eller i batch
- Köra geospatiala analytiska frågor.
- Bädda in kuraterade och kontextualiserade geospatiala data i webbappar.
- Bearbetning av data från drönare, flygfotografering, satellitbilder, LiDAR, rutnätsmodellresultat osv.
Allmän geospatial arkitektur
Azure har många inbyggda geospatiala funktioner. I det här diagrammet och de som följer hittar du övergripande steg där geospatiala data genomgår. Först har du datakällan, ett inmatningssteg, en plats där data lagras, transformeras, hanteras, publiceras och slutligen förbrukas. Observera jordglobikonen bredvid tjänsterna med inbyggda geospatiala funktioner. De här diagrammen ska inte heller betraktas som linjära processer. Man kan börja i kolumnen Transformer, Publicera och förbruka, och sedan skapa några härledda datauppsättningar, vilket kräver att gå tillbaka till en tidigare kolumn.
Det här arkitekturflödet förutsätter att data kan komma från databaser, filer eller strömmande källor och inte lagras i ett internt GIS-format. När data matas in med Azure Data Factory eller via Azure IoT, Event Hubs och Stream Analytics kan de sedan lagras permanent i varm lagring med Azure SQL, Azure SQL Managed Instance, Azure Database for PostgreSQL eller Azure Data Lake Storage. Därifrån kan data transformeras och bearbetas i batch med Azure Batch eller Synapse Spark Pool, där båda kan automatiseras genom användning av en Azure Data Factory- eller Synapse-pipeline. För realtidsdata kan de transformeras eller bearbetas ytterligare med Stream Analytics, Azure Maps eller komma i kontext med Azure Digital Twins. När data har transformerats kan de sedan återigen hanteras för ytterligare användning i Azure SQL DB eller Azure Database for PostgreSQL, Synapse SQL Pool (för abstrakta icke-geospatiala data), Azure Cosmos DB eller Azure Data Explorer. När de är klara kan data frågas direkt via databas-API:et, men ofta används ett publiceringslager. Azure Maps Data API räcker för små datauppsättningar, annars kan en icke-intern tjänst introduceras baserat på OSS eller COTS för åtkomst till data via webbtjänster eller skrivbordsprogram. Slutligen skulle Azure Maps Web SDK som finns i Azure App Service möjliggöra geovisualisering. Ett annat alternativ är att använda Azure Maps i Power BI. Slutligen kan HoloLens och Azure Spatial Anchors användas för att visa data och placera dem i verkligheten för virtuell verklighet (VR) och förhöjd verklighet (AR).
Det bör också noteras att många av dessa alternativ är valfria och kan kompletteras med OSS för att minska kostnaderna samtidigt som skalbarheten bibehålls, eller verktyg från tredje part för att använda sina specifika funktioner. Nästa session åtgärdar detta behov.
Geospatial arkitektur för programvara från tredje part och öppen källkod
Det här mönstret använder inbyggda geospatiala funktioner i Azure samtidigt som vissa verktyg från tredje part och programvaruverktyg med öppen källkod används.
Den viktigaste skillnaden mellan den här metoden och det tidigare flödesdiagrammet är användningen av FME från Safe Software Inc., som kan hämtas från Azure Marketplace. Med FME kan geospatiala arkitekter integrera olika typer av geospatiala data som inkluderar CAD (för Azure Maps Creator), GIS, BIM, 3D, punktmoln, LIDAR osv. Det finns över 450 integreringsalternativ och kan påskynda skapandet av många dataomvandlingar genom dess funktioner. Implementeringen baseras dock på användningen av en virtuell dator och har därför begränsningar i dess skalningsfunktioner. Automatiseringen av FME-transformeringar kan nås med hjälp av FME API-anrop med hjälp av Azure Data Factory och/eller med Azure Functions. När data har lästs in i Azure SQL kan de till exempel hanteras i GeoServer och publiceras som en webbfunktionstjänst (vektor) eller webbmappningspaneltjänst (raster) och visualiseras i Azure Maps webb-SDK eller analyseras med QGIS för skrivbordet tillsammans med andra Azure Maps-baskartor.
COTS geospatial arkitektur: Esri med statiska källor och strömmande källor
Nästa metod som vi ska titta på använder kommersiellT GIS som grund för lösningen. Esris teknik, som är tillgänglig från Azure Marketplace, kommer att utgöra grunden för den här arkitekturen, även om annan kommersiell programvara passar samma mönster. Precis som tidigare förblir källorna, inmatningen, (raw)-arkivet, Load/Serve i stort sett desamma. Data kan också transformeras med ArcGIS Pro på en fristående dator (VM) eller som en del av en större lösning med Azure Virtual Desktop. Data kan publiceras via ArcGIS Enterprise eller med ArcGIS Enterprise på Kubernetes (Azure Kubernetes Service). Bilder kan bearbetas på IaaS med ArcGIS Image som en del av ArcGIS Enterprise-distributionen. Data kan användas i webbappar som finns i Azure App Service med ArcGIS JavaScript SDK, en ArcGIS Pro-slutanvändare, ArcGIS Runtime Mobile SDK eller med ArcGIS för Power BI. På samma sätt kan användare använda data med ArcGIS Online.
COTS geospatial bildarkitektur: Esris ArcGIS-bild och Azure Orbital
Nästa arkitektur omfattar Azure Orbital och Esris ArcGIS-avbildning. Med det här flödet från slutpunkt till slutpunkt kan du med Azure Orbital schemalägga kontakter med satelliter och länka ned data till en virtuell dator eller strömma till Azure Event Hubs. Förutom direktuppspelade satellitdata kan drönare eller andra bilddata tas med på plattformen och bearbetas. Rådata kan lagras i Azure NetApp Files, ett Azure Storage-konto (blob) eller i en databas som Azure Database for PostgreSQL. Beroende på satellit- och sensorplattformen omvandlas data från nivå 0 till nivå 2-datauppsättning. Se NASA-databehandlingsnivåer. Till vilken nivå som krävs är beroende av satelliten och sensorn. ArcGIS Pro kan sedan omvandla data till en mosaikdatauppsättning. Mosaikdatauppsättningen omvandlas sedan till en avbildningstjänst med ArcGIS Enterprise (på virtuella datorer eller Kubernetes). ArcGIS Image Server kan hantera data direkt som en avbildningstjänst eller så kan en användare använda bildtjänsten via ArcGIS Image för ArcGIS Online.
COTS/Geospatial bildarkitektur med öppen källkod: Azure Space to Analysis Ready Dataset
När Analysklara datauppsättningar görs tillgängliga via API:er som möjliggör sök- och frågefunktioner, till exempel med Microsofts Planetary Computer, behöver du inte först ladda ned data från en satellit. Men om det krävs låga ledtider för bilder är det idealiskt att hämta data direkt från Azure Space eftersom en satellitoperatör eller uppdragsdriven organisation kan schemalägga en kontakt med en satellit via Azure Orbital. Processen för att gå från nivå 0 till analysklar datauppsättning på nivå 2 varierar beroende på satelliten och bildprodukterna. Flera verktyg och mellanliggande steg krävs ofta. Azure Batch eller en annan beräkningsresurs kan bearbeta data i ett kluster och lagra resulterande data. Data kan gå igenom flera steg innan de är redo att användas i ArcGIS eller QGIS eller något annat geovisualiseringsverktyg. När data till exempel är i ett COG-format (Cloud Optimized GeoTIFF) hanteras de via ett lagringskonto eller Azure Data Lake och blir tillgängliga och frågebara via STAC-API:et, som kan distribueras i Azure som en tjänst, med aks bland annat. Du kan också publicera data som en webbmappningspaneltjänst med GeoServer. Konsumenter kan sedan komma åt data i ArcGIS Pro eller QGIS eller via en webbapp med Azure Maps eller Esris mobila SDK:er och webb-SDK:er.
Komponenter
- Azure Event Hubs är en fullständigt hanterad strömningsplattform för stordata. Den här plattformen som en tjänst (PaaS) erbjuder en partitionerad konsumentmodell. Flera program kan använda den här modellen för att bearbeta dataströmmen samtidigt.
- Azure Orbital är en fullständigt hanterad, molnbaserad markstation som en tjänst som gör att du kan effektivisera din verksamhet genom att mata in rymddata direkt i Azure.
- Azure Data Factory är en integrationstjänst som fungerar med data från olika datalager. Du kan använda den här fullständigt hanterade, serverlösa plattformen för att skapa, schemalägga och samordna arbetsflöden för datatransformering.
- Azure Cosmos DB är en fullständigt hanterad NoSQL-databastjänst för modern apputveckling.
- Azure Synapse Analytics är en företagsanalystjänst som påskyndar tiden till insikter i informationslager och stordatasystem.
- Azure Digital Twins är en plattform som en tjänst som gjorde det möjligt att skapa tvillingdiagram baserade på digitala modeller av hela miljöer, som kan vara byggnader, fabriker, gårdar, energinät, järnvägar, arenor eller hela städer.
- Azure Virtual Desktop är en skrivbords- och appvirtualiseringstjänst som körs i molnet.
- Azure Databricks är en plattform för dataanalys. Dess fullständigt hanterade Spark-kluster bearbetar stora dataströmmar från flera källor. Azure Databricks kan omvandla geospatiala data i stor skala för användning i analys och datavisualisering.
- Med Azure Batch kan du köra storskaliga parallella och högpresterande databehandlingsjobb.
- Azure Data Lake Storage är en skalbar och säker datasjö för analysarbetsbelastningar med höga prestanda. Den här tjänsten kan hantera flera petabyte med information samtidigt som hundratals gigabit dataflöde bibehålls. Data kommer vanligtvis från flera heterogena källor och kan vara strukturerade, halvstrukturerade eller ostrukturerade.
- Azure SQL Database är en PaaS-version av SQL Server och är en intelligent, skalbar relationsdatabastjänst.
- Azure Database for PostgreSQL är en fullständigt hanterad relationsdatabastjänst som baseras på communityversionen av PostgreSQL-databasmotorn med öppen källkod.
- PostGIS är ett tillägg för PostgreSQL-databasen som integreras med GIS-servrar. PostGIS kan köra SQL-platsfrågor som omfattar geografiska objekt.
- Power BI är en samling programtjänster och appar. Du kan använda Power BI för att ansluta orelaterade datakällor och skapa visuella objekt av dem.
- Det visuella Azure Maps-objektet för Power BI är ett sätt att förbättra kartor med rumsliga data. Du kan använda det här visuella objektet för att visa hur platsdata påverkar affärsmått.
- App Service och dess Web Apps-funktion tillhandahåller ett ramverk för att skapa, distribuera och skala webbappar. App Service-plattformen erbjuder inbyggt infrastrukturunderhåll, säkerhetskorrigeringar och skalning.
- API:er för GIS-data i Azure Maps lagrar och hämtar kartdata i format som GeoJSON och vektorpaneler.
- Azure Data Explorer är en snabb, fullständigt hanterad dataanalystjänst som kan fungera med stora mängder data. Den här tjänsten fokuserade ursprungligen på tidsserier och logganalys. Den hanterar nu även olika dataströmmar från program, webbplatser, IoT-enheter och andra källor. Geospatiala funktioner i Azure Data Explorer innehåller alternativ för återgivning av kartdata.
- Azure NetApp Files är en NAS-tjänst (Network Attached Storage) i företagsklass med höga prestanda.
- Quantum GIS är ett kostnadsfritt skrivbords-GIS med öppen källkod som stöder redigering, analys, geovisualisering av geospatiala data.
- ArcGIS Enterprise är en plattform för mappning och geovisualisering, analys och datahantering, som är värd för data, program och anpassade program med låg kod/ingen kod. Det fungerar tillsammans med skrivbords-GIS som heter ArcGIS Pro eller ArcGIS Desktop (ingår inte här eftersom det har ersatts av ArcGIS Pro).
- ArcGIS Pro är Esris professionella GIS-program för skrivbord. Det gör det möjligt för användare att utforska, geovisualisera och analysera data. Den innehåller 2D- och 3D-funktioner och körs bäst på virtuella Azure-datorer med höga prestanda, till exempel NV-serien. Användningen av ArcGIS kan skalas med hjälp av Azure Virtual Desktop.
- ArcGIS Image för ArcGIS Online är ett tillägg till ArcGIS Online (SaaS) som möjliggör geovisualisering, värdhantering, publicering och analys.
- MED STAC API-specifikationen kan du fråga efter och hämta rasterdata via en katalog.
Även om det inte visas i diagrammen ovan skulle Azure Monitor, Log Analytics och Key Vault också vara en del av en bredare lösning.
- Azure Monitor samlar in data om miljöer och Azure-resurser. Den här diagnostikinformationen är användbar för att upprätthålla tillgänglighet och prestanda. Två dataplattformar utgör Monitor:
- Azure Monitor-loggar registrerar och lagrar logg- och prestandadata.
- Azure Monitor Metrics samlar in numeriska värden med jämna mellanrum.
- Azure Log Analytics är ett Azure Portal verktyg som kör frågor på Övervakningsloggdata. Log Analytics innehåller även funktioner för diagram och statistisk analys av frågeresultat.
- Key Vault lagrar och styr åtkomsten till hemligheter som token, lösenord och API-nycklar. Key Vault skapar och styr även krypteringsnycklar och hanterar säkerhetscertifikat.
Alternativ
Olika Spark-bibliotek är tillgängliga för att arbeta med geospatiala data i Azure Databricks och Synapse Spark-pooler. Se följande bibliotek:
Andra Python-bibliotek att överväga är PySAL, Rasterio, WhiteboxTools, Turf.js, Pointpats, Raster Vision, EarthPy, Planetary Computer, PDAL osv.
Vektorpaneler är ett effektivt sätt att visa GIS-data på kartor. En lösning kan använda PostGIS för att dynamiskt fråga vektorpaneler. Den här metoden fungerar bra för enkla frågor och resultatuppsättningar som innehåller långt under 1 miljon poster. Men i följande fall kan en annan metod vara bättre:
- Dina frågor är beräkningsmässigt dyra.
- Dina data ändras inte ofta.
- Du visar stora datamängder.
I dessa situationer bör du överväga att använda Tippecanoe för att generera vektorpaneler. Du kan köra Tippecanoe som en del av databehandlingsflödet, antingen som en container eller med Azure Functions. Du kan göra de resulterande panelerna tillgängliga via API:er.
- Precis som Event Hubs kan Azure IoT Hub mata in stora mängder data. Men IoT Hub erbjuder också dubbelriktade kommunikationsfunktioner med enheter. Om du tar emot data direkt från enheter men även skickar tillbaka kommandon och principer till enheter bör du överväga IoT Hub i stället för Event Hubs.
Relaterade resurser
Relaterade arkitekturer
- Stordataanalys med Azure Data Explorer
- Konsortium för hälsodata i Azure
- DataOps för det moderna informationslagret
- Interaktiv analys i Azure Data Explorer
Relaterade guider
- Geospatial databearbetning och analys
- Jämför maskininlärningsprodukter och -tekniker från Microsoft – Azure Databricks
- Ramverk för maskininlärningsåtgärder (MLOps) för att skala upp livscykeln för maskininlärning med Azure Machine Learning
- Beslutsguide för Azure Machine Learning för optimalt val av verktyg
- Övervaka Azure Databricks