User:Groppo/Bozza Import edifici CTR Veneto
È stata creata una guida ufficiale per importare gli edifici del Veneto dalla CTR. Questa pagina viene conservata solo per una sua eventuale utilità. |
Gli shape file dei fabbricati della CTR del Veneto possono essere importati in OSM:
- trasformandoli in tracce gpx e poi elaborandoli con JOSM,
- usando il programma Shp-to-osm, che restituisce un file osm con i tags già compilati in base agli attributi dello shape d'origine (tipologia e altezza dell'edificio).
Questa pagina descrive la seconda procedura.
Programmi e files necessari
- OpenOffice. Su Ubuntu 10.10 Maverick Meerkat: installare il pacchetto openoffice.org-base
- Qgis
- Shp-to-osm: shp-to-osm-0.8.1-jar-with-dependencies.jar
- File delle regole, necessario a Shp-to-osm per convertire gli attributi dello shape in tags di OSM,
- Files vettoriali in formato shape dei fabbricati, scaricabili dal sito della Regione Veneto.
- Verrà usato lo shapefile FABBRIC (composto da FABBRIC.shp, FABBRIC.dbf, FABBRIC.shx).
- N.B. Su GNU/Linux occorre rinominare fabbric.dbf in FABBRIC.dbf, i nomi dei files devono essere tutti in maiuscolo o tutti minuscolo.
Conversione dello shape in dati OSM
Riproiezione dello shape
Lo shape FABBRIC.shp deve prima essere portato al sistema di riferimento WGS84. Questo può essere fatto in due modi:
- Via terminale. Scaricare il programma ogr2ogr (su Ubuntu installare il pacchetto "gdal-bin") e dare il comando:
- ogr2ogr -t_srs EPSG:4326 -s_srs "+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" shp_riproiettato FABBRIC.shp
- N.B. D'ora in poi usare i file riproiettati che sono stati creati nella cartella shp_riproiettato.
- Via interfaccia grafica. Avviare Qgis:
- Menù: "Layer" --> "Aggiungi vettore..." --> aprire FABBRIC.shp
- "Layer" --> "Proprietà" --> "Generale" --> "Specifica CRS" --> "Sistemi coordinate proiettate" --> "Transverse Merkator" --> "Italy mainland zone 1 GB Roma40" (zone 2 se si usa il fuso est)
- "Layer" --> "Salva con nome..." FABBRIC.shp--> CRS "Sfoglia" --> "Sistemi coordinate geografiche" -> WGS 84
- N.B. D'ora in poi usare il nuovi file riproiettati.
Aggiunta delle altezze dei fabbricati allo shape
Attenzione: I valori delle altezze negli shape non sembrano molto affidabili, essendo in alcuni casi negativi. Considerare se aggiungere o meno questo dato.
- Aprire il file "FABBRIC.dbf" con OpenOffice Calc, rispondendo "OK" alla finestra "Importazione Database"
- Clic destro su "P" (intestazione della colonna P) --> "Inserisci colonna"
- scrivere in cella P1: ALTEZZA,C,10
- scrivere in P2 la formula: =CONCATENA(TESTO(O2-N2;"####,##");" m")
- applicare la formula alle celle sottostanti (Copia P2, seleziona P3, clic + SHIFT sull'ultima cella della colonna P, Incolla)
- Chiudere e Salvare il file rispondendo "Mantieni il formato corrente" quando viene richiesto.
Correzione dello shape con Qgis
- Aprire in Qgis FABBRIC.shp
- Menù: "Vettore"-->"Strumenti di Geometria"-->"Controllo validità geometria"-->"OK":
- Gli errori del tipo: "La geometria x interseca se stessa", possono essere al momento trascurati e corretti più tardi in Josm.
- Gli errori: "La geometria x non è chiusa", vanno corretti per poter poi usare Shp-to-osm. Prendere nota dei numeri x delle geometrie errate.
- "Layer"-->"Attiva/Disattiva modifica"
- "Layer" -->"Apri tabella attributi". Cliccare sul numero di riga x e sull'icona "Zoom mappa alle righe selezionate"
- "Modifica"-->"Semplifica geometria". Il cursore diventa un "+".
- Cliccare sulla geometria prima selezionata e impostare la tolleranza tutta a sinistra nella finestra che si apre. In questo modo la geometria viene corretta senza cambiarne la forma.
- "Layer"-->"Attiva/Disattiva modifica"-->"Save"
- Salvare lo shape come nuovo file di nome "edifici" ("Layer"-->"Salva con nome...", Formato: "ESRI Shape file"). Senza questo passo Shp-to-osm potrebbe segnalare degli errori.
- Chiudere Qgis rispondendo "No" alla domanda "Salvare progetto?".
Conversione con Shp-to-osm
Dopo aver creato il file delle regole, posizionarsi nella cartella del programma:
cd <directory dove è salvato shp-to-osm>
Supponendo che "edifici.shp" sia nella stessa directory, lanciare il programma con il seguente comando:
java -cp shp-to-osm-0.8.1-jar-with-dependencies.jar com.yellowbkpk.geo.shp.Main --shapefile ./edifici.shp --rulesfile ./rules_FABBRIC_CTR_Veneto --osmfile edifici --outputFormat osm
- Se il programma risponde "Done." ed il file edifici0.xml creato si apre normalmente da Josm dovrebbe essere tutto a posto.
- Se la risposta è "point must form a closed linestring" ricontrollare la correzione degli errori con Qgis e riprovare.
Rinominare il file creato "edifici0.xml" in "edifici.osm".
Consiglio: a seconda del numero di edifici presenti il file creato potrebbe essere troppo pesante per JOSM, dando problemi di lentezza nell'uso e nel caricamento dei dati sul server. In questo caso si consiglia d'importare un quartiere per volta: esportando con QGis una selezione dei fabbricati dello shape ("Layer"-->"Esporta la selezione come vettore...") ed applicando su questo la conversione di Shp-to-osm ed i passi successivi.
Correzione errori in JOSM
- Aprire edifici.osm in JOSM e selezionare tutto (Ctrl + A),
- attivare il plugin Validator e cliccare "Convalida". Correggere manualmente gli "Errori" e "Avvertimenti" segnalati, ad esempio:
- correggere i nodi duplicati, selezionando l'errore "Nodi duplicati" e cliccando su "Correggi",
- convertire le scale (Modifica-->Cerca-->"steps") da poligono a linea, dividendo il percorso in due ed eliminandone uno,
- correggere gli "Edifici sovrapposti". Per ciascun avvertimento, selezionare i nodi presenti su il lato comune ai due edifici e premere "j".
- Consiglio: per avere un auto-zoom quando si clicca su un errore/avvertimento, impostare "validator.autozoom=true" tra le "Proprietà avanzate" di JOSM.
- Ultimi controlli:
- togliere nodi inutili, es. su una tratto rettilineo,
- controllare eventuali sovrapposizioni con edifici già presenti in OSM,
- se si nota uno scostamento rispetto alla base degli edifici delle foto aeree (PCN), e se nel territorio c'è una buona corrispondenza tra gpx e PCN, si possono spostare gli edifici per farli corrispondere alle foto.
Quando si è sicuri della correttezza del file caricarlo su OSM:
- Nel Commento al changeset indicare l'origine dei dati, ad es."Aggiunti fabbricati. Source= Regione_del_Veneto_LR28_16.7.1976_Formazione_CTR_auth_39164-5700-1100_23.01.2009"