4 maggio 2014 21:42
Creare mappe custom raster per GPS Garmin
Seconda puntata sull’argomento ciclocomputer GPS. Nel post di qualche giorno fa, abbiamo visto come installare le mappe OpenMtbMap: queste sono mappe di tipo “vettoriale” alle quali però possiamo sovrapporre delle mappe di tipo raster, immagini satellitari, mappe storiche oppure della nostra simbologia personalizzata per la creazione di itinerari particolari.
Molte volte infatti siamo abituati ad usare per una certa zona delle cartine che indicano nomi o numeri di sentieri che poi ritroviamo sui cartelli ed è quindi comodo avere quel riferimento a portata di mano durante il giro. Nella mia zona le cartine Tobacco e Kompass sono infatti abbastanza precise e particolareggiate e se abbiamo in casa una copia cartacea e uno scanner possiamo divertirci a creare il nostro pezzo di mappa raster. Le Kompass sono inoltre disponibili anche in formato digitale e per gli esempi di cui sotto userò proprio la carta Kompass Südtirol.
Il procedimento per creare e installare le custom maps sia sul device che su BaseCamp è descritto molto bene in questo documento ufficiale di Garmin. I passi principali sono:
- Creare tramite screenshot o tramite scansione il o i file JPG della zona che ci interessa
- Georefenrenziarla tramite Google Earth (la parte più pallosa!) e creare un file KMZ
- Importarla in BaseCamp per le verifiche del caso
- Caricarla su uno dei device Garmin compatibili con questa feature (Colorado, Oregon, Dakota, GPSMAP 62/78, Edge 810/800/510 )
Creazione jpg
I file delle mappe possono essere creati scansionando la mappa cartacea oppure facendo degli screenshots dal PC (non sapete quale programma usare? ecco qui…). Su molte guide si parla di generare i file a tot DPI, lasciate perdere questa inutile indicazione (che serve solo se legata ai cm./inches del nostro output di stampa) e concentratevi invece sui PIXEL di larghezza e altezza (width x height). Esiste infatti purtroppo un limite dei device Garmin che non accettano file jpg maggiori di 1 mpx di area, quindi al massimo 1024x1024 o 512x2048, ecc. Quando il jpg supera queste dimensioni il device lo fa vedere “sgranato”; la cosa è abbastanza assurda perché non viene guardata la size in bytes ma solo in pixel, quindi io potrei avere un file da 1024x1024 da 2 Mb perché a qualità 100 (nessuna compressione) che funziona e uno un po’ più grande da 300 kb (es. quality=80) che viene sgranato… mah! Ad onor del vero io ho fatto una prova caricando un file jpg da poco meno di 2 megapixel (1920x1080) e non ho trovato grossi problemi di visualizzazione…
Se comunque vogliamo attenerci a questo limite e il nostro file è più grande ? Possiamo farne il resize in uno dei tanti programmi free che lo consentono (anche il Paint di Windows, volendo), oppure generare a mano i vari riquadri (tiles) con operazioni di crop e cut.
Ricordiamoci di salvare in jpg, senza il flag Progressive acceso.
Georeferenziazione con Google Earth
A questo punto il nostro Jpeg deve essere georeferenziato, ovvero in parole povere dobbiamo stabilire dove piazzare nello spazio questa cartina e se ha bisogno di rotazioni o stiramenti (stretch). Il metodo consigliato da Garmin è quello di usare Google Earth (ci basta la versione free). Apriamo il software (sorry io uso solo versioni inglesi dei software per una serie buoni di motivi, un esempio?…), posizioniamoci zoomando nei dintorni della zona interessata e facciamo dal menu Add prendiamo il comando Image Overlay . Nel primo Tab scegliamo con Browse il nostro Jpg (tenere un path fisso perché poi GE andrà a cercarlo sempre lì quando apriremo il KMZ), diamo un nome ed un’eventuale descrizione e NON chiudiamo la finestra che invece sposteremo (su un secondo monitor o di lato).
L’altro parametro che ci interessa settare è il Draw Order che troviamo sotto il Tab Altitude (non su Location come dice la guida garmin). Settiamolo a un valore < 50 se vogliamo che le strade e i sentieri della nostra mappa stiano SOPRA al raster, o a un valore > 50 se invece vogliamo che la nostra custom map sia sopra a tutto (tranne i waypoint e i POI)
Sulla nostra mappa satellitare vedremo comparire il nostro jpg (probabilmente occupante un’area molto più grande del normale) che possiamo rendere trasparente con lo slider apposito (tirare verso “clear”).
A questo punto comincia la parte noiosa: usando i controlli in verde della mappa raster, dobbiamo posizionarla più precisamente possibile sopra l’immagine satellitare reale: ai quattro angoli e quattro lati troviamo strumenti di resize/stretch, al centro (la croce) uno strumento di pan/move e il rombo sul lato sinistro serve per la rotazione. A piccoli passi, continuando a zoomare in/out e spostandosi, riusciremo a piazzare con sufficiente precisione il nostro raster. Se per caso ci siamo sbagliati e abbiamo chiuso la finestra popup, basterà fare tasto destro, Properties sul nome del nostro Luogo (Place) dalla lista di sinistra.
Concluso il posizionamento, facciamo Tasto destro sul nostro Place e scegliamo Save Place as… salvando il file KMZ in una cartella a piacere.
Nota: dentro un file KMZ possiamo importare N file jpg (il limite del device Garmin è 100); se quindi abbiamo suddiviso il nostro JPG scansionato in tanti piccoli tiles, ripetiamo le operazioni precedenti per ognuno dei file jpg.
Georeferenziazione con OkMap
Un metodo alternativo per geo-referenziare una raster è il software free OkMap scaricabile qui. Il concetto di base è che, invece di fare l’operazione graficamente andando a tentativi, useremo un metodo più preciso fornendo le coordinate di almeno 3 punti (se sono di più tanto meglio, l’algoritmo avrà più dati su cui lavorare). Per cambiare esempio, supponiamo di volere importare un’immagine satellitare presa da Google Maps o da Bing; farlo giocando con la trasparenza, sopra quella di Google Earth è praticamente impossibile, mentre con il metodo dei 3 punti è un gioco da ragazzi. Un ulteriore vantaggio di questo software è che dispone già di un tool per crearci automaticamente le tiles di dimensioni corrette, quindi non abbiamo bisogno di osservare i limiti del 1 Mpx esposti sopra.
Apriamo il software e creiamo una nuova mappa: File, New Raster Map. Scegliamo il nostro File JPG che appare nella finestra con a lato un pannellino di controllo. Premiamo Map Setup…e forniamo un nome alla mappa e un’eventuale descrizione.
Clicchiamo Next, e scegliamo il tipo di Projection e di Datum. Qui ammetto la mia totale ignoranza e non voglio addentrarmi in spiegazioni che probabilmente non saprei dare. Si può lasciare vuoto quel campo oppure se si conosce il tipo di proiezione usato per la mappa si può immettere quello. Per le mappe recenti (e per quelle satellitari) mi pare di capire che si può indicare la proiezione WGS84 e la propria zona UTM (l’Alto Adige si trova nella zona UTM 32N)
A questo punto con lo strumento New Georef Point () possiamo iniziare a inserire il primo punto e a dargli le precise coordinate. Ma come facciamo a saperle? Esistono molti tool sulla rete dove basta indicare un punto su una google map e ci vengono restituiti la sua longitudine e latitudine; uno di questi è sul mio sito ed è molto semplice da usare (zoomate sulla mappa, cliccate con tasto sinistro, compare un pushpin blu e in alto trovate le coordinate da copiare nel software OkMap).
Aggiungiamo un secondo e un terzo punto con il pulsante Add, posizioniamolo graficamente con e inseriamo le rispettive coordinate.
Come consigliato sulla documentazione ufficiale i 3 punti minimi non devono trovarsi allineati tra di loro ma in posizioni “sparse”.
Clicchiamo su ACCEPT e la nostra mappa sarà geo-referenziata. Salviamo il file nativo .okn che possiamo anche chiudere.
Dal menu Utilities prendiamo i comando “Map Tiling/Garmin Custom Map”. Con il bottone LOAD MAP della toolbar SOTTOSTANTE andiamo a caricare la mappa okn appena salvata (anche se è già aperta).
Automaticamente il software ci fa vedere in quanti tiles suddividerebbe la mappa secondo il limite del megapixel (1024x1024). Possiamo cambiare un po’ di parametri (il solito Draw Order, nome, ID, ecc) e quando siamo pronti clicchiamo il triangolino blu di Generate. IL file KMZ contenente i 4 jpg tagliati e georeferenziati verrà salvato nella cartella indicata.
Importazione in BaseCamp
Le Custom Maps ci possono essere utili in fase di pianificazione di un giro nel software Basecamp. Consiglio di creare una apposita List dove metterle e poi da lì dare il comando File>Import. Scegliere il file KMZ che verrà visualizzato sopra la nostra mappa attualmente selezionata. Facendo doppio click sul nome della mappa importata vedremo il/i file jpg componenti il kmz e potremo cambiare il Draw Order a posteriori (nell’esempio sottostante la mappa custom a sinistra ha Drawing Order 100 e quindi è sopra a tutto, mentre quella a destra 0, quindi le strade della OpeMtbMap si vedono sopra).
Ovviamente non siamo limitati solo a jpg di mappe, possiamo ad esempio importare screenshot presi da Google Maps o Bing come quello che abbiamo georeferenziato con OkMap.
Se la nostra mappa vettoriale contiene i dati DEM (qui rappresentata una versione di OpenMtbMap Italy alla quale sono stati aggiunti, argomento di un prossimo post), passando alla visione 3D, ovviamente la mappa raster verrà “spalmata” correttamente sull’orografia. Se siamo stati bravi a geo-referenziare il jpg, i callout dei sentieri e dei POI delle mappe vettoriali coincideranno perfettamente.
Importazione sul device Garmin
La procedura è molto semplice. Colleghiamo il gps al pc, apriamo dal explorer la cartella del dispositivo e dentro la cartella Garmin creiamo (se già non esiste) una cartella CustomMaps. Copiamo lì dentro il file KMZ e, staccato dal pc, accendiamo il device. Attiviamo la mappa in Impostazioni>Sistema>Mappa>Seleziona Mappa. L’operazione di copia può essere fatta anche sulla scheda SD e anzi possiamo sfruttare questa cosa per tenere DUE mappe custom di due zone diverse, anche se si possono attivare/disattivare solo contemporaneamente.
Occhio che se il file jpg è stato compresso poco, oppure il kmz contiene molti jpg, la visualizzazione potrebbe essere un po’ rallentata (almeno sul mio Edge 800).
Buon Divertimento!