Georeferenziazione Mappe... (old)

(QUESTO e' il link al tutorial ultima versione!!!)

In TANTI e non sempre semplici passi (ma è sempre più facile farlo che spiegarlo!)

 

L'obiettivo è quello di utilizzare le immagini satellitari di Google Maps per identificare con precisione dei punti di mappe storiche ancora riconoscibili, e assegnare ad essi una coordinata; dopo di che la mappa deve essere automaticamente ridimensionata, posizionata e deformata in modo da coincidere perfettamente con il territorio. Il risultato dell'operazione deve essere visualizzabile, zoomabile e stampabile con Google Earth. Il tutto con software libero e gratuito...

Per ottenere un risultato il più possibile preciso ho deciso di indagare le possibilità dei software cartografici ( GIS ) - è un MONDO A PARTE, e sto iniziando a capire i fondamentali solo ora... quindi probabilmente questa guida evolverà nel tempo, e anche i risultati miglioreranno ulteriormente...

Questa è la guida per ottenere un risultato nel modo più semplice che ho trovato... ma l'atteggiamento da tenere è SPERIMENTARE, SPERIMENTARE, SPERIMENTARE! C'è tanta di quella roba che ho appena scalfito la superficie...

NOTA IMPORTANTE - Bisogna sempre essere connessi a Internet.

Innanzitutto bisogna installare nell'ordine i seguenti pacchetti:

Google Earth: http://www.google.com/earth/download/ge/agree.html

Quantum GIS: http://qgis.org/downloads/QGIS-OSGeo4W-1.8.0-2-Setup.exe

MapTiler BETA2: http://maptiler.googlecode.com/files/maptiler-1.0-beta2-setup.exe

Se gli installers chiedono quale lingua usare... scegliere sempre l'English (sorry... ma Google parla straniero, e non sarei mai arrivato a questo punto senza un google-fu potente... :-) )

Dopo aver installato tutto, lanciare QuantumGIS, e da menù Plugins scegliere la voce 'Fetch Python Plugins'.

Si connetterà alle sue repository, e dopo aver tritato un po', presenterà una lunga lista con tutti i plugins installabili. Ordinarli per nome cliccando sulla colonna 'Name', e scegliere 'OpenLayers plugin'.

Quindi cliccare su 'Install plugin' (ok, qui non si vede perchè l'ho già installato... ma è al posto del bottone 'reinstall plugin')

Poi selezionare Plugins/Manage Plugins, e verificare che siano abilitati il plugin 'Georeferencer GDAL' e 'OpenLayers Plugin'

alla fine nel menù Plugins apparirà una voce in più: 'OpenLayers Plugin', e nel menù 'Raster' sarà presente la voce 'Georeferencer'.

Da qui in poi iniziamo a georeferenziare, e sono operazioni che si ripeteranno per ogni progetto.

1) Scegliere Plugins/OpenLayers Plugins/Add Google Satellite Layer

Compare una mappa del pianeta un po' strana... con i continenti duplicati. Questo perchè le google maps utilizzano il sistema spaziale di riferimento (CRS) WGS84, che ha le coordinate indicate da -180 a +180, mentre Google Earth usa l'EPSG:900913, che ha coordinate da -90 a +90... quindi dobbiamo modificare il CRS della mappa di Google.

2) Click destro sul layer che è comparso a sinistra, 'Google Satellite'... e selezionare 'Set Layer CRS'.

3) - scrivere nel campo Filter il numero 900913.

4) - Selezionare la riga 'Google Mercator', e cliccare su Apply.

RIPETERE I PASSI DA 1 A 4, MA SCEGLIENDO AL PUNTO 1 Plugins/OpenLayers Plugins/Add Google Hybrid Layer.

(Questo non è indispensabile, ma per orientarci meglio vogliamo anche vedere la cartografia stradale... poi questo layer lo disabiliteremo.)

Ora dobbiamo indicare che tutte le trasformazioni del progetto che saranno eseguite sulla base delle mappe di Google dovranno utilizzare il CRS EPSG:900913

- scegliere Settings/Project Properties, e nella finestra che si aprirà, cliccare sul tab 'Coordinate Reference Systems',

- settare il check su 'Enable on the fly CRS transformation' ,

- scrivere nel campo Filter il numero 900913.

- Selezionare la riga 'Google Mercator', e cliccare su Apply.

Poi da menù View, selezionare 'Zoom Full'.

Il risultato sarà questo:

Ora selezionare View/Zoom to Selection, e selezionando rettangoli di zoom, raggiungere la zona della Taurasia che interessa...

Ora che abbiamo trovato il posto, disabilitiamo il layer stradale...

Abbiamo creato i layers di riferimento, e si può passare al lavoro serio.

Da menù Raster, selezionare Georeferencer/Georeferencer.

Compare una nuova finestra:

Dal menù File del Georeferencer, selezionare OpenRaster.

Si aprirà una finestra in cui selezionare la mappa storica che vogliamo georeferenziare... i formati supportati sono incredibilmente TANTI (anche perchè da qui si possono fare trasformazioni su set di dati di ogni genere...). Diciamo che la nostra mappa si chiama 1_AbbadiaDiStura.jpg

(Conviene decisamente studiarsi la mappa per bene, prima di iniziare. Magari importandola come layer, anche se approssimativamente, in Google Earth... perchè ci serviranno quanti più punti noti possibili, anche se in teoria TRE bastano. Più punti ci sono, più il risultato è perfetto.)

