Buongiorno, iniziata mappatura sentieri mancanti della collina di Torino
Diary Entries in Italian
Recent diary entries
I was trying to geocode addresses via Nominatim, using the OpenRefine function “fetch from URL”, but I got empty strings. I re-run it, checking “store error box” and I got the problem: certificate was not recognized or missing. A little confusion: why browser happly donwloaded geocoding rresponses, while OR didn’t?
OR rely on Java funcions to do the job, so I had to fix certificate issue in the following way:
-
get certificate:
$ openssl x509 -in <(openssl s_client -connect nominatim.openstreetmap.org:443 -prexit 2>/dev/null) -out /tmp/nominatim.crt -
store it:
$ keytool -import -file /tmp/nominatim.crt -keystore cacerts -storepass changeit -
If keytools complains about finding cacert:
$ find / -name cacerts -print
/usr/lib/jvm/jdk-8-oracle-arm32-vfp-hflt/jre/lib/security/cacerts
(in my raspbian Java installation)
about
Mountain hiking association asked me to monitor local hiking relations from edits done by other mappers. I wrote this script which generates an html page with OSM changeset involving daily changes. It is feeded by overpass-turbo query, like this, so you can customize which OSM objects to monitor.
steps
The mentioned monitor script will:
- extract relations modified in the last 24h and tagged operator=”CAI” in area provided as argument
- filter useful informations
- format an html file with OSM, Achavi and OSMcha links
automate runs
Of course it can be run periodically using crontab. To set a daily run, just execute
$ crontab -e
add a line like below, customizing your script path:
0 0 * * * /home/pi/scripts/monitor.sh » /dev/null 2>&1
telegram
My instance include a telegram service fired when a changeset list is written. I use telegram-cli with the following line in script:
echo “msg $CHANNEL $MESSAGE”; echo “safe_quit” | /home/pi/apps/tg/bin/telegram-cli -W
Just add telegram CHANNEL and MESSAGE variables and insert the line inside $CHAN==0 else if
TODO
Fix area names which include spaces, ie “Cividale del Friuli”
Intro
When adding several hiking routes, sometime it comes handy having updated tables in wiki format to be easily added in specific wiki pages.
Recipe
- overpass query on area name
- some awk insertions
- pyhon script csv2wiki
overpass-query
This overpass query will generate a csv file(ie: stregna.csv) with local network hiking paths. Example output:
@id,name,ref,network
2071931,,747,lwn
6934010,Sentiero Italia - Tappa A14,SI,lwn
7112799,Sentiero Hum,,lwn
adding OSM links
This awk will add OSM link to each relation:
$ awk -F “,” ‘FNR == 1 {print $0} FNR > 1 { print “[osm.org/relation/”$1” “$1”],”$2”,”$3”,”$4 }’ stregna.csv > stregna.txt
actual wiki formatting
Python script will generate the actual wiki text:
$ python csv2wiki stregna.txt > stregna.wiki
summarizing script
This script performs the steps above (here you can customize query with whatever relation tags). Just provide an OSM area name.
hello why openstreetmaps no longer download the maps in SVG and work with inkscape to modify them?
Salve, scrivo perchè non riesco più a scaricare le mappe in SVG e poi lavorarci con Inkscap, vorrei sapere come mai?
prima di trasferire qui tutto il diario vorrei fare una prova di scrittura e verificare
Mini abstract
I’ve found a 600+ rows Bed&Breakfast dataset, available opendata by RAFVG. No geo coordinates. Since hiousenumbers were recently imported from RAFVG dataset, I decided to go for geocoding. To get reliable coordinates I used csvgeocode script attached to nominatim geocoding service. Nominatim requires almost perfect (standardized) odonyms, hence I started openrefine and a reconcile service which comes in a separate jar. Reconcile service needs a csv with authoritative names, which I get from overpass-turbo and some filtering.
Dataset
Bed and Breakfast is a rather new dataset (Oct 17) with more than 600 POIs. Many useful fields such as
- name and operator
- phone
- site
- opening hours
- category (standard, comfort, superior)
Cleaning data
Such duty has been accomplished by OpenRefine and Reconcilie plugin, connected as a reconciliation service,
In order to standardize messy B&B addresses (entered by B&B operators theirselves) I had to provide Reconcile with an authoritative set of highway names, which I got from overpass-turbo (see Strade d’Italia diary entry).
Geocoder
Just happened for other projects, I choose csvgecode which features pretty simple usage.
Here is a run using mapbox service:
$ csvgeocode input.csv output.csv –handler mapbox –delay 1000 –verbose –url “http://api.tiles.mapbox.com/v4/geocode/mapbox.places/{{INDIRIZZO}},{{CAP}} {{COMUNE}}.json?access_token="
here using nominatim, instead:
$ csvgeocode input.csv output.csv –handler osm –delay 1000 –verbose –url “http://nominatim.openstreetmap.org/search?q={{INDIRIZZO 1}}, {{COMUNE}}&format=json”
Rows geocoded: 468
Rows failed: 114
Time elapsed: 879.4 seconds
Dalla chiesetta Arcu de Tidu, Pirastu Trottu de Poddosu, Bruncu Poddosu, Arcu sa Perda is Sinniesus, Bruncu su Tiriaxiu, Serragu is Arangius, sa Sedda is Arangius, sa Castangia, su Scoffu, Arcu su Scoffu, Arcu Predi Gallus, Cuili Predi Gallus, Bau su Sconcau de Forra, su Enatzu de Forra, Bau Forra, nuova S.P., Peiattu via Cimiterro viale del Tramonto, Via Monte Serpeddi’ su Mulloneddu sa Modditzi, sa Mitza su Para su Entosu, Arcu su Entosu……………………….
I’ve just did some quick test in Pancevo (Serbia) with Digital Globe Premium imagery. I’m taking part, with several international partners, in V-IOLA Project and in January - February 2019 we have planned to do some mapping in Pancevo with the aid of local volunteers besides remote mappers. The scenario is a mapping against an eartquake event.
Today I’ve just drawn some building and I would like to get some feedback to know how the Digital Globe imagery are aligned and if someone knows there are better imagery for a future remote mapping.
Feel free to contact me if you live in Serbia and are interested in taking part in some way to these activities. Few weeks after we will keep a similar activity in Sutomore (Montenegro). There the scenario will be against flooding. Again, if someone would be involved let me know dropping a comment here o by PM
Alessandro Ale_Zena_IT Wikimedia Italia / OpenStreetMap Italia
Sistema antincendio comunale
Nell’ambito del progetto #cittasenzamemoria è stata aggiornata la verifica dei toponimi dedicati a Vittorio Emanuele III in Calabria.
I dati provengono dalla mappa di OpenStreetMap finalizzata a creare una cartografia a contenuto libero del mondo. Le informazioni della mappa sono liberamente accessibili su licenza ODbL ed aggiornate ogni giorno. Per facilitare la consultazione i toponimi sono anche consultabili sulla mappa on line dedicata. In totale sono stati individuati 74 odonimi qui di seguito riportati:
id toponimo Comune
Corretto uso del terreno vi era indicato un bacino idrico inesistente aggiunto campo di calcio ed edificio
Un po’ di tempo fa, sullo store Jolla è uscito finalmente il primo vero navigatore satellitare nativo per la piattaforma Sailfish. Prima ci adattavamo con le varie app di mappe o con la compatibilità android, ma adesso finalmente anche noi abbiamo un’applicazione nativa, e anche fatta abbastanza bene. L’applicazione in questione dispone dell’uso di diverse mappe online, mentre per quelle offline, essendo l’app opensource, usa openstreetmap. Dopo un po’ di test sul campo, mi sono accorto che per quanto osm sia un servizio fantastico, almeno nella mia zona risulta molto carente, soprattutto in fatto di vie dove spesso sono presenti ma non ci sono i nomi o sono sbagliati, o a volte non ci sono proprio le strade. Ho pensato quindi di sistemare quelle due tre strade mancanti e mi sono ritrovato con più di 350 modifiche fatte, con il rifacimento intero della mia città e delle città vicine (incluse campagne, colline, strade secondarie e così via) che sto piano a piano effettuando. Openstreetmap è di per se un grande servizio, è bello sapere che ci sono delle mappe che sono liberamente consultabili da tutti, ma soprattutto liberamente modificabili da chiunque abbia voglia di migliorare la mappatura esistente. Sarebbe bello se tutti contribuissero un po’ e seppur so che sia impossibile, almeno a me, farlo, lascia sempre dietro un certo senso di soddisfazione…
Anche quest’anno mi sono recato per un periodo di vacanza con la mia famiglia a Spotorno (SV).
Dopo il lavoro fatto lo scorso anno, principalmente su strade e vicoli del centro storico, questa volta volevo concentrarmi sui numeri civici.
Ho stampato diversi Field Papers perché negli stretti carruggi del centro storico è difficile avere una buona posizione con il GPS.
Fortunatamente erano già presenti tutti gli edifici (importati dagli open data della Regione Liguria) e le strade. In questo modo non è stato difficile appuntare direttamente su carta i vari civici.
Per tenere insieme i vari fogli e per poter prendere appunti più agevolmente su una superficie rigida, ho usato un portablocco comprato su Amazon.
Per rilevare i numeri civici dove non c’erano problemi di ricezione GPS ho usato, come al solito, Keypad-Mapper 3.
Il data entry è stato poi fatto con JOSM, usando il plugin FieldPapers.
Qualcuno in ML si era chiesto come rappresentare la diffusione dei vari odonimi nazionali. Il metodo grezzo sarebbe scaricare qualche Gbyte di pbf da Geofabrik ed utilizzare osmconvert e osmfilter. Ma per perché trasferire inutilmente il 99% dei dati? Facciamo invece lavorare overpass-turbo per noi :-)
I file che troverete citati di seguito sono disponibili in github come pure lo script bash ItalyNames.sh che li genera.
Codice ISTAT
E’ noto che ogni comune italiano non può avere lo stesso odonimo per strade diverse, per cui la query se eseguita per ogni comune, ci permetterà di isolare solo la prima occorrenza del nome. Come individuare univocamente un comune? Il codice ISTAT assegnato al tag ref:ISTAT ci viene in aiuto. Facciamoci un’idea di quanti comuni abbiamo e qual’è il loro codice: query codici ISTAT comuni italiani
Sintetizzo l’output del file municipality_codes (7955 linee) con le prime e le ultime:
001001
001002
001003
…
111105
111106
111107
Adesso sappiamo che è numerico, composto da 6 cifre e che l’Italia ne ha oltre 7955; internet ci viene in aiuto rivelandoci che le prime 3 sono il codice provincia. Se poi ci viene la cursiosità di sapere quante sono, sul municipality_codes ottenuto sopra eseguimo un:
pi@raspberrypi:~ cat municipality_codes | cut -c 1-3 | sort -u | wc -l
109
Per i nostri scopi creiamo anche la lista delle provincie province_codes:
pi@raspberrypi:~ cat municipality_codes | cut -c 1-3 | sort -u > province_codes
Con municipality_codes potremmo già eseguire in loop una query overpass che estrarrebbe tutto, ma sia per limitare le richieste al server, sia per rendere futuri aggiornamenti dei nomi più gestibili, rompiamo ulteriormente municipality_codes generando un file per ogni provincia con la lista dei codici ISTAT dei suoi comuni; otteniamo per esempio il file “100”:
pi@raspberrypi:~ cat 100
100002
100004
100003
100006
100001
100007
100005
Script di query overpass-turbo
L’area intorno al paese di Gaggio Montano (ma credo anche il resto) è formata da immagini satellitari vecchie e da aggiornare
A Monterosi, come in molti altri paesi del Viterbese, tutte le tradizionali fontanelle pubbliche sono state chiuse o rimosse perché nell’acqua delle sorgenti che le alimentano ci sono tracce di elementi, come l’arsenico, al di sopra dei limiti consentiti. In alternativa, sono stati installati dei distributori di acqua potabile purificata e refrigerata, naturale o frizzante. Il distributore funziona con monete (0,05 Euro per ogni 1,5 litri di acqua) oppure con chiavetta ricaricabile. Quando vado in bicicletta da quelle parti ora porto sempre con me qualche monetina, in modo da poter riempire le borracce in caso di bisogno. Ho visto che a Monterosi il distributore non era riportato sulla mappa quindi ho pensato di fare una cosa utile per i ciclisti e i camminatori della Via Francigena aggiungendo questa informazione.
Il comune di Milano ha pubblicato un dataset delle piste ciclabili. Facciamo una umap per capire la situazione rispetto ad osm.
- facciamo il login con le credenziali OSM
- selezioniamo “creare una mappa”
- importiamo il dataset (nel nostro caso geojson) con il bottone e dx “importa dati”; se il nostro file non ha una estensione esplicita, dobbiamo informare umap di cosa si tratta con “scegli il formato dati”; se va tutto bene ci troviamo il layer delle ciclabili nel colore di default (blu).
- otteniamo i dati al volo tramite overpass-turbo: questa è la query per Milano che estrae le ciclabili da OSM, per altri comuni basta sostituire la geocodeArea in alto.
- su overpass-turbo salviamo da qualche parte la stringa che genera i dati della query: export>query, clicchiamo sul “compact” e copiamo il link
- per importare i dati della query in umap è necessario creare un nuovo layer ed aprire il form a destra su “dati remoti”; qui incolleremo la stringa appena copiata; scegliamo il formato dati “osm”; mettiamo in ON le opzioni “dinamico” e “richiesta proxy”
- salviamo la mappa e dopo alcuni secondi (dipende da traffico su overpass-turbo) dovremmo vedere anche il layer dei dati estratti da OSM.
Questa è la procedura di base, dopicichè si tratta di aggiustare lo sfondo (ho scelto il monocromatico), i colori dei layer e le eventuali etichette che appaiono passando il mouse sopra ed al click.
ESCURSIONE PROGRAMMATA PER 20 MAGGIO TEMPO PERMETTENDO. 4 ORE + 4 ORE RITORNO OPPURE ANELLO 9 ORE. PARTENZA RESCETO ORE 7:30