28 #include <grass/gis.h>
29 #include <grass/site.h>
30 #include <grass/Vect.h>
31 #include <grass/dbmi.h>
34 #include <grass/interpf.h>
40 double dnorm,
struct triple skip_point)
50 double east = data->
xmax;
51 double west = data->
x_orig;
52 double north = data->
ymax;
53 double south = data->
y_orig;
54 double rfsta2, errmax,
h, xx, yy, r2, hz, zz,
err, xmm, ymm,
r;
67 fstar2 = params->
fi * params->
fi / 4.;
70 for (mm = 1; mm <= n_points; mm++) {
72 for (m = 1; m <= n_points; m++) {
73 xx = points[mm - 1].
x - points[m - 1].
x;
74 yy = points[mm - 1].
y - points[m - 1].
y;
75 r2 = yy * yy + xx * xx;
79 h = h + b[m] * params->
interp(r, params->
fi);
88 zz = points[mm - 1].
z + zmin;
90 xmm = points[mm - 1].
x * dnorm + params->
x_orig + west;
91 ymm = points[mm - 1].
y * dnorm + params->
y_orig + south;
92 if ((xmm >= west + params->
x_orig) && (xmm <= east + params->x_orig)
93 && (ymm >= south + params->
y_orig) &&
94 (ymm <= north + params->y_orig))
111 sprintf(buf,
"insert into %s values ( %d ",
ff->table, cat);
114 sprintf(buf,
", %f", err);
129 (*ertot) += err *
err;
135 for (m = 1; m <= n_points - 1; m++) {
136 xx = points[m - 1].
x - skip_point.
x;
137 yy = points[m - 1].
y - skip_point.
y;
138 r2 = yy * yy + xx * xx;
140 rfsta2 = fstar2 * r2;
142 h = h + b[m] * params->
interp(r, params->
fi);
146 zz = skip_point.
z + zmin;
148 xmm = skip_point.
x * dnorm + params->
x_orig + west;
149 ymm = skip_point.
y * dnorm + params->
y_orig + south;
151 if ((xmm >= west + params->
x_orig) && (xmm <= east + params->x_orig)
152 && (ymm >= south + params->
y_orig) &&
153 (ymm <= north + params->y_orig))
168 sprintf(buf,
"insert into %s values ( %d ",
ff->table, cat);
171 sprintf(buf,
", %f", skip_err);