User Tools

Site Tools


tecnica:gps_cartografia_gis:osm_recipes

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
Last revisionBoth sides next revision
tecnica:gps_cartografia_gis:osm_recipes [2020/04/05 08:18] – [Personalizzazione del simbolismo (file TYP)] niccolotecnica:gps_cartografia_gis:osm_recipes [2020/07/31 07:53] – [Riferimenti Web] niccolo
Line 9: Line 9:
 Per motivi di capienza sarà quindi necessario restringere l'estensione della mappa ad **una sola regione** (in questo esempio la Toscana), inoltre si dovrà optare per una **mappa di tipo on-road** (ad esempio per uso cicloturistico) oppure una **off-road** (per uso trekking o MTB). Nel primo caso si includerà solo la rete stradale ordinaria (da **//motorway//** a **//unclassified//** nella classificazione OSM), nel secondo caso quella off-road (**//footway//**, **//track//** e **//path//** nella classificazione OSM). Per motivi di capienza sarà quindi necessario restringere l'estensione della mappa ad **una sola regione** (in questo esempio la Toscana), inoltre si dovrà optare per una **mappa di tipo on-road** (ad esempio per uso cicloturistico) oppure una **off-road** (per uso trekking o MTB). Nel primo caso si includerà solo la rete stradale ordinaria (da **//motorway//** a **//unclassified//** nella classificazione OSM), nel secondo caso quella off-road (**//footway//**, **//track//** e **//path//** nella classificazione OSM).
  
 +**ATTENZIONE**: Dopo un po' di prove sul campo ho realizzato che per fare trekking è necessario avere **contemporaneamente** sia le **strade asfaltate** che i **sentieri**. A queste condizioni **una regione intera** come la Toscana **non ci sta**. Il mio suggerimento è quindi di estrarre i dati solo di **alcuni comuni** limitrofi.
 ===== Cosa includere ===== ===== Cosa includere =====
  
Line 15: Line 16:
   * **Centri abitati**. Avere i centri abitati come waypoint è utile per effettuare ricerche e spostarsi velocemente sulla mappa del GPS.   * **Centri abitati**. Avere i centri abitati come waypoint è utile per effettuare ricerche e spostarsi velocemente sulla mappa del GPS.
   * **Confini amministrativi**. Si sono inclusi i confini delle regioni italiane soprattutto per fini "estetici", poiché sono utili ad interpretare la mappa a livelli di zoom inferiori. I confini NON vengono utilizzati per l'indicizzazione degli indirizzi da utilizzare durante la ricerca degli stessi. L'aggiunta dei confini regionali ha ingrossato la mappa finale di circa **170 kb**.   * **Confini amministrativi**. Si sono inclusi i confini delle regioni italiane soprattutto per fini "estetici", poiché sono utili ad interpretare la mappa a livelli di zoom inferiori. I confini NON vengono utilizzati per l'indicizzazione degli indirizzi da utilizzare durante la ricerca degli stessi. L'aggiunta dei confini regionali ha ingrossato la mappa finale di circa **170 kb**.
 +
 +===== Galleria =====
 +
 +{{.:etrex_osm:img_01.jpg?160|}}
 +{{.:etrex_osm:img_02.jpg?160|}}
 +{{.:etrex_osm:img_03.jpg?160|}}
 +
 +{{.:etrex_osm:img_04.jpg?160|}}
 +{{.:etrex_osm:img_05.jpg?160|}}
 +{{.:etrex_osm:img_06.jpg?160|}}
  
 ===== Confini regioni italiane da Istat ===== ===== Confini regioni italiane da Istat =====
Line 238: Line 249:
  
  
-===== Preparazione dello stile della mappa =====+===== Personalizzare lo stile della mappa =====
  
 Prima dell'esecuzione finale del programma **mkgmap** è opportuno definire lo stile della mappa; a causa delle limitate capacità grafiche del Garmin eTrex 10 lo stile predefinito non è ottimale. Tre sono i concetti propedeutici da comprendere: Prima dell'esecuzione finale del programma **mkgmap** è opportuno definire lo stile della mappa; a causa delle limitate capacità grafiche del Garmin eTrex 10 lo stile predefinito non è ottimale. Tre sono i concetti propedeutici da comprendere:
Line 334: Line 345:
 ==== Personalizzazione del simbolismo (file TYP) ==== ==== Personalizzazione del simbolismo (file TYP) ====
  
-Ogni GPS Garmin ha un **simbolismo predefinito** che definisce l'aspetto grafico per ogni oggetto mappa. Ad esempio una **highway=track** della mappa OSM viene convertita in un oggetto Garmin **line Type=0x00a**, che viene mostrata sul display dell'eTrex 10 con un certo spessore e colore.+Ogni GPS Garmin ha un **simbolismo predefinito** che definisce l'aspetto grafico per ogni oggetto mappa. Ad esempio una **highway=track** della mappa OSM viene convertita da **mkgmap** in un oggetto Garmin **line Type=0x00a**, che viene mostrata sul display dell'eTrex 10 con un certo spessore e colore. Il simbolismo è **codificato all'interno del firmware** del GPS, nell'eTrex provvede anche ad adattare la rappresentazione grafica rispetto alla scala; ad esempio una strada di tipo //secondary// verrà rappresentata con una linea più spessa quando si aumenta lo zoom.
  
-Nella mappa compilata con mkgmap è possibile definire delle **personalizzazioni** rispetto al simbolismo predefinito. Abbiamo sfruttato questa possibilità per **modificare l'aspetto** delle **linee** **Type=0x00a** e **Type=0x016** (track e path rispettivamente) in modo che fossero **più sottili** e non confondessero il display alla scala dei 2 km.+Nella mappa compilata con mkgmap è possibile tuttavia definire delle **personalizzazioni** rispetto al simbolismo predefinito. Abbiamo sfruttato questa possibilità per **modificare l'aspetto** delle **linee** **Type=0x00a** e **Type=0x016** (track e path rispettivamente) in modo che fossero **più sottili** e non confondessero il display alla scala dei 2 km.
  
 Per ottenere il risultato è sufficiente creare un file **my_etrex10.txt** con questo contenuto: Per ottenere il risultato è sufficiente creare un file **my_etrex10.txt** con questo contenuto:
Line 373: Line 384:
 </file> </file>
  
-**ATTENZIONE**: Il file qui sopra produce un simbolismo che verrà **applicato ad ogni level**. Cioè le linee **Type=0x00a** e **Type=0x016** saranno rappresentate sempre allo stesso modo ad ogni livello di zoom. Questo è molto differente dagli stili applicati automaticamente, dove ad esempio il **Type=0x04** applicato alle **highway=secondary** produce linee via via più spesse quando si aumenta il livello di zoom.+**ATTENZIONE**: Il file qui sopra produce un simbolismo che verrà **applicato per ogni level**. Cioè le linee **Type=0x00a** e **Type=0x016** saranno rappresentate sempre allo stesso modo ad ogni livello di zoom. Questo è molto differente dagli stili applicati internamente dall'eTrex, dove ad esempio il **Type=0x04** applicato alle **highway=secondary** produce linee via via più spesse quando si aumenta lo zoom. In alternativa si dovrebbero definire diverse righe nel file ''style/default/lines'' (vedi sopra), ciascuna associata ad una resolution diversa e con un codice Type diverso, qualcosa del tipo: 
 + 
 +<file> 
 +highway=track [0x0a road_class=0 road_speed=1 resolution 24 continue] 
 +highway=track [0x0a01 road_class=0 road_speed=1 resolution 23-20 continue] 
 +highway=track [0x0a02 road_class=0 road_speed=1 resolution 19] 
 +</file>
  
 La riga **[[wp>X_PixMap|Xpm]]** definisce il bitmap in termini di **larghezza**, **altezza**, **colori** e **caratteri per pixel**. Le righe successive definiscono il **colore** rappresentato da **ciascun carattere** (il punto esclamativo è nero o grigio, lo spazio è trasparente), infine il **bitmap** vero e proprio che nel nostro caso è una matrice di 32x1 caratteri. La riga **[[wp>X_PixMap|Xpm]]** definisce il bitmap in termini di **larghezza**, **altezza**, **colori** e **caratteri per pixel**. Le righe successive definiscono il **colore** rappresentato da **ciascun carattere** (il punto esclamativo è nero o grigio, lo spazio è trasparente), infine il **bitmap** vero e proprio che nel nostro caso è una matrice di 32x1 caratteri.
Line 379: Line 396:
 **NOTA BENE**: Con **mkgmap versione svn3741** non è più necessario compilare il file TYP, è possibile utilizzare direttamente il testo sorgente. **NOTA BENE**: Con **mkgmap versione svn3741** non è più necessario compilare il file TYP, è possibile utilizzare direttamente il testo sorgente.
  
-Per ulteriori dettagli vedere:+===== No Results foundbug POI non elencati per categoria ===== 
 + 
 +Sembra che ci sia un bug nel firmware dell'eTrex 10: in alcune circostanze gli **waypoint inclusi nella mappa non vengono elencati nelle opportune categorie**. Ad esempio uno waypoint a cui sia assegnato il **tipo 0x2c0d** viene visualizzato sulla mappa con l'icona **Place of worship** e dovrebbe comparire nel menu **Where to?** => **Community**. 
 + 
 +Dovrebbe essere sufficiente che la **mappa OSM** contenga un nodo di questo tipo: 
 + 
 +<file> 
 +<node id="170860041" lat="43.91410710" lon="11.22389060" version="1"> 
 +  <tag k="amenity" v="place_of_worship"/> 
 +  <tag k="name" v="Pieve di San Severo"/> 
 +</node> 
 +</file> 
 + 
 +e lo stile **styles/default/points** contenga una riga del tipo: 
 + 
 +<file> 
 +amenity=place_of_worship [0x2c0d resolution 24] 
 +</file> 
 + 
 +Si è verificato invece che in alcune condizioni ciò non accade, la categoria **Community** riporta **No Results found - Try Adjusting Search Parameters**. Dalle prove fatte è necessario rispettare le seguenti condizioni per **evitare il bug**: 
 + 
 +  - Il file mappa OSM deve **contenere dei nodi** - eventualmente fasulli - che verranno assegnati agli stili da 0x2c0a a 0x2c0c. Tali nodi devono essere in prossimità degli altri, cioè più o meno nel range della mappa; posizionandoli in prossimità delle coordinate lat=0 lon=0 non funziona. 
 +  - Il file dello stile deve definire degli stili per i nodi di cui sopra, **assegando le icone da 0x2c0a a 0x2c0c**. 
 + 
 +In pratica sembra che l'eTrex abbia bisogno che nella mappa esista **la serie completa di sottotipi** (in questo caso a partire da 0x2c0a fino a quello che interessa a noi, cioè il 0x2c0d), altrimenti la categoria non viene creata. Non è chiaro come mai la serie completa in questo caso può iniziare da 0x2c0a, quando intuitivamente si potrebbe pensare che la serie inizia con 0x2c00.
  
-  * **[[http://www.mkgmap.org.uk/doc/typ-compiler|The mkgmap TYP file compiler]]** 
-  * **[[http://www.cferrero.net/maps/guide_to_TYPs.html|Guide to TYP files]]** 
-  * **[[http://gps.maroufi.net/etrex10map.shtml|Karten auf dem eTrex 10]]** 
-  * **[[https://sites.google.com/site/sherco40/]]** Il programma **TYPViewer** (per Windows, ma che gira anche sotto Wine) consente di ispezionare i file TYP compilati, traducendoli in testo sorgente e mostrando graficamente il simbolismo. 
  
 ===== mkgmap ===== ===== mkgmap =====
Line 405: Line 442:
  
 L'opzione **%%--region-name%%** viene usata come stringa da visualizzare accanto al nome del centro abitato nella visualizzazione dell'elenco, altrimenti compare la stringa generica **ABC**. FIXME Forse esiste la possibilità di usare i confini amministrativi e l'indicizzazione degli indirizzi per associare il centro abitato al nome del comune che lo contiene? L'opzione **%%--region-name%%** viene usata come stringa da visualizzare accanto al nome del centro abitato nella visualizzazione dell'elenco, altrimenti compare la stringa generica **ABC**. FIXME Forse esiste la possibilità di usare i confini amministrativi e l'indicizzazione degli indirizzi per associare il centro abitato al nome del comune che lo contiene?
 +
 +===== Riferimenti Web =====
 +
 +  * **[[http://www.mkgmap.org.uk/doc/typ-compiler|The mkgmap TYP file compiler]]**
 +  * **[[https://www.mkgmap.org.uk/doc/pdf/style-manual.pdf|mkgmap Conversion Style manual]]** - Qui una {{.:etrex_osm:mkgmap-style-manual.pdf|copia locale}}.
 +  * **[[https://wiki.openstreetmap.org/wiki/Mkgmap/help/style_rules|Mkgmap style rules]]** - Dichiarata //outdated//, ma utile.
 +  * **[[http://www.cferrero.net/maps/guide_to_TYPs.html|Guide to TYP files]]**
 +  * **[[http://gps.maroufi.net/etrex10map.shtml|Karten auf dem eTrex 10]]**
 +  * **[[https://sites.google.com/site/sherco40/]]** Il programma **TYPViewer** (per Windows, ma che gira anche sotto Wine) consente di ispezionare i file TYP compilati, traducendoli in testo sorgente e mostrando graficamente il simbolismo.
 +  * **[[https://extract.bbbike.org/|Extract OpenStreetMap]]** - Produce automaticamente mappe anche per Garmin.
tecnica/gps_cartografia_gis/osm_recipes.txt · Last modified: 2020/07/31 07:54 by niccolo