Friday 21 January 2011

Visualizzare profili topografici nel Web

Le mappe web, assieme a Google Earth e simili, sono le modalità più diffuse di visualizzazione dei dati GIS nel Web. I profili topografici e per estensione quelli geologici, sismologici, etc. non hanno invece trovato una forma di espressione per il Web condivisa. Consideriamo uno strumento open source che, fra le molte funzionalità di cui dispone, permette di visualizzare e “navigare” all'interno di profili (altri a http://www.splashnology.com/blog/javascripts/290.html).

E' Protovis - http://vis.stanford.edu/protovis/ - una libreria di visualizzazione scientifica per il web sviluppata dallo Stanford Visualization Group e rilasciata sotto licenza BSD.
Protovis si basa su JavaScript per la logica e SVG per la grafica, quest'ultimo ora implementato in via nativa nelle versioni recenti di browser come Chrome, Firefox, Opera, Safari (ma non ancora disponibile in Internet Explorer).

La galleria degli esempi di Protovis - http://vis.stanford.edu/protovis/ex/ - è una fonte di ispirazione per utilizzi e adattamenti a scopi particolari. Nel nostro caso l'esempio che illustra la tecnica “Focus + context” può essere adattata per i profili topografici (nell'esempio originario rappresenta una serie temporale casuale).

L'aspetto più importante nella modifica del codice JavaScript è la definizione dei dati, cioè le elevazioni lungo un profilo topografico. I dati che ho usato come test riguardano la topografia dell'Appennino settentrionale, derivati da SRTM2 (cella di 90 m). La creazione del profilo è stata effettuata con Mirone - http://w3.ualg.pt/~jluis/mirone/ - ed i dati in formato csv sono stati convertiti nel formato JSON utilizzando la funzionalità online di Christopher Parker: http://www.cparker15.com/utilities/csv-to-json/

I dati convertiti in JSON possono quindi essere inseriti in un file JavaScript a rappresentare una variabile: nel nostro caso la variabile "data" nel file "data.js" che viene importato nel file html. A parte altre modifiche minori del codice Javascript e html, la struttura è risultata funzionante in maniera immediata. Questo esempio può essere visualizzato con qualsiasi browser recente (escluso Explorer) all'indirizzo: http://www.malg.eu/blog/protovis/profili.html


Esempio di visualizzazione di profilo topografico nell'Appennino settentrionale.


Come si può notare, la versione base consente di navigare lungo la sezione, ridimensionare la larghezza del box di scorrimento, scalare o non scalare localmente l'altezza del profilo.


Potenzialmente profili simili possono essere resi più interessanti ed interattivi. Alcuni esempi sono l'aggiunta di informazioni che riguardano il substrato roccioso, come ipocentri sismici, o funzionalità di calcolo di parametri topografici come slope o curvature (su profilo 2D). O può essere creata una applicazione web che consenta di caricare dati topografici o similari in formato .dat o jason e visualizzi il profilo risultante.

No comments: