>_ DevTrendsit

Lingua

Home

Linguaggi

Sezioni

Frontend Backend Mobile DevOps AI / ML GameDev Blockchain Embedded Sicurezza
TypeScript

GeoLibre: come eseguire GIS nel browser, Jupyter e desktop senza installare software pesanti

Se hai mai lavorato con dati spaziali, conosci la situazione standard. Hai bisogno di visualizzare rapidamente un GeoJSON o eseguire un paio di query spaziali su un file Parquet — e apri QGIS. L'applicazione si carica, importa i moduli, e per una semplice visualizzazione finisci per consumare un paio di gigabyte di RAM e tempo per configurare i layer.

Gli sviluppatori della community OpenGeos hanno deciso di affrontare il problema da un'angolazione diversa. Hanno creato GeoLibre — una piattaforma leggera per lavorare con dati geospaziali che funziona direttamente nel browser, all'interno dei notebook Jupyter, e come applicazione desktop standalone.

Cosa c'è sotto il cofano

L'architettura del progetto combina diverse tecnologie web moderne. Il frontend è costruito con React e TypeScript. MapLibre GL JS e deck.gl gestiscono il rendering di mappe 2D e 3D.

La parte più interessante avviene durante l'elaborazione dei dati. Invece di inviare file geospaziali pesanti a server esterni, GeoLibre utilizza DuckDB-WASM con l'estensione spaziale. Il file viene elaborato lato client. Trascini un file GeoJSON o Parquet nella finestra del browser, e DuckDB locale esegue query SQL direttamente nella memoria del tuo dispositivo.

Le versioni desktop e mobile sono costruite con Tauri v2. Questo si traduce in una dimensione di distribuzione compatta e un basso consumo di risorse rispetto alle tradizionali soluzioni basate su Electron.

Funzionalità pratiche

Lo strumento copre la maggior parte delle attività quotidiane per geo-analisti e sviluppatori.

Spatial SQL locale nel browser

DuckDB-WASM permette di scrivere query SQL spaziali senza avviare PostgreSQL con PostGIS. Puoi eseguire join tra layer, calcolare zone buffer e aggregare dati direttamente nell'interfaccia dell'applicazione.

Lavorare con dati 3D e scale temporali

GeoLibre supporta il lavoro con 3D Tiles e oggetti vettoriali volumetrici. Un esempio chiaro dai materiali demo del progetto è una mappa 3D degli edifici di Manhattan.

Demo 3D Tiles in GeoLibre

Ogni edificio è estruso in base all'altezza e colorato in base all'anno di costruzione. Utilizzando il time slider integrato, puoi riprodurre un'animazione e osservare come la città si è sviluppata dal 1850 al 2025.

Mappa 3D degli edifici di Manhattan

Mappatura di altri pianeti

I creatori del progetto non si sono limitati alla Terra. La piattaforma include mappe di base da OpenPlanetaryMap e USGS Astrogeology.

Vista di Marte in GeoLibre

Puoi passare alla Luna, Marte, Mercurio, Venere o alle lune di Giove. Ogni corpo celeste ha il proprio ellissoide definito, quindi i calcoli di distanza e area rimangono accurati.

Integrazione con Python e Jupyter

È disponibile un pacchetto Python separato geolibre per i data scientist. Permette di incorporare mappe interattive direttamente nelle celle di Jupyter Notebook. Puoi passare un DataFrame Pandas o GeoPandas al widget e ottenere immediatamente una rappresentazione cartografica pronta all'uso.

Come provarlo

Il modo più veloce è aprire la versione web web.geolibre.app. Nessuna registrazione o installazione richiesta.

Se stai lavorando in Jupyter, il pacchetto si installa con un comando standard:

pip install geolibre

Per l'installazione con Conda, usa il repository conda-forge:

conda install -c conda-forge geolibre

Per build desktop locali dell'applicazione per la tua distribuzione, avrai bisogno di Node.js e Rust:

git clone https://github.com/opengeos/GeoLibre.git
cd GeoLibre
pnpm install
pnpm tauri dev

Per chi è stato creato il progetto

GeoLibre è utile per sviluppatori, ricercatori e analisti di dati che necessitano di uno strumento rapido per ispezionare e visualizzare dati geospaziali. Non sostituisce completamente gli strumenti GIS pesanti per cartografia complessa, ma gestisce efficacemente l'elaborazione iniziale rapida, il prototipaggio in Jupyter e la dimostrazione di dati spaziali direttamente in un browser web.

Progetti correlati