OpenStreetMap

Civici da Telegram

Posted by Cascafico on 22 February 2018 in Italian (Italiano)

Piersoft ha formito un prototipo a "Roma Capitale" per la rilevazione di punti di interesse (PDI) via bot Telegram.

La umap contiene in basso a sinistra il collegamento per scaricare i dati raccolti in formato csv.

I dati sono di pubblico dominio (CC0); tra varie categorie di PDI ci sono anche i numeri civici; i campi oltre al numero inserito dal rilevatore, contengono la data del sopralluogo ed il geocoding (via Nominatim) della strada; per importarli in Openstreetmap è necessario convertirli per esempio con csv2osm. Nel caso volessimo importare i civici in OSM avendo cura di:

  1. filtrare il .csv per "categoria"="Civico" perl -i -ne 'print if /,Civico/' map_data.txt

  2. aggiungere lo header del .csv modificato, lasciando solo i campi utli del .csv:
    lat, lon,,,survey:date,,,source,,,,description,addr:housenumber

  3. adattare i valid_tags del .py
    valid_tags = ['addr:housenumber', 'survey:date', 'source', 'description']

  4. eseguire la conversione: python csv2osm.py map_data.txt > civici.osm

Importato in JOSM il file civici.osm, eliminare errori di battitura o civici non validi, cercandoli (CTRL+F) con la stringa:

"addr:housenumber"=[0-9]*[a-z] or "addr:housenumber"=[0-9]*

avendo cura di abilitare "espressione regolare" tra i checkbox a sinistra.

In alternativa, per evitare questo lavoro di editing, credo sia possibile installare in JOSM il plugin per importare i file csv, ma la mia release è piuttosto vecchiotta e non accetta funzioni aggiuntive.

Ovviamente resta il problema della "conflation", ovvero di importare solo i civici che non sono stati già mappati, nonchè addr:streetname.

Login to leave a comment