2010-09-16 22 views
3

Ceci est un oldie, mais je n'arrive pas à trouver une solution.postgis/proj 900913 à 4326 problèmes de projection avec coordonnée Y

Lorsque je veux faire un ST_transform sur une coordonnée 900913 vers un système 4326, la coordonnée y se décale.

exemple:

SELECT AsText ( transformation ( transformation ( GeomFromText ('POINT (449760,25168159 6.790.560,4594059)', 900913),),) )

ici le point d'origine 900913 est st_stransformed à 4326 et revient à 900913. le résultat n'est pas le point d'origine, y diffère. (Je vais insérer le résultat plus tard, je ne l'ai pas ici).

J'ai essayé de modifier le PROJ4TEXT pour 4326, en ajoutant + nadgrids = @ null comme je l'ai lu quelque part

le PROJ4TEXT pour srid 4326 est actuellement:

"select PROJ4TEXT de spatial_ref_sys où srid = 4326" + proj = longlat + ellps = + WGS84 datum = WGS84 + no_defs

le PROJ4TEXT pour srid 900913 est actuellement:

« sele ct proj4text de spatial_ref_sys où srid = 900913 " + proj = merc + a = 6378137 + b = 6378137 + lat_ts = 0.0 + lon_0 = 0.0 + x_0 = 0.0 + y_0 = 0 + k = 1.0 + unités = m + nadgrids = @null + no_defs

J'ai aussi essayé de faire une projection de 900913 à une autre projection à 4326, mais je reçois exactement même point que la transformation directe de 900913 à 4326.

quelqu'un des idées?

EJ

+0

Vous pourriez avoir plus de chance sur http://gis.stackexchange.com – mtrw

Répondre

0

Quelle version de PostGIS utilisez-vous? J'ai essayé la requête avec cette configuration: POSTGIS="1.5.2" GEOS="3.2.2-CAPI-1.6.2" PROJ="Rel. 4.7.1, 23 September 2009" et cela fonctionne très bien.

Malgré cela, j'ai eu quelques problèmes avec les coordonnées 900913.

0

EPSG: 900913 est une projection mal définie. Vous devriez plutôt utiliser EPSG: 3857, qui devrait être exactement le même que celui de Spherical Mercator, mais un standard.

Toute reprojection est une opération avec perte. Convertir une coordonnée va et vient va faire du bruit dans les derniers chiffres binaires, qui sont généralement erreur sub-millimétrique.