22 aprile, 2008 | di

In un post recente, ho scritto di alcune delle modalità di pubblicazione online di cartografia digitale. Ne sono seguiti dei commenti interessanti, ed alcune email con richieste di consigli e di approfondimento. L’argomento  mi è sembrato “caldo”, e credo valga la pena alimentarlo ulteriormente.

Su un blog che vi consiglio di leggere – thematicmapping blog – ho scoperto dell’esistenza di GDAL2Tiles, un software a riga di comando che consente di pubblicare -rapidamente e con efficacia – una carta raster nelle seguenti modalità: Google Maps, OpenLayers and Google Earth. E’ uno strumento incluso in GDAL/OGR 1.5.0, e quindi anche nell’ultimo FWTools.

image_pyramid Il lavoro che fa GDAL2Tiles è quello di leggere un’immagine georeferenziata, e suddividerla in tasselli da 256 x 256 pixel, con una struttura a piramide (il nome del pacchetto è in qualche modo descrittivo della funzione che svolge). In altre parole a partire da una raster, ne vengono generate diverse a risoluzioni decrescenti, che vengono suddivise in sezioni da 256 pixel (vedi figura).

Il tassellamento e la piramidazione sono molto efficienti per distribuire raster sul web, in quanto l’immagine potrà essere visualizzata direttamente alla risoluzione adatta al livello di zoom attivo, e verranno scaricati soltanto i tasselli dell’area che stiamo osservando a video. E’ il meccanismo che sta dietro al motore di Google Maps e a quello dei maggiori provider di cartografia online.

Andiamo alla parte pratica e proviamo a mettere online una delle fantastiche immagini presenti su Natural Earth II. Si tratta di file (qui sotto un esempio) che rappresentano la terra, così come sarebbe senza l’influenza dell’uomo (immaginate Parigi coperta da una foresta temperata …); una rappresentazione del pianeta, precedente all’era moderna.

natural_earth

Per il mio esempio ho scaricato la tavola denominata “Ocean with layered depth tints“.

La prima cosa che ho fatto è stata georeferenziarla. Conosco le coordinate dei 4 vertici della tavola, ho FWTools installato, e dalla shell FWTools lancio il seguente comando:

> gdal_translate -a_srs EPSG:4326 -gcp 0 0 -180 90 -gcp 16200 0 180 90
-gcp 16200 8100 180 -90 NE2_modis3.jpg NE2_modis3.tif

gdal_translate è una delle utility presenti in FWTools; questo il significato dei parametri usati:

-a_srs per assegnare il corretto sistema di coordinate (EPSG:4326)
-gcp per assegnare i vari punti di controllo (prima le coordinate in pixel, e poi quelle del sistema di coordinate scelto)

A partire dalla jpeg scaricata, ho creato un tif georeferenziata, assegnando come punti di controllo i 4 vertici della carta.

Dovrò adesso processare l’immagine con gdalwarp:

> gdalwarp -t_srs EPSG:4326 NE2_modis3.tif NE2_modis3_4326.tif

-t_srs è il parametro per assegnare il sistema di coordinate.

La mia immagine di partenza è di 16200  x 8100 pixel; GDAL2Tiles la tassellerà e la piramiderà. Ogni tassello che andrò a generare sarà di  256 x 256 pixel. I livelli di piramidazione, corrispondenti ai livelli di zoom possibili, rispecchieranno lo schema della tabella sottostante.

Livello di Zoom

Dimensione immagine

Tasselli

Numero totale di tasselli

1

512 x 256

2 x 1

2

2

1024 x 512

4 x 2

8

3

2048 x 1024

8 x 4

32

4

4096 x 2048

16 x 8

128

5

8192 x 4096

32 x 16

512

6

16384 x 8192

64 x 32

2048

7

32768 x 16384

128 x 64

8192

Per il mio esempio mi “accontenterò” di un livello di zoom massimo pari a 5 e, prima di dare in pasto il mio file a GDAL2Tiles, ne ridurrò le dimensioni di conseguenza:

> gdal_translate -outsize 8192 4096 NE2_modis3_4326.tif
NE2_modis3_4326_5.tif

-outsize per specifcare la larghezza e l’altezza dell’immagine di output

Non mi resta che “passare” a GDAL2Tiles, l’ultimo file generato:

> gdal2tiles -title \"Pubblicare una Raster\" -publishurl
http://www.nostroserver.org/maptiles/ -v 
NE2_modis3_4326_5.tif cartella_di_output

-title per dare un titolo al progetto
-publishurl per definire l’url delle mappe che pubblicheremo
-v per avere un output “verboso” del comando, e leggere a video il dettaglio di tutte le operazioni eseguite da GDAL2Tiles

