[GRASS-dev] New georectifying module in TclTk

Glynn Clements glynn at gclements.plus.com
Tue Jun 6 00:52:54 EDT 2006


Michael Barton wrote:

> I will admit from the beginning that since I don't really know C, I may well
> be missing something. But I think this calls some transformations in
> i.rectify somehow. As I understand it (also in the i.points and i.rectify
> docs), you first need to rectify the points using one of the rectification
> transformations. Then you can go ahead with the compute_transformation()
> procedure.

compute_transformation() starts by calling Compute_equation() (in
imagery/i.points/equ.c), which calls I_compute_georef_equations(). 
That computes the best-fit affine transformation (forward and inverse)
from the control points.

It then goes on to call I_georef() for each pair of control points,
measuring the difference between the projected source and the
destination, and vice-versa.

I_compute_georef_equations() and I_georef() are both defined in
lib/imagery/georef.c.

On entry, the only values which need to have been set are the control
points.

Upon completion:

+ group.equation_stat contains 1 if a transformation could be
computed.

+ group.{E,N}{12,21} contain the transformation coefficients (see
I_georef() for their interpretation).

+ xres, yres and gnd contain the x, y and diagonal (Euclidian)
differences for each pair.

+ xmax, ymax and gmax contain the indices of the control points with
the greatest x, y and diagonal (Euclidian) differences.

+ rms is set to the RMS diagonal error

-- 
Glynn Clements <glynn at gclements.plus.com>




More information about the grass-dev mailing list