Condividi tramite


Archiviazione geospaziale end-to-end, analisi e visualizzazione

I dati geospaziali sono disponibili in varie forme e richiedono un'ampia gamma di funzionalità per l’elaborazione, l’analisi e la visualizzazione dei dati. Anche se il GIS (sistema informativo geografico) è comune, in gran parte non è nativo del cloud. La maggior parte dei GIS viene eseguita sul desktop, che limita la scalabilità e le prestazioni. Anche se sono stati effettuati progressi nello spostamento dei dati nel back-end, questi sistemi rimangono associati all’IaaS (infrastruttura distribuita come servizio), che li rende difficili da scalare.

Questo articolo fornirà un approccio di alto livello per usare le funzionalità native del cloud insieme ad alcune opzioni software open source e commerciali. Saranno prese in considerazione tre categorie di professione. Si tratta di architetti che cercano un flusso di alto livello senza entrare nello specifico di un'implementazione. Queste categorie includono:

  • Architetto geospaziale generico. Questo architetto si dedica a cercare un modo per implementare i GIS, ma potrebbe non avere esperienza in Telerilevamento.
  • Architetto geospaziale di software open source (OSS). Questo architetto si dedica a trovare una soluzione software open source (OSS), ma sfrutta il cloud computing e l’archiviazione nel cloud.
  • Architetto geospaziale di software COTS (commercial off-the-shelf). Questo architetto si dedica ai COTS, ma sfrutta anche il cloud computing e l’archiviazione nel cloud.

Potenziali casi d'uso

Le soluzioni fornite in queste architetture si applicano a molti casi d'uso:

  • Elaborazione, archiviazione e accesso a quantità elevate di dati raster, ad esempio livelli di dati o dati sul clima.
  • Combinazione di dati località delle entità dai sistemi ERP con i dati di riferimento GIS o includere dati vettoriali, matrici, nuvole di punti e così via.
  • Archiviazione dei dati di diagnostica di Internet delle cose (IoT) da dispositivi in movimento e analisi in tempo reale o in batch
  • Esecuzione di query geospaziali analitiche.
  • Incorporamento di dati geospaziali curati e contestualizzati in app Web.
  • Elaborazione di dati da droni, fotografia aerea, immagini satellitari, LiDAR (Light Detection and Ranging), risultati dei modelli a griglia, ecc.

Architettura geospaziale generale

Azure offre molte funzionalità geospaziali native. In questo diagramma e quelli che seguono sono disponibili le fasi generali a cui vengono sottoposti i dati geospaziali. Prima di tutto si ha l'origine dati, un passaggio di inserimento dati, una posizione in cui vengono archiviati, trasformati, gestiti, pubblicati e infine usati. Si noti l'icona del globo accanto ai servizi con funzionalità geospaziali native. Inoltre, questi diagrammi non devono essere considerati processi lineari. È possibile iniziare nella colonna Trasformazioni, Pubblicare e Usare e quindi creare alcuni set di dati derivati, che richiedono di tornare a una colonna precedente.

Geospaziale in Azure

Questo flusso di architettura presuppone che i dati provengano da database, file o origini di streaming e non siano archiviati in un formato GIS nativo. Dopo aver inserito i dati con Azure Data Factory o tramite Azure IoT, Hub eventi e Analisi di flusso, i dati possono quindi essere archiviati in modo permanente nell’archiviazione ad accesso frequente con Azure SQL, Istanza gestita di SQL di Azure, Database di Azure per PostgreSQL o Azure Data Lake Storage. Da qui, i dati possono essere trasformati ed elaborati in batch con Azure Batch o il pool di Spark in Synapse, di cui entrambi possono essere automatizzati tramite l'uso di una pipeline di Azure Data Factory o Synapse. I dati in tempo reale, possono essere ulteriormente trasformati o elaborati con Analisi di flusso di Azure, Mappe di Azure o inseriti nel contesto con Gemelli digitali di Azure. Dopo aver trasformato i dati, è possibile usarli di nuovo per altri usi nel database Azure SQL o nel Database di Azure per PostgreSQL, nel pool SQL di Synapse (per dati non geospaziali astratti), in Azure Cosmos DB o in Esplora dati di Azure. Una volta pronti, è possibile eseguire una query sui dati direttamente tramite l'API del database, ma viene usato spesso un livello di pubblicazione. L'API dati di Mappe di Azure è sufficiente per i set di dati di piccole dimensioni. In caso contrario, è possibile introdurre un servizio non nativo basato su OSS o COTS per accedere ai dati tramite servizi Web o applicazioni desktop. Infine, l'SDK Web di Mappe di Azure ospitato nel Servizio app di Azure consente la geovisualizzazione. Un'altra opzione è l’uso di Mappe di Azure in Power BI. Infine, HoloLens e Ancoraggi nello spazio di Azure possono essere usati per visualizzare i dati e inserirli nel mondo reale per le esperienze di realtà virtuale (VR) e realtà aumentata (AR).

