TMap
Da MontelLUG WIKI.
TMap
TMap nasce come strumento per creare delle mappe statiche utilizzando come sorgente i dati resi disponibili dal progetto OpenStreetMap. L'idea è nata dalla richiesta di un visitatore presente al Linux Day 2014 : come possiamo creare delle mappe personalizzate? TMap consente di visualizzare solo quello di cui si ha bisogno e ci assiste in tutte le fasi della creazione.
Requisiti
TMap per funzionare richiede la presenza di Osmosis. Questo programma è scaricabile all'indirizzo http://wiki.openstreetmap.org/wiki/Osmosis Il percorso di installazione di Osmosis deve essere inserito nella variabile di ambiente PATH.
Sulla mia LinuxMint ho aggiunto al file '/home/utente/.profile' la riga PATH="$PATH:/opt/osmosis/bin"
Download delle mappe
Innanzitutto bisogna scaricare le mappe del territorio che si vuole rappresentare. TMap scarica le mappe direttamente dal sito download.geofabrik.de
tmap.exe --download asia
tmap.exe --download europe
tmap.exe --download europe/italy
Conversione di una mappa
Le mappe sono scaricate normalmente in formato Protocol Buffer (PBF) perché i file sono più piccoli e più veloci da elaborare. Con Osmosis è possibile convertire le mappe anche in formato XML e viceversa.
osmosis --read-xml file=mappa.osm --write-pbf file=mappa.pbf
osmosis --read-pbf file=mappa.pbf --write-xml file=mappa.xml
Creare un estratto
Se si intende lavorare molto con uno specifico tipo di dati (ad esempio, i confini amministrativi), conviene creare un estratto dei dati. Il dato tra parentesi quadre indica semplicemente che il comando --tf (tag filter) può essere ripetuto più volte.
osmosis --read-pbf file=mappa.pbf --tf accept-relations boundary=administrative [ --tf accept-relations admin_level=4 ] --uw --un --write-pbf file=estratto.pbf
Estrarre un confine amministrativo
Possiamo estrarre un confine amministrativo, ad esempio quello della nostra città, con il seguente comando. I significato di admin_level è ben documentato in http://wiki.openstreetmap.org/wiki/Key:admin_level
tmap.exe --extract-poly mappa.pbf boundary=administrative,admin_level=4,name=Veneto veneto.poly
tmap.exe --extract-poly mappa.pbf boundary=administrative,admin_level=6,name=Treviso treviso.poly
tmap.exe --extract-poly mappa.pbf boundary=administrative,admin_level=8,name=Montebelluna montebelluna.poly
tmap.exe --extract-poly mappa.pbf boundary=administrative,admin_level=8,name=Castelfranco\ Veneto castelfranco.poly
Iniziamo a vedere i primi risultati
Per disegnare il nostro confine su una immagine usiamo il comando --draw-poly. L'esempio seguente disegna l'area del Veneto di colore rosso e con un contorno nero di spessore 5 pixel. L'opzione --xml-info ci permetterà, in un secondo momento, di introdurre ulteriori contenuti nella mappa.
tmap.exe --draw-poly veneto.poly veneto.png --scale 2000 --xml-info --drawStyle mixed --drawFillColor FF0000 --drawOutlineColor 000000 --drawOutlineWidth 5
Ma se volessimo vedere le singole province?
tmap.exe --draw-poly veneto.poly veneto.png --scale 2000 --xml-info --drawStyle outline --drawOutlineColor 000000 --drawOutlineWidth 5
tmap.exe --draw-poly treviso.poly veneto.png --xml-info --drawStyle mixed --drawFillColor FFFF00 --drawOutlineColor 000000 --drawOutlineWidth 2
tmap.exe --draw-poly belluno.poly veneto.png --xml-info --drawStyle mixed --drawFillColor 00FFFF --drawOutlineColor 000000 --drawOutlineWidth 2
...
Disegnare dei punti di interesse
Per disegnare dei punti di interesse (o nodi in generale) utilizziamo il comando --draw-nodes. L'esempio seguente inserisce la posizione degli ottici presenti nel territorio:
tmap.exe --draw-nodes mappa.pbf shop=optician veneto.png --scale 2000 --xml-info --ds outline --dfc FF0000 --doc 000000 --dw 10 --dow 2 --dsym circle
E se volessimo anche il nome di questi negozi? Aggiungiamo al comando precendente queste opzioni:
--draw-name --fn Arial --fs 12 --fp topMiddle
E se volessimo dare una preferenza per il nome in una variante linguistica specifica? Aggiungiamo al comando queste opzioni:
--language en
Disegnare le strade
Per disegnare le strade utilizziamo il comando --draw-ways. L'esempio seguente inserisce le strade più importanti:
tmap.exe --draw-ways mappa.pbf highway=primary veneto.png --scale 2000 --xml-info --ds fill --dfc 000000 --dw 10
Licenza
Il programma è un software libero rilasciato in licenza GPL.
Download
Potete scaricare i sorgenti oppure l'eseguibile
Contatti
Per qualsiasi richiesta e commento potete scrivere a stefano.fraccaro chiocciola gmail punto com