Pagine

domenica 22 febbraio 2009

Quelli che... le ortofoto le mettono nel database

L'altro giorno ero da un Cliente che ha acquistato Image Web Server, e nel corso dell'incontro mi è stato chiesto se fosse necessario archiviare le ortofoto ad altissima risoluzione che compongono il mosaico regionale in un database, per aumentare l'efficienza del sistema. La risposta è no, l'abbiamo condivisa con il Cliente, e dopo l'incontro mi sono appuntato un paio di considerazioni che mi andava di riversare in questo Blog.

Chi decide di utilizzare IWS, tipicamente, è mosso dall'esigenza di dotarsi di un sistema di pubblicazione di immagini di grosse dimensioni (ortofoto, immagini satellitari o mappe raster tipo fogli IGM o Carte Tecniche Regionali, ad alta risoluzione), che faccia il suo lavoro di data serving indipendentemente dal server di dati vettoriali. Quindi la configurazione tipica è data da:
a) un IWS che pubblica i raster di sfondo, e
b) un Apollo Server (o ArcIMS, o MapServer, o MapGuide ecc.) che pubblica le mappe GIS.

Il bello di IWS è che la pubblicazione dei dati è molto semplice: poichè si tratta di un server che gestisce solo raster, devo preoccuparmi esclusivamente di creare il mosaico di immagini e comprimerlo con un algoritmo wavelet tipo ECW o JPG2000 che mi permetta di sfruttare le performance di streaming di IWS.

Come si può vedere sul Geoportale della Regione Lombardia, che utilizza IWS, i raster di sfondo sono circa una decina: ortofoto di diverse epoche, carte tecniche e modelli del terreno. A ciascuno di questi dataset corrisponde un singolo file ECW.
(per saperne di più su quanto sia facile creare questi file ECW, guardate questi video)

Il bello di questi formati compressi con le wavelet è che la velocità di lettura delle immagini è pressoché indipendente dalla dimensione del file. Che sia un file da 10 MB o da 160 GB, ci faccio un doppio click e si apre. Lo pubblico su Web con IWS e, appena apro la pagina web, visualizzo immediatamente il mosaico di tutta la Lombardia.. o di tutto il mondo!
Solo nel momento in cui faccio uno zoom, il server mi trasferisce la quantità di informazioni necessaria per migliorare la risoluzione dell'area che ho ingrandito.

Semplice ed efficace.

Il fatto che le ortofoto si possano pubblicare come un singolo file, il mosaico ECW appunto, mi offre un grosso vantaggio implicito: non ho bisogno di archiviare i fotogrammi in un database. Quindi se uso IWS non ho bisogno di archiviare i singoli file immagine in un database, e crearmi un collo di bottiglia inutile! Mi basta creare il mosaico ECW di ortofoto, lo copio in una directory assieme a tutti gli altri dati, e lascio che IWS lo legga via file system direttamente. Niente database.

Chi volesse approfondire questo aspetto, può leggere il documento File vs Database che spiega quali vantaggi offre IWS, rispetto ad una soluzione che preveda un data Server per gestire i dati geografici raster memorizzati in un database relazionale (DBMS), come ad esempio in una configurazione Oracle/ArcSDE.
Vantaggi che si riassumono in una riduzione complessiva dei costi, ed in migliori prestazioni, soprattutto in presenza di numerose connessioni simultanee, come accade abitualmente per i geo-portali regionali o nazionali più importanti.