[postgis-users] st_transform, irreversible?

Erik Rehn erik at slagkryssaren.com
Tue Aug 17 01:57:08 PDT 2010


Thank you guys! You were right, I had flipped the coordinates in the 
test I made.

But that didn't explain the error I got in the KML. The solution to that
was to add "+towgs84=414.1,41.3,603.1,-0.855,2.141,-7.023,0" to the 
spatial_ref_sys table for srid 3021. Why isn't that in there by default?

erik

On 2010-08-12 17:05, Ricardo Bayley wrote:
> very nice explanation Mike
>
> On Thu, Aug 12, 2010 at 11:39 AM, Mike Toews <mwtoews at gmail.com
> <mailto:mwtoews at gmail.com>> wrote:
>
>     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
>     <mailto: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 <mailto:erik at slagkryssaren.com>
>      > www.slagkryssaren.com <http://www.slagkryssaren.com>
>      > _______________________________________________
>      > postgis-users mailing list
>      > postgis-users at postgis.refractions.net
>     <mailto:postgis-users at postgis.refractions.net>
>      > http://postgis.refractions.net/mailman/listinfo/postgis-users
>      >
>     _______________________________________________
>     postgis-users mailing list
>     postgis-users at postgis.refractions.net
>     <mailto:postgis-users at postgis.refractions.net>
>     http://postgis.refractions.net/mailman/listinfo/postgis-users
>
>

-- 
Erik Rehn
Slagkryssaren
erik at slagkryssaren.com
www.slagkryssaren.com



More information about the postgis-users mailing list