Discussione:
come convertire dati cartografici provenienti da file shape in vari formati EPSG
Marco Agostini
2014-03-13 10:58:04 UTC
Permalink
Ciao, sto impazzendo nel tentativo di convertire un file shape da un
formato "ETRF_1989_UTM_Zone_32N" ad un formato "EPSG:4326" o
"EPSG:3857".

Il mio obiettivo è quello di, una volta convertito in epsg:4326 o
epsg:3857, di importarlo in Drupal (nello specifico sto usando questa
distribuzione di Drupal http://cartaro.org/).

Per la conversione ho utilizzato ogr2ogr in questo modo:

"ogr2ogr -t_srs EPSG:3857 415_joinufor.shp.new 415_joinufor.shp"

per convertirlo in epsg:3857

e "ogr2ogr -t_srs EPSG:4326 415_joinufor.shp.new 415_joinufor.shp"

per convertirlo in epsg:4326

L'importazione in Drupal/Cartaro funziona correttamente, ma quando
provo a visualizzare le aree importate (es. sia con le mappe di
openstreetmap che con quelle di google):

- utilizzando epsg:4326 le aree NON vengono visualizzate nella zona
corretta (Levico) ma spostate verso Baselga di Pine.
- utilizzando epsg:3857 le aree NON vengono visualizzate nella zona
corretta (Levico) ma in mezzo al mar Tirreno.

Questo il contenuto del file .prg di partenza:
# cat 415_joinufor.prj
PROJCS["ETRF_1989_UTM_Zone_32N",GEOGCS["GCS_ETRF_1989",DATUM["D_ETRF_1989",SPHEROID["WGS_1984",6378137.0,298.257223563]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",500000.0],PARAMETER["False_Northing",0.0],PARAMETER["Central_Meridian",9.0],PARAMETER["Scale_Factor",0.9996],PARAMETER["Latitude_Of_Origin",0.0],UNIT["Meter",1.0]]

Ho cercato in rete ma trovo veramente "troppa" documentazione relativa
alle varie tipologie di proiezioni e su come vanno interpretate....
avete qualche link utile per aiutarmi a far chiarezza ?

Suggerimenti ?
grazie mille.
Luca Delucchi
2014-03-13 11:42:24 UTC
Permalink
Post by Marco Agostini
Ciao, sto impazzendo nel tentativo di convertire un file shape da un
formato "ETRF_1989_UTM_Zone_32N" ad un formato "EPSG:4326" o
"EPSG:3857".
Il mio obiettivo è quello di, una volta convertito in epsg:4326 o
epsg:3857, di importarlo in Drupal (nello specifico sto usando questa
distribuzione di Drupal http://cartaro.org/).
"ogr2ogr -t_srs EPSG:3857 415_joinufor.shp.new 415_joinufor.shp"
per convertirlo in epsg:3857
e "ogr2ogr -t_srs EPSG:4326 415_joinufor.shp.new 415_joinufor.shp"
per convertirlo in epsg:4326
L'importazione in Drupal/Cartaro funziona correttamente, ma quando
provo a visualizzare le aree importate (es. sia con le mappe di
- utilizzando epsg:4326 le aree NON vengono visualizzate nella zona
corretta (Levico) ma spostate verso Baselga di Pine.
- utilizzando epsg:3857 le aree NON vengono visualizzate nella zona
corretta (Levico) ma in mezzo al mar Tirreno.
# cat 415_joinufor.prj
PROJCS["ETRF_1989_UTM_Zone_32N",GEOGCS["GCS_ETRF_1989",DATUM["D_ETRF_1989",SPHEROID["WGS_1984",6378137.0,298.257223563]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",500000.0],PARAMETER["False_Northing",0.0],PARAMETER["Central_Meridian",9.0],PARAMETER["Scale_Factor",0.9996],PARAMETER["Latitude_Of_Origin",0.0],UNIT["Meter",1.0]]
Ho cercato in rete ma trovo veramente "troppa" documentazione relativa
alle varie tipologie di proiezioni e su come vanno interpretate....
avete qualche link utile per aiutarmi a far chiarezza ?
Suggerimenti ?
i dati originali sono corretti? e quelli convertiti? nel senso se li
visualizzi su QGIS senza riproiezione al volo vengono visti dove
vorresti?
A me sembra corretto quello che stai facendo, a parte che non conosco
bene Cartaro (non l'ho mai usato) magari il problema è proprio li...
Post by Marco Agostini
grazie mille.
--
ciao
Luca

http://gis.cri.fmach.it/delucchi/
www.lucadelu.org
Marco Agostini
2014-03-13 12:46:13 UTC
Permalink
Post by Luca Delucchi
i dati originali sono corretti? e quelli convertiti? nel senso se li
visualizzi su QGIS senza riproiezione al volo vengono visti dove
vorresti?
Premetto che sono particolarmente gnucco sull'argomento e mi sto
avvicinando al discorso cartografie solo ora.

Provando ad importare il file shape in QGIS, mi viene richiesto il
sistema di riferimento da utilizzare, ma non riesco a capire quale
fargli utilizzare.

Il file .prg di partenza contiene questo:
PROJCS["ETRF_1989_UTM_Zone_32N",GEOGCS["GCS_ETRF_1989",DATUM["D_ETRF_1989",SPHEROID["WGS_1984",6378137.0,298.257223563]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",500000.0],PARAMETER["False_Northing",0.0],PARAMETER["Central_Meridian",9.0],PARAMETER["Scale_Factor",0.9996],PARAMETER["Latitude_Of_Origin",0.0],UNIT["Meter",1.0]]

come faccio a capire partendo dal file .prg quale EPSG utilizzare ?
Maurizio Napolitano
2014-03-13 12:54:31 UTC
Permalink
è un chiaro problema di proiezioni.
Sei sicuro che tutti i file .shp che hai abbiano anche il file .prj associato?
Se qgis ti chiede la proiezione dubito fortemente che ci sia quel file.
Da quale fonte arrivano?
Post by Marco Agostini
Post by Luca Delucchi
i dati originali sono corretti? e quelli convertiti? nel senso se li
visualizzi su QGIS senza riproiezione al volo vengono visti dove
vorresti?
Premetto che sono particolarmente gnucco sull'argomento e mi sto
avvicinando al discorso cartografie solo ora.
Provando ad importare il file shape in QGIS, mi viene richiesto il
sistema di riferimento da utilizzare, ma non riesco a capire quale
fargli utilizzare.
PROJCS["ETRF_1989_UTM_Zone_32N",GEOGCS["GCS_ETRF_1989",DATUM["D_ETRF_1989",SPHEROID["WGS_1984",6378137.0,298.257223563]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",500000.0],PARAMETER["False_Northing",0.0],PARAMETER["Central_Meridian",9.0],PARAMETER["Scale_Factor",0.9996],PARAMETER["Latitude_Of_Origin",0.0],UNIT["Meter",1.0]]
come faccio a capire partendo dal file .prg quale EPSG utilizzare ?
--
Per iscriversi (o disiscriversi), basta spedire un messaggio con OGGETTO
--
Maurizio "Napo" Napolitano
http://de.straba.us
Marco Agostini
2014-03-13 15:17:14 UTC
Permalink
Post by Maurizio Napolitano
è un chiaro problema di proiezioni.
ok
Post by Maurizio Napolitano
Sei sicuro che tutti i file .shp che hai abbiano anche il file .prj associato?
si
Post by Maurizio Napolitano
Se qgis ti chiede la proiezione dubito fortemente che ci sia quel file.
Da quale fonte arrivano?
è un lavoro che è stato commissionato dal nostro Comune e ci è stato
consegnato un cd.

questi sono i file che ho a disposizione:
415_joinufor.dbf
415_joinufor.prj
415_joinufor.qix
415_joinufor.sbn
415_joinufor.sbx
415_joinufor.shp
415_joinufor.shx

forse sono io che lo importo in maniera non corretta tramite QGis
...da qgis seleziono "Aggiungi vettore" e seleziono il file .shp
Luca Delucchi
2014-03-13 13:03:58 UTC
Permalink
Post by Marco Agostini
Premetto che sono particolarmente gnucco sull'argomento e mi sto
avvicinando al discorso cartografie solo ora.
Informatici che vogliono fare i geografi ;-)
Post by Marco Agostini
Provando ad importare il file shape in QGIS, mi viene richiesto il
sistema di riferimento da utilizzare, ma non riesco a capire quale
fargli utilizzare.
PROJCS["ETRF_1989_UTM_Zone_32N",GEOGCS["GCS_ETRF_1989",DATUM["D_ETRF_1989",SPHEROID["WGS_1984",6378137.0,298.257223563]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",500000.0],PARAMETER["False_Northing",0.0],PARAMETER["Central_Meridian",9.0],PARAMETER["Scale_Factor",0.9996],PARAMETER["Latitude_Of_Origin",0.0],UNIT["Meter",1.0]]
come faccio a capire partendo dal file .prg quale EPSG utilizzare ?
in teoria qgis dovrebbe leggere il file prj, puoi provare ad usare il
codice EPSG 25832 o anche 32632 avranno un minimo di errore, ma quasi
sicuramente meno di un metro...
--
ciao
Luca

http://gis.cri.fmach.it/delucchi/
www.lucadelu.org
Sisinio
2014-03-13 13:22:01 UTC
Permalink
Post by Luca Delucchi
Post by Marco Agostini
Premetto che sono particolarmente gnucco sull'argomento e mi sto
avvicinando al discorso cartografie solo ora.
Informatici che vogliono fare i geografi ;-)
Post by Marco Agostini
Provando ad importare il file shape in QGIS, mi viene richiesto il
sistema di riferimento da utilizzare, ma non riesco a capire quale
fargli utilizzare.
PROJCS["ETRF_1989_UTM_Zone_32N",GEOGCS["GCS_ETRF_1989",DATUM["D_ETRF_1989",SPHEROID["WGS_1984",6378137.0,298.257223563]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",500000.0],PARAMETER["False_Northing",0.0],PARAMETER["Central_Meridian",9.0],PARAMETER["Scale_Factor",0.9996],PARAMETER["Latitude_Of_Origin",0.0],UNIT["Meter",1.0]]
come faccio a capire partendo dal file .prg quale EPSG utilizzare ?
Con qualche prova e un po' di occhio ci si può arrivare ;)
qui puoi trovare i riferimenti alle proiezioni con i relativi codici EPSG
http://spatialreference.org/
è comodo perchè puoi vedere come sono le coordinate in quel sistema di
riferimento
Post by Luca Delucchi
in teoria qgis dovrebbe leggere il file prj, puoi provare ad usare il
codice EPSG 25832 o anche 32632 avranno un minimo di errore, ma quasi
sicuramente meno di un metro...
--
ciao
Luca
Io proverei a forzare la proiezione del file shape,
"ogr2ogr -s_srs EPSG:3044 -t_srs EPSG:3857 415_joinufor.shp.new
415_joinufor.shp"

www.gdal.org/ogr2ogr.html

Ciao
Sisinio
-
Marco Agostini
2014-03-13 15:21:58 UTC
Permalink
Post by Sisinio
Con qualche prova e un po' di occhio ci si può arrivare ;)
qui puoi trovare i riferimenti alle proiezioni con i relativi codici EPSG
http://spatialreference.org/
è comodo perchè puoi vedere come sono le coordinate in quel sistema di
riferimento
il mio problema è che non riesco ad interpretare il contenuto del filo
.prg di partenza.
Post by Sisinio
Io proverei a forzare la proiezione del file shape,
"ogr2ogr -s_srs EPSG:3044 -t_srs EPSG:3857 415_joinufor.shp.new
415_joinufor.shp"
anche quì non sono riuscito a capire il valore EPSG:3044 come sei
riuscito a ricavarlo ?
Sisinio
2014-03-13 15:43:09 UTC
Permalink
Post by Marco Agostini
Post by Sisinio
Con qualche prova e un po' di occhio ci si può arrivare ;)
qui puoi trovare i riferimenti alle proiezioni con i relativi codici EPSG
http://spatialreference.org/
è comodo perchè puoi vedere come sono le coordinate in quel sistema di
riferimento
il mio problema è che non riesco ad interpretare il contenuto del filo
.prg di partenza.
con l'opzione -s_srs forzi il sistema di riferimento così il software
non usa il file .prg ma le proiezioni interne al software.
Post by Marco Agostini
Post by Sisinio
Io proverei a forzare la proiezione del file shape,
"ogr2ogr -s_srs EPSG:3044 -t_srs EPSG:3857 415_joinufor.shp.new
415_joinufor.shp"
anche quì non sono riuscito a capire il valore EPSG:3044 come sei
riuscito a ricavarlo ?
lo ho ricavato del file prj che hai copiato.

Ho cercato un sistema che utilizza il geoide ETRS 89 sulla zona 32 e
ho comparato i parametri
di lat0, meridiano centrale, scala, traslazione est e nord da te
trovati nel file .prj
http://spatialreference.org/ref/epsg/3044/ogcwkt/

Sisinio
--
Non smettere di imparare allora sarai libero!!
Marco Agostini
2014-03-13 16:01:24 UTC
Permalink
Post by Sisinio
con l'opzione -s_srs forzi il sistema di riferimento così il software
non usa il file .prg ma le proiezioni interne al software.
ok, grazie mille.
Post by Sisinio
Io proverei a forzare la proiezione del file shape,
"ogr2ogr -s_srs EPSG:3044 -t_srs EPSG:3857 415_joinufor.shp.new 415_joinufor.shp"
funziona, importando il nuovo file in Cartaro i dati vengono
visualizzati al "posto" giusto.
Post by Sisinio
Ho cercato un sistema che utilizza il geoide ETRS 89 sulla zona 32 e
ho comparato i parametri
di lat0, meridiano centrale, scala, traslazione est e nord da te
trovati nel file .prj
http://spatialreference.org/ref/epsg/3044/ogcwkt/
Scusa sono di coccio....

PROJCS["ETRF_1989_UTM_Zone_32N",GEOGCS["GCS_ETRF_1989",DATUM["D_ETRF_1989",SPHEROID["WGS_1984",6378137.0,298.257223563]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",500000.0],PARAMETER["False_Northing",0.0],PARAMETER["Central_Meridian",9.0],PARAMETER["Scale_Factor",0.9996],PARAMETER["Latitude_Of_Origin",0.0],UNIT["Meter",1.0]]

da dove ricavi ETRS 89 ? corrisponde a "ETRF_1989" ?

Non riesco i capire i passaggi che hai fatto utilizzando
http://spatialreference.org e i valori del file .prg per arrivare a
EPSG:3044.

Mi mancano una valanga nozioni di base :-( ...qualche link per
iniziare a capire meglio ?

grazie mille della pazienza.
girarsi_liste
2014-03-13 17:07:42 UTC
Permalink
Post by Marco Agostini
da dove ricavi ETRS 89 ? corrisponde a "ETRF_1989" ?
ETRS89 => European Terrestrial Reference System 1989 [1]

ETRF89 => secondo paragrafo => [2]

E poi questa discussione [3], peraltro interessante dove si vede la
piccola spiegazione per l'ETRF89 che trovi nel secondo commento.



[1] http://it.wikipedia.org/wiki/ETRS89

[2]
http://it.wikipedia.org/wiki/Proiezione_di_Gauss-Boaga#Evoluzione_del_sistema_cartografico_nazionale

https://groups.google.com/forum/#!msg/qgis_utenti_fvg/1Ud62nlWiys/agFrfpz99cgJ


- --
Simone Girardelli
Marco Agostini
2014-03-14 07:35:11 UTC
Permalink
Post by girarsi_liste
E poi questa discussione [3], peraltro interessante dove si vede la
piccola spiegazione per l'ETRF89 che trovi nel secondo commento.
https://groups.google.com/forum/#!msg/qgis_utenti_fvg/1Ud62nlWiys/agFrfpz99cgJ
inizio a capire qualcosa in più :-)

Mi sfugge ancora come sia possibile partendo dal contenuto del file shape.prj

PROJCS["ETRF_1989_UTM_Zone_32N",GEOGCS["GCS_ETRF_1989",DATUM["D_ETRF_1989",SPHEROID["WGS_1984",6378137.0,298.257223563]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",500000.0],PARAMETER["False_Northing",0.0],PARAMETER["Central_Meridian",9.0],PARAMETER["Scale_Factor",0.9996],PARAMETER["Latitude_Of_Origin",0.0],UNIT["Meter",1.0]]

utilizzando http://spatialreference.org arrivare a EPSG:3044

Cerco in http://spatialreference.org il codice etrs89 che è il sistema
di riferimento associato a ETRF89 e ottengo una serie di risultati (ne
elenco solo alcuni):

EPSG:3038: ETRS89 / ETRS-TM26
EPSG:3039: ETRS89 / ETRS-TM27
EPSG:3040: ETRS89 / ETRS-TM28
EPSG:3041: ETRS89 / ETRS-TM29
EPSG:3042: ETRS89 / ETRS-TM30
EPSG:3043: ETRS89 / ETRS-TM31
EPSG:3044: ETRS89 / ETRS-TM32
EPSG:3045: ETRS89 / ETRS-TM33
EPSG:3046: ETRS89 / ETRS-TM34
EPSG:3047: ETRS89 / ETRS-TM35
EPSG:3048: ETRS89 / ETRS-TM36
EPSG:3049: ETRS89 / ETRS-TM37

a questo punto, da quanto ho capito (ma non è detto che abbia capito
correttamente), un qualsiasi ETRS-TMxx potrebbe andare bene in quanto
basati tutti su ETRS89 e si discostano di pochi millimetri l'uno
dall'altro.

corretto ?
Sisinio
2014-03-14 08:04:40 UTC
Permalink
Post by Marco Agostini
Post by girarsi_liste
E poi questa discussione [3], peraltro interessante dove si vede la
piccola spiegazione per l'ETRF89 che trovi nel secondo commento.
https://groups.google.com/forum/#!msg/qgis_utenti_fvg/1Ud62nlWiys/agFrfpz99cgJ
inizio a capire qualcosa in più :-)
Mi sfugge ancora come sia possibile partendo dal contenuto del file shape.prj
PROJCS["ETRF_1989_UTM_Zone_32N",GEOGCS["GCS_ETRF_1989",DATUM["D_ETRF_1989",SPHEROID["WGS_1984",6378137.0,298.257223563]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",500000.0],PARAMETER["False_Northing",0.0],PARAMETER["Central_Meridian",9.0],PARAMETER["Scale_Factor",0.9996],PARAMETER["Latitude_Of_Origin",0.0],UNIT["Meter",1.0]]
utilizzando http://spatialreference.org arrivare a EPSG:3044
Cerco in http://spatialreference.org il codice etrs89 che è il sistema
di riferimento associato a ETRF89 e ottengo una serie di risultati (ne
EPSG:3038: ETRS89 / ETRS-TM26
EPSG:3039: ETRS89 / ETRS-TM27
EPSG:3040: ETRS89 / ETRS-TM28
EPSG:3041: ETRS89 / ETRS-TM29
EPSG:3042: ETRS89 / ETRS-TM30
EPSG:3043: ETRS89 / ETRS-TM31
EPSG:3044: ETRS89 / ETRS-TM32
EPSG:3045: ETRS89 / ETRS-TM33
EPSG:3046: ETRS89 / ETRS-TM34
EPSG:3047: ETRS89 / ETRS-TM35
EPSG:3048: ETRS89 / ETRS-TM36
EPSG:3049: ETRS89 / ETRS-TM37
a questo punto, da quanto ho capito (ma non è detto che abbia capito
correttamente), un qualsiasi ETRS-TMxx potrebbe andare bene in quanto
basati tutti su ETRS89 e si discostano di pochi millimetri l'uno
dall'altro.
corretto ?
Hai definito l'elissoide (ETRF89), ora devi trovare la proiezione.
In italia si usa UTM, Gauss-Boaga, o Cassini Soldner.

Nel tuo caso è proprio l'UTM con zona 32. L'italia sta nella zona 32
(per la maggior parte) e 33 (veneto, friuli e puglia)

Puoi notare la zona di utilizzo della proiezione nel rettangolo rosso
sulla mappa
http://spatialreference.org/ref/epsg/3044/


In questo pdf trovi alcune informzioni interessanti sulle proiezioni
http://www.ing.unitn.it/~zatelli/cartografia_numerica/slides/Proiezioni.pdf
http://labtopo.ing.unipg.it/files_sito/compiti/cartografia_pratica.pdf

Sisinio
Marco Agostini
2014-03-14 08:57:16 UTC
Permalink
Post by Sisinio
Hai definito l'elissoide (ETRF89), ora devi trovare la proiezione.
In italia si usa UTM, Gauss-Boaga, o Cassini Soldner.
Nel tuo caso è proprio l'UTM con zona 32. L'italia sta nella zona 32
(per la maggior parte) e 33 (veneto, friuli e puglia)
Puoi notare la zona di utilizzo della proiezione nel rettangolo rosso
sulla mappa
http://spatialreference.org/ref/epsg/3044/
ok, inizio a capire.
Post by Sisinio
In questo pdf trovi alcune informzioni interessanti sulle proiezioni
http://www.ing.unitn.it/~zatelli/cartografia_numerica/slides/Proiezioni.pdf
http://labtopo.ing.unipg.it/files_sito/compiti/cartografia_pratica.pdf
ho letto velocemente (abbastanza arabo)... me lo rileggo con calma e
vedo di documentarmi meglio.

Intanto grazie mille.

Marco Agostini
2014-03-13 15:18:56 UTC
Permalink
Post by Luca Delucchi
Informatici che vogliono fare i geografi ;-)
:-)
Post by Luca Delucchi
in teoria qgis dovrebbe leggere il file prj, puoi provare ad usare il
codice EPSG 25832 o anche 32632 avranno un minimo di errore, ma quasi
sicuramente meno di un metro...
in che modo hai ricavato i due valori per EPSG (25832 e 32632) ?
Mauro Colorio
2014-03-14 07:39:11 UTC
Permalink
perchè vuoi convertirle? il catasto è passato anni fa dal gauss boaga
all'UTM ETRS 89, (e credo anche la provincia) questo comporta che ogni
shape proveniente dalla provincia dovrà essere convertito per essere
pubblicato,
magari invece che sovrapporre i dati di osm potresti imoprtarti i dati
catastali e usare quelli come base cosi sei sempre
nel sistema "trentino" :)
se non erro è anche il sistema di riferimento suggerito a livello di UE
(ETRS = European Terrestrial Reference System)

ciao
Mauro
Loading...