[Gfoss] SRID 900914 postgis

In postgis mi trovo con un layer che ha srid 900914 e che deriva da
un'esportazione da grass di un layer in GB (srid 3003). Mi sapete spiegare di
che si tratta dato che uno srid 900914 non ho idea a cosa corrisponda.
Se poi riproietto usando SELECT ST_Transform(the_geom,3003) la riproiezione
viene fata, ma i dati finiscono nel posto sbagliato.

Grazie in anticipo.

Iacopo Zetti

On Mon, Nov 15, 2010 at 11:50:30AM +0100, iacopo wrote:

In postgis mi trovo con un layer che ha srid 900914 e che deriva da
un'esportazione da grass di un layer in GB (srid 3003). Mi sapete spiegare di
che si tratta dato che uno srid 900914 non ho idea a cosa corrisponda.
Se poi riproietto usando SELECT ST_Transform(the_geom,3003) la riproiezione
viene fata, ma i dati finiscono nel posto sbagliato.

Suona come un codice automaticamente assegnato dal tool di export/import.
900913 sara' probabilmente il piu' alto id assegnato, ed il tool ne
ha aggiunto un'altro.

--strk;

  () Free GIS & Flash consultant/developer
  /\ http://strk.keybit.net/services.html

On Mon, 15 Nov 2010 12:21:58 +0100, strk wrote

On Mon, Nov 15, 2010 at 11:50:30AM +0100, iacopo wrote:
> In postgis mi trovo con un layer che ha srid 900914 e che deriva da
> un'esportazione da grass di un layer in GB (srid 3003). Mi sapete spiegare di
> che si tratta dato che uno srid 900914 non ho idea a cosa corrisponda.
> Se poi riproietto usando SELECT ST_Transform(the_geom,3003) la riproiezione
> viene fata, ma i dati finiscono nel posto sbagliato.

Suona come un codice automaticamente assegnato dal tool di export/import.
900913 sara' probabilmente il piu' alto id assegnato, ed il tool ne
ha aggiunto un'altro.

Scusate, ma 900914 non è il codice del
Google Spherical Mercator ???
... quello di Google Maps e OpenLayers,
per capirsi ...

se è così, i parametri dovrebbero essere questi:
'+proj=merc +a=6378137 +b=6378137 \
+lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0 \
+units=m +k=1.0 +no_defs'

ma se questa è la situazione, dubito fortemente
che si potranno mai ottenere i valori originali
in GB semplicemente usando la 3003: ci sarà sempre
un errore/approssimazione di circa 10 / 100 metri
(dipende dalla zona ...)

gira gira è sempre il famoso vecchio problema
della conversione da GB a WGS84 (questa volta
in salsa leggermente differente).

se non si specifica anche la matrice con i
valori di correzione locali ('+towgs=....'),
sicuramente si otterrà solo una approssimazione
molto (ma proprio molto ...) grossolana.

ciao Sandro

Google Mercator è 900913.

giovanni

Il 15 novembre 2010 12:45, <a.furieri@lqt.it> ha scritto:

On Mon, 15 Nov 2010 12:21:58 +0100, strk wrote

On Mon, Nov 15, 2010 at 11:50:30AM +0100, iacopo wrote:
> In postgis mi trovo con un layer che ha srid 900914 e che deriva da
> un'esportazione da grass di un layer in GB (srid 3003). Mi sapete spiegare di
> che si tratta dato che uno srid 900914 non ho idea a cosa corrisponda.
> Se poi riproietto usando SELECT ST_Transform(the_geom,3003) la riproiezione
> viene fata, ma i dati finiscono nel posto sbagliato.

Suona come un codice automaticamente assegnato dal tool di export/import.
900913 sara' probabilmente il piu' alto id assegnato, ed il tool ne
ha aggiunto un'altro.

Scusate, ma 900914 non è il codice del
Google Spherical Mercator ???
... quello di Google Maps e OpenLayers,
per capirsi ...

se è così, i parametri dovrebbero essere questi:
'+proj=merc +a=6378137 +b=6378137 \
+lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0 \
+units=m +k=1.0 +no_defs'

ma se questa è la situazione, dubito fortemente
che si potranno mai ottenere i valori originali
in GB semplicemente usando la 3003: ci sarà sempre
un errore/approssimazione di circa 10 / 100 metri
(dipende dalla zona ...)

