[postgis-users] How to use ST_Affine

Bruce Rindahl rindahl at lrcwe.com
Thu Jan 17 08:25:51 PST 2008


Dylan
I thought your tutorial was great.  How often do you think something like
this will be used?  I am thinking it could be straight forward to have a
"link" table in PostGIS with say the x,y "from" coordinates and "to"
coordinates populated via some interface.  Then with the PL/R package
installed use R to not only create the transformation matrix but then pass
the correct values to ST_Affine and then translate the geometry.  Something
like

Select transformation(link_table,the_geom) from my_tiger_set 

which would return a transformed geometry.

Might be a nice procedure to have.

Bruce Rindahl

-----Original Message-----
From: postgis-users-bounces at postgis.refractions.net
[mailto:postgis-users-bounces at postgis.refractions.net] On Behalf Of Dylan
Beaudette
Sent: Thursday, January 17, 2008 8:03 AM
To: Frank Durstewitz; PostGIS Mailingliste
Subject: Re: [postgis-users] How to use ST_Affine

On Thursday 17 January 2008 12:20:47 am Frank Durstewitz wrote:
> Hi Dylan,

Hi Frank

> thanks for your answer. I have 2 problems:
> a) i do know nothing about R and GRASS

time to start going over some tutorials and manuals...

> b) the "transformation" has to run on the server (just php and
> postgres/postgis)

ok. it is possible to use R via a web-form or CGI. it is also possible to 
build a custom CGI around R using the shared libraries.

> If i remember correctly, there is a PostGres-package which does R. Can i
> install this extension and use R in PostGres to get the matrix as
> mentioned on http://casoilresource.lawr.ucdavis.edu/drupal/node/433?

If you get the R interpreter for postgres working that should get you
started. 
I do not have any experience with that, so I cannot offer any comentary.

> Kind regards and sorry for my dumb questions ;-) I still learning.

No problem. Keep trying and post back to the list with progress.

Dylan

> Frank
>
> Dylan Beaudette schrieb:
> > On Wednesday 16 January 2008 09:09:01 am Frank Durstewitz wrote:
> >> Hi,
> >>
> >> i wonder how i would use ST_Affine. I found a small note how to use
> >> (with R), but that's over my mind.
> >>
> >> I want to shift the coordinates of some points. On a map i show the
> >> points, then i select at least 3 of them to move them manually to the
> >> correct coordinates and use the new coordinates as reference for the
> >> shift. So i have 3 "old" coordinates and 3 "new" cordinates. But i
don't
> >> know what goes where...
> >>
> >> Can someone please explain what to do?
> >>
> >> Regards, Frank
> >
> > Hi Frank,
> >
> > Was it this page
(http://casoilresource.lawr.ucdavis.edu/drupal/node/433)
> > which caused the confusion?
> >
> > I was recently confronted with the same problem: I knew the locations
> > of 'good' and 'bad' coordinates (control points) but did not know how to
> > compute the transformation matrix, which ST_Affine() wants.
> >
> > There are two approaches:
> >
> > 1. use R to 'fit' the transformation
> > 2. use GRASS and v.transform to 'fit' the transformation
> >
> > Both approaches can be used to compute and print the transformation
> > matrix based on a set of control points.
> >
> > If you use R, the trick is interpreting the format of the transformation
> > matrix:
> >
> > use the coef() function and transpose the results:
> >
> > t(coef(l))
> >
> > ... and the format will be :
> >
> >  xoff a b
> >  yoff d e
> >
> >
> > put the resulting numbers into the order that postgis wants:
> > ST_Affine(geom, a, b, d, e, xoff, yoff)
> >
> >
> > If you use GRASS and v.transform, be sure to include the '-m' flag, and
> > the transformation matrix will be printed, along with a note on the
> > format.
> >
> >
> > As the linked page suggests this approach works well when there is a
> > systematic shift in coordinates which can be modeled by an affine
> > transform.
> >
> > Cheers,
> >
> > Dylan





-- 
Dylan Beaudette
Soil Resource Laboratory
http://casoilresource.lawr.ucdavis.edu/
University of California at Davis
530.754.7341
_______________________________________________
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