Italy/Howto/Roma40Ubuntu
Importare dati dal sistema di riferimento Roma40 con Ubuntu
Questa miniguida scritta da un principiante per principianti vuole riassumere i passaggi che portano da un file in formato ADF (se si parte da uno shape il punto 1 può essere saltato) all'importazione in formato .osm. Esistono varie maniere di effettuare gli stessi passaggi, qui viene presentato il percorso effettuato su Ubuntu GNU/Linux 9.04 "Jaunty Jackalope", con QGIS 1.1.0, gdal-bin 1.6.1, gpsbabel 1.3.6.
- Aprire QGIS. Assicurandosi che i file ADF siano tutti insieme nella loro cartella, si importa un layer vettoriale in QGIS, scegliendo un file ADF a caso.
- Prima di tutto, occorre assicurarsi che il sistema di riferimento con cui viene disegnato il file su QGIS sia coerente con quello con cui il nostro shapefile è stato originariamente "pensato". Andare quindi in modalità "misura": solitamente se il sistema di riferimento con cui lo shape è attualmente rappresentato è errato, si apre un box dicendo che i segmenti che si vanno a misurare sono errati. Infatti, QGIS segnala che lo shape probabilmente ha un sistema di riferimento diverso da quello attualmente usato.
- Aprire la finestra delle proprietà del layer vettoriale in questione e selezionare il sistema di riferimento Monte Mario 1 o 2 (a meno che non si tratti di zone dell'estremo ovest della Sicilia o zone in Sardegna, Monte Mario 2 è corretto) come sistema di riferimento il Monte Mario 1.
- File -> Proprietà del progetto, cambiare nello stesso sistema di riferimento anche il progetto.
- Riprovare a misurare, e le misure sono adesso in km, e sembrano essere corrette (o quantomeno molto vicine alla realtà). Salvare il layer corrente come shapefile, selezionando sempre lo stesso sistema di riferimento di prima. Chiudere QGIS.
- Per trasformare i dati in formato .osm, devono essere nel sistema di riferimento WGS84. Installare su Ubuntu il pacchetto "gdal-bin"
- Creare un file denominato "roma40.srs" ed inserire la seguente riga di testo:
- +proj=tmerc +lat_0=0 +lon_0=9 +k=0.999600 +x_0=1500000 +y_0=0 +ellps=intl +units=m +towgs84=-104.1,-49.1,-9.9,0.971,-2.917,0.714,-11.68
- Da terminale dare il comando:
- ogr2ogr -f "ESRI Shapefile" -s_srs "roma40.srs" -t_srs "EPSG:4326" NUOVA_CARTELLA FILE_DA_RIPROIETTARE.shp
- Dove "NUOVA CARTELLA" va sostituito con il nome della cartella che conterrà il file riproiettato, e "FILE_DA_RIPROIETTARE.shp" è il file in sistema di riferimento Roma40 che abbiamo precedentemente salvato da QGIS.
- Aprire QGIS e aggiungere il layer vettoriale che si trova nella nuova cartella. Utilizzando il plugin "openstreetmap", scarico alcuni dati da OSM, che vengono posizionati in un layer vettoriale apposito e sovrapposto a quello dello shape. I dati combaciano perfettamente.
A questo punto, si presentano due alternative. La prima permette di trasformare lo shapefile ottenuto in formato GPX, e poi all'interno di JOSM da GPX a formato .osm (perdendo però le informazioni aggiuntive - anche a volte numerose - che si trovano all'interno dello shapefile). Il secondo metodo permette di passare direttamente dallo shapefile al formato .osm, conservando selettivamente tutte le informazioni che possono interessarci.
Caricare i dati via GPX in formato .osm da JOSM
- BISOGNA SAPERE CHE:
- permette di arrivare rapidamente al formato .osm, senza dover studiare la sintassi di vari programmi in Python o Java (polyshp2osm.py, shp2osm, ecc).
- da utilizzare solo se lo shapefile non contiene informazioni aggiuntive (nomi delle strade, importanza, ecc), oppure se queste informazioni, quando presenti, non ci interessano.
- Per convertire lo shape allineato ottenuto in un layer gpx da caricare in JOSM, usare il seguente comando (dopo aver installato il pacchetto "gpsbabel"):
- gpsbabel -i shape -f NOME_FILE_SHAPE -x transform,trk=rte -x nuketypes,routes -o gpx -F NOME_GPX.gpx
- Dove NOME_FILE_SHAPE è il nome dello shape *senza* l'estensione .shp. Il file gpx ottenuto potrà essere importato in JOSM.
- Se si è *assolutamente* sicuri della pulizia e della qualità del gpx ottenuto, è possibile fare click col tasto destro sul layer del gpx in JOSM, e selezionare "Converti in livello dati", ottenendo un file .osm pronto da caricare, ma senza nessuna caratterizzazione (ad esempio nomi delle strade e loro importanza), che andrà inserita a mano, traendo le informazioni manualmente dallo shapefile.
- È possibile ricavare visivamente dagli shapefile molte informazioni, tra cui ad esempio i nomi delle strade. Aprire il file shape in QGIS, fare click sul suo layer e aprire la finestra Proprietà. Nella scheda Etichette, mettere il segno di spunta su "Mostra etichette". Selezionare dal menù a tendina il nome del layer che contiene i nomi delle strade (spesso "NAME"). È possibile, tramite il pulsante "Carattere", diminuire la dimensione delle etichette, per visualizzarle meglio nelle strade più piccole.
Usare shp2osm.py per importare direttamente in .osm
- BISOGNA SAPERE CHE:
- c'è da imparare come si usano i vari tool in Python o Java
- questi strumenti riescono a "portare" le informazioni presenti nello shapefile (da noi selezionate) direttamente nel file .osm, e nel formato adatto ad essere poi caricate direttamente, senza dover quasi per niente intervenire sui tag.
- TODO