gira gira è sempre il famoso vecchio problema
della conversione da GB a WGS84 (questa volta
in salsa leggermente differente).

se non si specifica anche la matrice con i
valori di correzione locali ('+towgs=....'),
sicuramente si otterrà solo una approssimazione
molto (ma proprio molto ...) grossolana.

ciao Sandro

_______________________________________________
Iscriviti all'associazione GFOSS.it: http://www.gfoss.it/drupal/iscrizione
Gfoss@lists.gfoss.it
http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfoss
Questa e' una lista di discussione pubblica aperta a tutti.
I messaggi di questa lista non rispecchiano necessariamente
le posizioni dell'Associazione GFOSS.it.
474 iscritti al 18.9.2010

In data lunedì 15 novembre 2010 12:45:20, a.furieri@lqt.it ha scritto:

Scusate, ma 900914 non è il codice del
Google Spherical Mercator ???
... quello di Google Maps e OpenLayers,
per capirsi ...

Non sono esperto del tema, ma quello dovrebbe essere il 900913
In realtà se carico i dati in qgis vanno al loro posto, ovvero si
sovrappongono ad altri layers GB correttamente, solo che non essendo indicato
un sistema noto non posso fare elaborazioni con altri layer 3003.
Quello che mi pare strano però è che la tabella è il risultato di un comando
v.in.ogr di grass.

Iacopo

Confermo il 900913 è il google mercator.
Non so se ho capito bene, il tuo layer si sovrappone perfettamente ad altri layer gauss-boaga (con o senza l'on the fly?)
ma con st_srid(the_geom) ottieni il valore 900914? Se è così forse c'è un errore nell'esportazione da grass: ovvero te li esporta come 900914 ma in realtà sono 3003. Non basta allora fare un st_setsrid(3003)? così te li rirpota in 3003 e puoi fare le elaborazioni

Il 15/11/2010 13:04, iacopo ha scritto:

In data lunedì 15 novembre 2010 12:45:20, a.furieri@lqt.it ha scritto:
   

Scusate, ma 900914 non è il codice del
Google Spherical Mercator ???
... quello di Google Maps e OpenLayers,
per capirsi ...
     

Non sono esperto del tema, ma quello dovrebbe essere il 900913
In realtà se carico i dati in qgis vanno al loro posto, ovvero si
sovrappongono ad altri layers GB correttamente, solo che non essendo indicato
un sistema noto non posso fare elaborazioni con altri layer 3003.
Quello che mi pare strano però è che la tabella è il risultato di un comando
v.in.ogr di grass.

Iacopo

_______________________________________________
Iscriviti all'associazione GFOSS.it: http://www.gfoss.it/drupal/iscrizione
Gfoss@lists.gfoss.it
http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfoss
Questa e' una lista di discussione pubblica aperta a tutti.
I messaggi di questa lista non rispecchiano necessariamente
le posizioni dell'Associazione GFOSS.it.
474 iscritti al 18.9.2010

Non so se ho capito bene, il tuo layer si sovrappone perfettamente ad
altri layer gauss-boaga (con o senza l'on the fly?)

Senza

ma con st_srid(the_geom) ottieni il valore 900914? Se è così forse c'è
un errore nell'esportazione da grass: ovvero te li esporta come 900914
ma in realtà sono 3003. Non basta allora fare un st_setsrid(3003)? così
te li rirpota in 3003 e puoi fare le elaborazioni

In effetti si, la mia scarsa esperienza mi portava a riproiettarlo mentre con
setsrid tutto va a posto..
Resta il fatto che esportando da grass mi sono trovato con questo strano srid

Grazie per l'aiuto

Iacopo

On Mon, Nov 15, 2010 at 04:20:00PM +0100, iacopo wrote:

Resta il fatto che esportando da grass mi sono trovato con questo strano srid

Che c'e' di strano ?
E' solo un identificativo "interno" al tuo database.
Probabilmente chi ha fatto l'import ha preferito inserire
un record nuovo in spatial_ref_sys anziche' cercarne uno
equivalente (ammettendo che ci fosse).

--strk;

  () Free GIS & Flash consultant/developer
  /\ http://strk.keybit.net/services.html