L’output del processo sarà una cartella con il seguente contenuto:

  • una sottocartella per ognuno dei livelli di piramidazione (in ognuna di queste diverse altre sottocartelle con i vari tasselli da 256 x 256 pixel)
  • un file denominato “openlayers.html”, ovvero un’interfaccia web basata su OpenLayers
  • un file denominato “googlemaps.html”, ovvero un’interfaccia web basata su Google Maps
  • un file denominato “tilemapresource.xml”, ovvero lo schema della struttura dei tasselli di mappa
  • un file denominato “cartella_di_output.kml”, che ci consentirà di visualizzare in Google Earth l’immagine processata (vedi figura sotto)

Bisognerà fare l’upload di tutti i file creati da GDAL2Tiles, all’interno della cartella specificata sopra con il parametro -publishurl, e testarne infine il risultato.

Qui potete testare la visualizzazione della mappa in OpenLayers, qui in Google Maps e qui in Google Earth.

google_earth

Il file con l’interfaccia basata su OpenLayers ha bisogno di una patch. Qui il file con la patch applicata.

Un bravo webmaster è in grado di portare a termine questa procedura, senza sapere nulla di cartografia digitale? Probabilmente si, ma magari soltanto in modo meccanico e pertanto non saprà applicarla ad esempi differenti da quelli descritti (immaginate di partire da un 25000 IGM).

Non ci si improvvisa cartografi online, e bisogna sempre documentarsi. Strumenti come questo fanno venire la voglia di farlo e consentono una più rapida valorizzazione e diffusione di queste tematiche. E’ per questo che mi piace GDAL2Tiles.

8 aprile, 2008 | di

Spero che tutti voi conosciate A List Apart, il miglior sito che parli di html, css e costruzione di siti web. E’ pieno di articoli raffinati nei contenuti e nelle illustrazioni, ed è per me il paradiso dei webmaster. STOP agli elogi (ce ne sarebbero da fare ancora, credetemi).

L’articolo di oggi è dedicato a quelli come noi a cui piace la cartografia, specie quella sul web. Il titolo è Take Control of Your Maps.

L’articolo parte dal presupposto ineccepibile che Google Maps ha completamente cambiato il modo di pensare alle mappe sul web; specie dal rilascio delle API, che hanno reso la cosa ancora più creativa ed interessante.
Ma è passato del tempo dall’uscita di Google Maps, e l’autore ci illustra la ricchezza di alternative che abbiamo oggi a disposizione.
Si tratta di prodotti molto maturi ed amati da noi di TANTO: OpenLayers, TileCache, Mapnik, PostgreSQL, QGIS, GeoServer e MapServer.

L’obiettivo dell’autore è specialmente quello di avvicinare i webmaster al mondo della cartografia online, smitizzandone un po’ la difficoltà di implementazione e l’esiguità di alternative ai prodotti dei giganti del web (yahoo, microsoft e google).

Buona lettura!!!

2 aprile, 2008 | di

Da oggi nella vista “Terrain” di Google Maps saranno visibili ache le isoipse. E’ un’integrazione molto importante, ed utile per tutti. Qui un esempio.

etna_dem_isoipse

Via Google Lat Long Blog

27 novembre, 2007 | di

La prima. Da oggi è possibile anche in Google Maps visualizzare un DEM con un shaded relief applicato. Non sono riuscito a risalire alla fonte dei dati; non appena avrò nuove aggiornerò il post. E’ comunque un belvedere, che gli fa recuperare terreno rispetto ai concorrenti.

google terrain

La seconda. Dal sito Leica è possibile scaricare gratuitamente un bel libro dedicato ai GIS ed all’analisi d’immagine: ERDAS Field Guide. E’ una guida di base, utile per la didattica, in cui sono sviluppati gli argomenti tipici di questo mondo: archiviazione dei dati, correzione dei dati, geocoding, dati vettoriali, dati satellitari. Ad una lettura veloce mi sembra molto ben scritto, e con illustrazioni di grande chiarezza (in quella sottostante e descritta una classica operazione di overlay).
Qui maggiori dettagli.

overlay

28 giugno, 2007 | di

Vi sarà capitato spesso di usare Google Maps per calcolare il percorso per andare da una località ad un altra. Da oggi è possibie trascinare i vertici del percorso ed ottenere un tracciato più consono ai vostri desideri (forzare ad esempio il passaggio da un dato luogo, a costo di allungare un po’ la strada). Nella figura sottostante è evidente il cambiamento: è possibile scegliere uno dei nodi del tracciato (il quadrato bianco) e trascinarlo.

modifica percorsi google maps


TANTO non rappresenta una testata giornalistica ai sensi della legge n. 62 del 7.03.2001, in quanto non viene aggiornato con una precisa e determinata periodicita'. Pertanto, in alcun modo puo' considerarsi un prodotto editoriale.