Si noti anche che molte di queste opzioni sono facoltative e possono essere integrate con OSS per ridurre i costi, mantenendo al contempo la scalabilità o gli strumenti di terze parti per usare le loro funzionalità specifiche. La sessione successiva tratta questa esigenza.

Architettura geospaziale di terze parti e software open source

Questo criterio adotta l'approccio dell'uso delle funzionalità geospaziali native di Azure, sfruttando allo stesso tempo alcuni strumenti di terze parti e strumenti software open source.

La differenza più significativa tra questo approccio e il diagramma di flusso precedente è l'uso di FME di Safe Software Inc., che può essere acquisito da Azure Marketplace. FME consente agli architetti geospaziali di integrare vari tipi di dati geospaziali che includono CAD (per Creator di Mappe di Azure), GIS, BIM, 3D, cloud di punti, LiDAR e così via. Sono disponibili oltre 450 opzioni di integrazione e consentono di velocizzare la creazione di molte trasformazioni di dati tramite le loro funzionalità. L'implementazione, tuttavia, si basa sull'uso di una macchina virtuale ed ha pertanto funzionalità di scalabilità limitate. L'automazione delle trasformazioni di FME potrebbe essere raggiunta usando le chiamate all’API di FME con l'uso di Azure Data Factory e/o con Funzioni di Azure. Dopo che i dati vengono caricati in Azure SQL, ad esempio, possono essere gestiti in GeoServer e pubblicati come Web Feature Service (vettore) o come Web Map Tile Service (raster) e visualizzati nell’SDK Web di Mappe di Azure o analizzati con QGIS per desktop insieme alle altre mappe di base di Mappe di Azure.

Diagramma degli strumenti di Azure e di terze parti e di software open source.

Architettura geospaziale per COTS: Esri con origini statiche e di streaming

Nell'approccio successivo esamineremo l'uso di GIS commerciali come base per la soluzione. La tecnologia Esri, disponibile in Azure Marketplace, sarà alla base di questa architettura, anche se altri software commerciali possono adattarsi agli stessi criteri. Come in precedenza, le origini, l'inserimento, l'archivio (non elaborato), il caricamento e la gestione rimangono in gran parte invariati. I dati possono anche essere trasformati con ArcGIS Pro in un computer autonomo (macchina virtuale) o come parte di una soluzione più grande con Desktop virtuale Azure. I dati possono essere pubblicati tramite ArcGIS Enterprise o con ArcGIS Enterprise in Kubernetes (servizio Azure Kubernetes). Le immagini possono essere elaborate nell’IaaS con l'immagine ArcGIS come parte dell’implementazione di ArcGIS Enterprise. I dati possono essere usati nelle app Web ospitate nel servizio app di Azure con l’SDK ArcGIS per JavaScript, un utente finale ArcGIS Pro, ArcGIS Runtime SDK per dispositivi mobili o ArcGIS per Power BI. Analogamente, gli utenti possono usare i dati con ArcGIS Online.

Diagramma di Esri con origini statiche e di streaming.

Architettura di immagini geospaziali per COTS: ArcGIS Image di Esri e Azure Orbital

L'architettura successiva riguarda Azure Orbital e ArcGIS Image di Esri. Con questo flusso end-to-end, Azure Orbital consente di pianificare i contatti con i satelliti e di scollegare i dati in una macchina virtuale o trasmettere a Hub eventi di Azure. Oltre a dati satellite in streaming diretto, i dati di droni o di altre immagini possono essere portati sulla piattaforma ed elaborati. I dati non elaborati possono essere archiviati in Azure NetApp Files, in un account di archiviazione di Azure (BLOB) o in un database come Database di Azure per PostgreSQL. A seconda del satellite e della piattaforma del sensore, i dati vengono trasformati dal set di dati di livello 0 al livello 2. Vedere i livelli di elaborazione dati della NASA. Il livello necessario dipende dal satellite e dal sensore. ArcGIS Pro può quindi trasformare i dati in un Dataset di mosaico. Il Dataset di mosaico viene quindi trasformato in un servizio di immagine con ArcGIS Enterprise (in macchine virtuali o Kubernetes). ArcGIS Image Server può gestire i dati direttamente come servizio immagini o un utente può usare il servizio immagini tramite ArcGIS Image for ArcGIS Online.

Diagramma dell'immagine ArcGIS di Esri e di Azure Orbital.

COTS/Architettura di immagini geospaziali con software open-source: Azure Space per i set di dati pronti per l’analisi

Quando i set di dati pronti per l'analisi vengono resi disponibili tramite API che consentono funzionalità di ricerca e esecuzione di query, ad esempio con Planetary Computer di Microsoft, non è necessario scaricare prima i dati da un satellite. Tuttavia, se è necessario consegnare le immagini in tempi ridotti, l'acquisizione dei dati direttamente da Azure Space è ideale perché un operatore satellitare o un'organizzazione che sta progettando una missione può pianificare un contatto con un satellite tramite Azure Orbital. Il processo per passare dal livello 0 al livello 2 di set di dati pronti per l’analisi varia in base al satellite e le immagini prodotte. Sono spesso necessari più strumenti e passaggi intermedi. Azure Batch o un'altra risorsa di calcolo può elaborare i dati in un cluster e archiviarne il risultato. I dati possono eseguire più passaggi prima che siano pronti per l'uso in ArcGIS o QGIS o in altri strumenti di geovisualizzazione. Ad esempio, quando i dati si trovano in un formato GeoTIFF ottimizzato per il cloud (COG), i dati vengono gestiti tramite un account di archiviazione o Azure Data Lake e resi accessibili e le query sono eseguibili tramite l'API STAC, che può essere implementata in Azure come servizio, con il servizio Azure Kubernetes, tra gli altri. In alternativa, i dati sono pubblicati come Web Map Tile Service con GeoServer. Gli utenti possono quindi accedere ai dati in ArcGIS Pro o QGIS o tramite un'app Web con Mappe di Azure o gli SDK per web e dispositivi mobili di Esri.

Diagramma di Azure Space per i set di dati pronti per l'analisi.

Componenti

  • Hub eventi di Azure è una piattaforma di streaming completamente gestita per i Big Data. Questa piattaforma distribuita come servizio (PaaS) offre un modello di consumer partizionato. Più applicazioni possono usare questo modello per elaborare il flusso di dati contemporaneamente.
  • Azure Orbital è una stazione di terra completamente gestita e basata sul cloud come servizio che consente di semplificare le operazioni inserendo i dati sullo spazio direttamente in Azure.
  • Azure Data Factory è un servizio di integrazione che usa dati provenienti da archivi dati diversi. È possibile usare questa piattaforma serverless completamente gestita per creare, pianificare e orchestrare flussi di lavoro di trasformazione dei dati.
  • Azure Cosmos DB è un servizio di database NoSQL completamente gestito per lo sviluppo di app moderne.
  • Azure Synapse Analytics servizio di analisi aziendale che riduce il tempo necessario per estrarre informazioni dettagliate da data warehouse e sistemi di Big Data.
  • Gemelli digitali di Azure è una piattaforma distribuita come servizio che consente la creazione di grafi gemelli basati su modelli digitali di interi ambienti, che possono essere edifici, fabbriche, aziende agricole, reti energetiche, ferrovie, stadi o intere città.
  • Desktop virtuale Azure è un servizio di virtualizzazione di desktop e app che viene eseguito sul cloud.
  • Azure Databricks è una piattaforma di analisi dei dati. I cluster Spark completamente gestiti elaborano flussi ingenti di dati provenienti da più origini. Azure Databricks può trasformare i dati geospaziali su larga scala per l'uso nell'analisi e nella visualizzazione dei dati.
  • Azure Batch consente di eseguire lavori di calcolo parallelo e a prestazioni elevate su larga scala.
  • Azure Data Lake Storage è un data lake scalabile e sicuro per carichi di lavoro di analisi a prestazioni elevate. Questo servizio è in grado di gestire diversi petabyte di informazioni supportando al tempo stesso centinaia di gigabit di velocità effettiva. I dati provengono generalmente da più origini eterogenee e possono essere strutturati, semistrutturati o non strutturati.
  • Database SQL di Azure è una versione PaaS (piattaforma distribuita come servizio) di SQL Server ed è un servizio di database relazionale intelligente e scalabile.
  • Database di Azure per PostgreSQL è un servizio di database relazionale completamente gestito basato sull'edizione community del motore di database PostgreSQL open source.
  • PostGIS è un'estensione per il database PostgreSQL che si integra con i server GIS. PostGIS può eseguire query di posizione SQL che coinvolgono oggetti geografici.
  • Power BI è una raccolta di app e servizi software. È possibile usare Power BI per connettere origini dati non correlate e crearne oggetti visivi.
  • L'oggetto visivo di Mappe di Azure per Power BI offre un modo per migliorare le mappe con i dati spaziali. È possibile usare questo oggetto visivo per mostrare in che modo i dati sulla posizione influiscono sulle metriche aziendali.
  • Il servizio app e la relativa funzionalità App Web forniscono un framework per la compilazione, la distribuzione e il ridimensionamento di app Web. La piattaforma del servizio app offre funzionalità predefinite di manutenzione dell'infrastruttura, applicazione di patch di sicurezza e ridimensionamento.
  • Le API dei dati GIS in Mappe di Azure archiviano e recuperano i dati di mappa in formati come GeoJSON e sezioni vettoriali.
  • Esplora dati di Azure è un servizio di analisi dei dati veloce e completamente gestito in grado di interagire con volumi elevati di dati. Questo servizio, che in origine era focalizzato su serie temporali e analisi dei log, ora gestisce flussi di dati eterogenei provenienti da applicazioni, siti Web, dispositivi IoT e altre origini. La funzionalità geospaziale in Esplora dati di Azure offre opzioni per il rendering dei dati di mappa.
  • Azure NetApp Files è un servizio di Network Attached Storage (NAS) di file a consumo, di classe enterprise e a prestazioni elevate.
  • Quantum GIS è un sistema GIS gratuito e open source che supporta la modifica, l'analisi e la geovisualizzazione dei dati geospaziali.
  • ArcGIS Enterprise è una piattaforma per il mapping e la geovisualizzazione, l'analisi e la gestione dei dati, che ospita dati, applicazioni e applicazioni personalizzate con poco o senza codice. Funziona insieme al desktop GIS chiamato ArcGIS Pro o ArcGIS Desktop (non incluso qui perché è stato soppiantato da ArcGIS Pro).
  • ArcGIS Pro è l'applicazione GIS desktop professionale di Esri. Consente agli utenti esperti di esplorare, geovisualizzare e analizzare i dati. Include funzionalità 2D e 3D e offre prestazioni ottimali nelle macchine virtuali HPC (High Performance Computing) di Azure, ad esempio la serie NV. L'uso di ArcGIS può essere scalato usando Desktop virtuale Azure.
  • ArcGIS Image for ArcGIS Online è un'estensione di ArcGIS Online (SaaS, software come un servizio) che consente la geovisualizzazione, l'hosting, la pubblicazione e l'analisi.
  • La specifica dell'API STAC consente di eseguire query e recuperare dati raster tramite un catalogo.

