Hi Dylan,
thanks for posting the file on your blog. I'm going to play with R ;-)
Best regards, Frank
Dylan Beaudette schrieb:
On Thursday 17 January 2008 12:26:12 pm Frank Durstewitz wrote:
Hi Dylan,
Hi Frank. Just a reminder, lets keep the discussion CC-ed to the postgis list
for documentation. I am sure that there will be others interested.
i installed a binary package of R. Seems to be a _very_ powerfull
language, and i for shure will learn it, because i assume we can do much
more with our data...
Oh yeah... R is a real gem!
I assume "dylans blog" is yours? If yes, maybe you can help me out:
I can claim responsibility for that. It is more of a way to keep indexed,
searchable notes than anything else....
Can you send me an example of a file "stan.c_points" with the "good" and
the "bad" points? I can't figure out what format the points should have...
Kindly regards, Frank
Ah yes. I should have posted that file for others to tinker around with!
See the attachment at the bottom of the post:
http://casoilresource.lawr.ucdavis.edu/drupal/node/433
Note that the control points are interleaved within this file!
Cheers,
Dylan
Dylan Beaudette schrieb:
On Thursday 17 January 2008 08:25:51 am Bruce Rindahl wrote:
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
Computing an affine transformation matrix seems like a common vector
operation to me. It shouldn't be too hard to use the code in v.transform
to get a working prototype.
Here is a link to the source:
http://trac.osgeo.org/grass/browser/grass/trunk/lib/vector/transform/tran
sform.c
It would be a nice function to have within the context of PostGIS!
Cheers,
Dylan
-----Original Message-----
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] 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
_______________________________________________
postgis-users mailing list
[email protected]
http://postgis.refractions.net/mailman/listinfo/postgis-users