Compare la SOLITA finestra che chiede quale sia il CRS da adottare... anche qui scegliamo l'EPSG:900913 e clicchiamo OK.

La mappa si apre...

Con i soliti tasti di zoom (o il menu View, o la rotella del mouse), come in tutti i sw di grafica, zoomare su un punto noto:

Selezionare Edit/Add Point (o CTRL/A, o il tasto con i tre puntini), e cliccare con la massima precisione sul punto (in questo caso l'angolo più a sinistra dell'Abbadia). Si apre una finestrella...

Qui se si è in vena di masochismo, si possono inserire a mano latitudine e longitudine del CENTRO del pixel... ma noi invece clicchiamo sul tasto 'From map canvas'...

La finestra si minimizza, e torniamo sul layer di riferimento. Zoomiamo a piacimento, se non l'abbiamo già fatto (qui torna utile la rotella del mouse), fino a raggiungere lo stesso punto ai giorni nostri. Quindi ci clicchiamo sopra.. sempre con la massima cura...

Si ritorna al georeferencer, ma le caselle di latitudine e longitudine si sono automagicamente riempite:


Cliccando OK, abbiamo piazzato il primo punto.

RIPETERE L'OPERAZIONE A PIACIMENTO... Alla fine otterremo qualcosa del genere:

Premere il pulsante PLAY (o File/Start Georeferencing). Compare un messaggio: Please set transformation type. Click OK, e si apre una nuova finestra:

Questa è la parte più complicata... nel senso che i settaggi dipendono dalle circostanze.

Il campo Transformation Type è il fondamentale, perchè indica quale algoritmo utilizzare per 'rettificare' la mappa. Mi sembra che il più 'flessibile' sia il Thin Plate Spline, che utilizza la mappa come un foglio di gomma inchiodato sui punti noti... ma c'è AMPIO spazio per la sperimentazione...

Il resampling method è probabilmente OK lasciato a Nearest Neighbour. Ma ci si può divertire con Wikipedia a capire come funzionano gli altri... è un parametro che impatta sulla qualità dell'immagine finale nel caso in cui le deformazioni siano molto grandi.

La compressione è OK a NONE. a meno che la mappa sia così ENORME da creare problemi.

Target SRS DEVE essere... il solito EPSG:900913.

L'unica cosa ancora da fare è cliccare sul tasto accanto a 'Output Raster', e selezionare la directory in cui mettere il risultato dell'operazione, che sarà un file APPARENTEMENTE .tif (e apribile anche come semplice immagine, modificata rispetto a quella di partenza), ma con all'interno anche dei metadati con le coordinate dei punti noti nel sistema di riferimento selezionato. E' quelllo che si definisce un GEOtiff...

Premendo OK, parte a fare la trasformazione. Alla fine, nella directory indicata, ci sarà il file .tif di cui sopra.

Possiamo salvare i nostri punti con File/Save GCP points, chiudere il georeferencer, salvare il progetto con file/save project dandogli un nome, ed eventualmente chiudere anche QuantumGIS. Il PRIMO passaggio è finito.

-------------------------

Ora lanciamo il software MapTiler...

Selezionare Google Earth (KML SuperOverlay), poi Continue.

Con il tasto ADD, andare a selezionare il file .tif generato dal georeferencer... poi continue.

Selezionare con la tendina la voce 'Specify the id-number from the EPSG/ESRI database.

Verificare che sia selezionato EPSG, e indicare il numero... (SEMPRE LO STESSO, il 900913). Quindi premere SET. Viene creato automaticamente il descrittore della proiezione e dello sferoide (la curiosità mi ha portato immediatamente QUI...)

Se si vuole, si può cliccare su Preview the map reference... si aprirà il browser su Google Maps indicando il rettangolo della mappa, per controllare che la georeferenziazione non l'abbia piazzata su Giove... cosa che può succedere, se si è sbagliato qualcosa... (prima di capire la logica del sistema di coordinate mi volteggiava a 60 Km sopra l'Oceano Indiano...)

Poi continue...

Basta fare continue...

Qui bisogna indicare (con browse) quale deve essere la directory BASE in cui tutta la struttura piramidale verrà creata. Poi Continue...

Selezionare Google Earth (KML SuperOverlay). Google Maps non funziona (più/ancora), in quanto Google ha cambiato recentemente la policy di utilizzo di Maps via API... OpenLayers non l'ho ancora provato.

Poi Continue...

Tutto opzionale... Click Continue!

Cliccando RENDER, viene generata una quantità abnorme di piccole immagini geolocalizzate con una logica piramidale in funzione di tutti i possibili zoom effettuabili... e un file .kml che ne descrive la struttura.

Trita un bel po'di dati per un bel po' di tempo (minuti).

Dopo di che abbiamo finito anche questo passaggio...

----------------------------------

Andando con Explorer nella directory specificata come base in MapTiler, troviamo questa 'roba':

Con doppio click su doc.kml, si apre Google Earth... con la nostra mappa aperta e posizionata nei luoghi temporanei!

Ma è un po'... TROPPO opaca! Allora, cliccando sul 'rettangolo' sotto i luoghi, abilitiamo lo slider della trasparenza... e la regoliamo a piacimento:

Ora la mappa e' perfettamente integrata in Google Earth, a qualunque livello di zoom, tilt, etc... e anche georeferenziata!!!!

BUON DIVERTIMENTO....

 

MQCVisions home page