Anche se non illustrato nei diagrammi precedenti, Monitoraggio di Azure, Log Analytics e Azure Key Vault fanno parte di una soluzione più ampia.

  • Monitoraggio di Azure raccoglie i dati in ambienti e risorse di Azure. Queste informazioni di diagnostica sono utili per mantenere disponibilità e prestazioni. Monitoraggio è composto da due piattaforme dati:
  • Log Analytics è uno strumento del portale di Azure che esegue query sui dati di log di Monitor. Log Analytics offre anche funzionalità per la creazione di grafici e l'analisi statistica dei risultati delle query.
  • Key Vault archivia e controlla l'accesso ai segreti, come token, password e chiavi API. Key Vault crea e controlla anche le chiavi di crittografia e gestisce i certificati di sicurezza.

Alternative

Sono disponibili varie librerie Spark per lavorare con dati geospaziali in Azure Databricks e i pool di Spark in Synapse. Informazioni sulle librerie:

Ma esistono anche altre soluzioni per l'elaborazione e il ridimensionamento dei carichi di lavoro geospaziali con Azure Databricks.

  • Altre librerie Python da prendere in considerazione includono PySAL, Rasterio, WhiteboxTools, Turf.js, Pointpats, Raster Vision, EarthPy, Planetary Computer, PDAL, ecc.

  • Le sezioni vettoriali offrono un modo efficiente per visualizzare i dati GIS sulle mappe. Una soluzione è l’uso di PostGIS per eseguire query in modo dinamico sui tasselli vettoriali. Questo approccio funziona bene per query semplici e set di risultati che contengono meno di 1 milione di record. Se si verificano le condizioni seguenti invece può essere più indicato scegliere un approccio diverso:

    • Le query sono onerose dal punto di vista dei calcoli.
    • I dati non cambiano di frequente.
    • Vengono visualizzati set di dati di grandi dimensioni.

In queste situazioni è consigliabile usare Tippecanoe per generare sezioni vettoriali. È possibile eseguire Tippecanoe come parte del flusso di elaborazione dati, come contenitore o con Funzioni di Azure. È possibile rendere disponibili le sezioni risultanti tramite le API.

  • Analogamente a Hub eventi, l'hub IoT di Azure può inserire grandi quantità di dati. L'hub IoT tuttavia offre anche funzionalità di comunicazione bidirezionale con i dispositivi. Se si ricevono dati direttamente dai dispositivi ma si inviano anche comandi e criteri ai dispositivi, valutare l'opportunità di usare l'hub IoT invece di Hub eventi.

Passaggi successivi