[postgis-users] st_transform, irreversible?

Mike Toews mwtoews at gmail.com
Thu Aug 12 07:39:36 PDT 2010


Hi,

Your coordinates may be flipped. Was it 59N 18E? If so, use x,y
notation: 'POINT(18 59)', which results in 'POINT(18.0000000000006
58.9999999999905)', which is close enough.

Also keep in mind that you are outside the projection bounds:
http://spatialreference.org/ref/epsg/3021/ (just a bit too far east).
Whenever you are outside the projection bounds, the likelihood of
storage precision errors increase. To understand why this is, you can
think of taking the tangent of a two angles that are nearly a
right-angle (89.9991 and 89.9992) which have very different results
due to nature of the geometry.

-Mike

On 11 August 2010 13:10, Erik Rehn <erik at slagkryssaren.com> wrote:
> Hello Postgis Users!
>
> This is my first post on this list so I will start by asking
> a simple (and probably stupid) question. :)
>
> While using ST_AsKml() to produce an overlay for Google Earth I
> noticed that all my geometries where shifted slightly south-east.
> I figured this had something to do with the transformation between
> the projection that my geometries are stored in (SRID 3021) and WGS84 (4326)
> that is outputted by ST_AsKml()
>
> Just to test I ran this:
>
> SELECT ST_AsText(
>    ST_Transform(
>        ST_Transform(
>            ST_GeomFromText('POINT(59 18)',4326),
>        3021),
>    4326));
>
> I input a point in WGS84 (59,18), transforms it to 3021 and then back to
> WGS84. The result I get is:
> POINT(58.8672757036296 18.0394763349359)
>
> Can anyone explain this? Am I missing something regarding ST_Transform()?
>
> Im running Postgis 1.5 on Windows.
>
> Thank you for any help!
> /Erik
>
> --
> Erik Rehn
> Slagkryssaren
> erik at slagkryssaren.com
> www.slagkryssaren.com
> _______________________________________________
> postgis-users mailing list
> postgis-users at postgis.refractions.net
> http://postgis.refractions.net/mailman/listinfo/postgis-users
>



More information about the postgis-users mailing list