Italy/Howto/Roma40Ubuntu

From OpenStreetMap Wiki
Jump to navigation Jump to search

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.

  1. 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.
  2. 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.
  3. 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.
  4. File -> Proprietà del progetto, cambiare nello stesso sistema di riferimento anche il progetto.
  5. 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.
  6. Per trasformare i dati in formato .osm, devono essere nel sistema di riferimento WGS84. Installare su Ubuntu il pacchetto "gdal-bin"
  7. 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
  8. 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.
  9. 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.
  1. 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.
  2. 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.
  3. È 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.
  1. TODO