Position of the problem

Spatial databases can be nowadays easily managed by means of geographic information system tools (Rigaux et al. 2002). The hot point in the first era of the digital revolution was mainly to collect pieces of information. On the opposite now the great challenge relates to provide geographic data of high quality level (and therefore the estimation of such a kind of information) and to make available methods to exploit as much as possible the already available information, correctly modeling the uncertainty intrinsic into spatial data, instead of remaking maps every time from the beginning. Thus data sharing, data conflating (Brovelli and Zamboni 2004, 2006), and updating (Arnold and Wright 2005) must be supported by rigorous approaches having a sound statistical basis. Efforts have been made in this regard by some researchers (Leung et al. 2004). The paper places in this frame, trying to solve the problem at least for some elementary cases.

We consider a geodatabase basically as a collection of points {P i ; i = 1,2,…N} of known planar coordinates, {(x i y i )}, topological information, allowing to identify linear or area features and other numerical or thematic information concerning several attributes related to these points and objects. Here, we will be concerned only with the first aspect, namely the set of points {P i } and their coordinates. The question we want to handle is the following: imagine we perform new geodetic measurements involving one part of the points {P i }, how do we update their coordinates in view of such an information?

As an example, think that at some points P i we have done observations with a GPS receiver, connected to a positioning service in a RTK mode, as it is quite usual nowadays.

Of course if it was available the full covariance matrix of the vector of coordinates {(x i y i )} and that of the new measurements, the update could be performed rigorously, at least in terms of least squares theory.

This is however not the practical situation and for two reasons. The former is that when the number of points is of the order of 104 or more its covariance information is of the order of 108 real numbers or more and storing and using such a huge quantity of information is not the easiest thing to do.

The latter reason is even more important and it is that, in practice, this information is usually not available because the production of such coordinates is the result of many steps in which noise propagation is not possible or was not performed. On the opposite logical side there would be the practice of moving, namely updating, only the points which have been involved into the new measurements. This immediately leads to unacceptable results, because it would modify the relative position of objects in an incompatible way, for instance moving a building into another one or in the middle of the road. It is obvious that it is simply impossible to ignore that there is a relation between points so that once one is shifted by new observations, also the others should follow. The question is that part of the points should move like rigid bodies, verifying metric constraints as lengths of sides, rectangular shapes, etc., while in general all points should have a kind of “elastic” relation to one another.

In order to cope with such problems, the authors have already invoked a Bayesian concept (Belussi et al. 2006), introducing first of all geometrical constraints into the prior distribution of the coordinate vector and binding all the points, one to the other, by means of a simple network of pseudo-observations.

The idea bears some merits, in particular by showing that Bayesian statistics is a natural tool to be applied to an updating problem. Yet, the prior distribution reflecting the true information available on the geodatabase is still a problem. Specifically, the proposal of connecting all the points on the geodatabase by a plane pseudo-traverse is questionable in that the accuracy of each individual point will then depend on the quite arbitrary design of the traverse itself.

In this paper, we give precisely a solution to this problem when the prior information is assumed to consist barely of a relative accuracy prescription.

With “relative accuracy”, here we mean that given any two points P, Q on the geodatabase, the errors in their coordinates are such that

$$ \frac{{\sigma \left( {\left| {\underline{\text{r}}_{PQ} } \right|} \right)}}{{\left| {\underline{\text{r}}_{PQ} } \right|}} = K $$
(1.1)

with K a given constant, \( \underline{\text{r}}_{PQ} \) the planar base vector between P and Q, and σ the r.m.s. of its modulus.

It turns out that (1.1) defines an essential feature of the error field \( \underline{\text{u}} (P) = \left( {\delta x(P),\delta y(P)} \right) \) of the geodatabase, namely the variogram. In this way, the well-known kriging theory (Wackernagel 2003) becomes available for the solution of the present problem. So we find a clear method to update the coordinates of all points, without considering them as possibly belonging to rigid bodies, i.e., without any further constraint.

This is the reason why we have entitled the paper “Bayesian intermezzo”; because the full solution under the Bayesian concept still has to be studied.

The relative accuracy of the geodatabase defines the variogram of the error random field

In this paragraph, we set up the prior stochastic model of the geodatabase on the basis of our hypotheses, namely the knowledge of the relative accuracy translated into formula (1.1).

So we assume that any identifiable point P on the geodatabase, with coordinates

$$ \underline{\text{R}}_P = \left| {\begin{array}{*{20}c} {X_P } \\ {Y_P } \\ \end{array} } \right|, $$
(2.1)

has a random position, due to previous noise propagation, with average

$$ E\left\{ {\underline{\text{R}}_P } \right\} = \underline{\text{r}}_P = \left| {\begin{array}{*{20}c} {x_P } \\ {y_P } \\ \end{array} } \right| $$
(2.2)

and the difference between the two, the position error vector \( \underline{\text{u}} (P) \), is a random field with zero average and finite variance.

Since the theory we are going to develop is fully translation invariant, the hypothesis \( E\left\{ {\underline{\text{u}} (P)} \right\} = 0 \), can be substituted by the much weaker

$$ E\left\{ {\underline{\text{u}} (P)} \right\} = \underline{\text{t}}, $$
(2.3)

a constant translation vector valid for the whole geodatabase.

This hypothesis is often useful if we have to compare geodatabase coordinates with GPS coordinates which might be given in a different geodetic datum.

Let us agree on the hypothesis that the vector random field \( \underline{\text{u}} (P) \) is intrinsically homogeneous and isotropic (cf. Matheron 1970).

Notice that this implies an extension of the usual kriging concept in the sense that we assume

$$ \frac{1}{2}E\left\{ {\left| {\underline{\text{u}} (P) - \underline{\text{u}} (Q)} \right|^2 } \right\} = \gamma \left( {d_{PQ} } \right) $$
(2.4)

where d PQ is the Euclidean distance between P and Q and in addition that the component of \( \underline{\text{u}} (P) \) along any fixed direction is again an intrinsic process such that

$$ \frac{1}{2}E\left\{ {\left| {\underline{\text{e}} \cdot \underline{\text{u}} (P) - \underline{\text{e}} \cdot \underline{\text{u}} (Q)} \right|^2 } \right\} = f\left( {d_{PQ} } \right) $$
(2.5)

with f independent of the direction of the arbitrary unit vector \( \underline{\text{e}} \).

This implies that

$$ f\left( {d_{PQ} } \right) = \frac{1}{2}E\left\{ {\left[ {\delta x_P - \delta x_Q } \right]^2 } \right\} = \frac{1}{2}E\left\{ {\left[ {\delta y_P - \delta y_Q } \right]^2 } \right\}, $$
(2.6)

and also

$$ f\left( {d_{PQ} } \right) = \frac{1}{2}\gamma \left( {d_{PQ} } \right), $$
(2.7)

because the sum of the second and third term in (2.6) has to be γ(d PQ ).

In addition it turns out that

$$ E\left\{ {\left[ {\delta x_P - \delta x_Q } \right]\left[ {\delta y_P - \delta y_Q } \right]} \right\} = 0. $$
(2.8)

This last relation is easily derived by imposing that the field

$$ \delta x_P \cos \alpha + \delta y_P \sin \alpha = \delta u\left( {P,\alpha } \right) $$

has f(d PQ ) as variogram irrespectively of the value of α.

In fact, using (2.6)

$$ \begin{array}{*{20}c} {\forall \alpha } \hfill \\ {f\left( {d_{PQ} } \right) = E\left\{ {\left[ {\delta u\left( {P,\alpha } \right) - \delta u\left( {Q,\alpha } \right)} \right]^2 } \right\} = } \hfill \\ { = E\left\{ {\left[ {\delta x_P - \delta x_Q } \right]^2 \cos^2 \alpha + \left[ {\delta y_P - \delta y_Q } \right]^2 \sin^2 \alpha + 2\left( {\delta x_P - \delta x_Q } \right)\left( {\delta y_P - \delta y_Q } \right)\sin \alpha \cos \alpha } \right\}} \hfill \\ { = f\left( {d_{PQ} } \right) + 2\sin \alpha \cos \alpha E\left\{ {\left( {\delta x_P - \delta x_Q } \right)\left( {\delta y_P - \delta y_Q } \right)} \right\}} \hfill \\ \end{array} $$

and this implies (2.8).

We call γ(d) the variogram of the field \( \underline{\text{u}} \) and we note that each component of \( \underline{\text{u}} \) has a variogram which is just a half of γ. Under these hypotheses, let us consider the random vector

$$ \underline{\text{R}}_P = \underline{\text{r}}_P + \underline{\text{u}} (P). $$
(2.9)

Indeed we have

$$ E\left\{ {\left| {\underline{\text{R}}_P - \underline{\text{R}}_Q } \right|^2 } \right\} = \left| {\underline{\text{r}}_P - \underline{\text{r}}_Q } \right|^2 + 2\gamma \left( {d_{PQ} } \right). $$
(2.10)

Now we need to compute \( \underline{\text{E}} \left\{ {\left| {\underline{\text{R}}_P - \underline{\text{R}}_Q } \right|} \right\} \). We do that with an approximation up to the second order in \( \left| {\underline{\text{u}} } \right| \).

Observe that for any finite vector \( \underline{\text{r}} \) and a small enough vector \( \underline{\varepsilon } \) we have (denoting \( \left| {\underline{\text{r}} } \right| = r \))

$$ \left| {\underline{\text{r}} + \underline{\varepsilon } } \right| = \sqrt {r^2 + 2\underline{\text{r}} \cdot \underline{\varepsilon } + \varepsilon^2 } = r + \frac{{\underline{\text{r}} }}{r} \cdot \underline{\varepsilon } + \frac{1}{2}\left[ {\frac{1}{r}\varepsilon^2 - \frac{1}{r}\left( {\frac{{\underline{\text{r}} }}{r} \cdot \underline{\varepsilon } } \right)^2 } \right] + {\text{O}}\left( {\varepsilon^3 } \right), $$
(2.11)

We recall that \( E\left\{ {\underline{\text{u}}_P - \underline{\text{u}}_Q } \right\} = 0 \) by hypothesis and use (2.7), to find, neglecting third order terms in \( \underline{\varepsilon } = \underline{\text{u}}_P - \underline{\text{u}}_Q \),

$$ E\left\{ {\left| {\underline{\text{R}}_P - \underline{\text{R}}_Q } \right|} \right\} = E\left\{ {\left| {\underline{\text{r}}_P - \underline{\text{r}}_Q + \underline{\text{u}}_P - \underline{\text{u}}_Q } \right|} \right\} \cong \left| {\underline{\text{r}}_P - \underline{\text{r}}_Q } \right| + \frac{1}{2}\frac{1}{{\left| {\underline{\text{r}}_P - \underline{\text{r}}_Q } \right|}}\left[ {2\gamma \left( {d_{PQ} } \right) - \gamma \left( {d_{PQ} } \right)} \right] = d_{PQ} + \frac{1}{2}\frac{1}{{d_{PQ} }}\gamma \left( {d_{PQ} } \right) $$
(2.12)

Squaring (2.12) and subtracting from (2.10) yields

$$ \sigma^2 \left\{ {\left| {\underline{\text{R}}_P - \underline{\text{R}}_Q } \right|} \right\} = E\left\{ {\left| {\underline{\text{R}}_P - \underline{\text{R}}_Q } \right|^2 } \right\} - \left\{ {E\left[ {\left| {\underline{\text{R}}_P - \underline{\text{R}}_Q } \right|} \right]} \right\}^2 = \gamma \left( {d_{PQ} } \right), $$
(2.13)

which is the sought relation.

According to (1.1), (2.13) implies

$$ \gamma \left( {d_{PQ} } \right) = k^2 d_{PQ}^2 . $$
(2.14)

One interesting remark is that the model (2.14), which is indeed an authorized variogram (Wackernagel 2003), is not however compatible with a stationary covariance.

This is the reason why we have from the beginning pointed to kriging, rather than the ordinary Wiener–Kolmogorov theory, also known as collocation in geodesy.

The updating algorithm

Now that the relations (2.13), (2.14) are established, the full machinery of kriging theory is available to solve the updating problem formalized in the following.

We assume to have a geodatabase with points P identified by the vector

$$ \underline{\text{R}}_P = \left| {\begin{array}{*{20}c} {X_P } \\ {Y_P } \\ \end{array} } \right| = \left| {\begin{array}{*{20}c} {x_P } \\ {y_P } \\ \end{array} } \right| + \left| {\begin{array}{*{20}c} {\delta x_P } \\ {\delta y_P } \\ \end{array} } \right| = \underline{\text{r}}_P + \underline{\text{u}} (P), $$
(3.1)

where \( \underline{\text{u}} (P) \) is an intrinsic random field, homogeneous and isotropic, endowed with the known variogram γ(d PQ ), given, in the present context, by (2.14).

Moreover, we assume that new measurements have been performed involving part of the points {P i } so that we have from them, namely for a certain subset J of the indexes {i = 1,2,…,N}, a new sequence of coordinates

$$ \underline{\text{N}}_i = \underline{\text{r}}_i + \underline{\nu }_i, \quad i \in J, $$
(3.2)

where we have just denoted with an index i quantities related to the point P i .

In (3.2), we suppose that

$$ E\left\{ {\underline{\nu }_i } \right\} = 0,\quad E\left\{ {\underline{\nu }_i \underline{\nu }_j^t } \right\} = C_{{\nu_i \nu_j }}, $$
(3.3)

so that the full covariance of the vector \( \underline{\nu } = \left[ {\begin{array}{*{20}c} {...} & {\underline{\nu }_i^t } & {...} \\ \end{array} } \right]^t \) is known. For the sake of simplicity, we shall assume that the index set J is just that of the first J positions. Since we are thinking of an updating of the geodatabase, we obviously think of the variances of the coordinates in \( \underline{\text{N}}_i \) as significantly smaller than the variances of the geodatabase errors \( \underline{\text{u}}_i \). Moreover, we assume \( \underline{\nu }_i \) to be uncorrelated with the field \( \underline{\text{u}} (P) \).

Now we observe that

$$ \underline{R}_i - \underline{N}_i = \underline{u}_i - \nu_i, \quad i \in J; $$
(3.4)

this relation means that we can consider \( \underline{\text{R}}_i - \underline{\text{N}}_i \) as an observation of the random field \( \underline{\text{u}} (P) \) at the updating points P i , \( i \in J \), with noise \( - \underline{\nu }_i \). So, we shall put

$$ \underline{\text{u}}_{{{\text{o}}i}} = \underline{\text{u}}_i - \underline{\nu }_i = \underline{\text{R}}_i - \underline{\text{N}}_i \quad i \in J, $$
(3.5)

\( \underline{\text{u}}_{{{\text{o}}i}} \) being the observation vector.

The problem is precisely how to predict \( \underline{\text{u}} (P) \) at any other point of the geodatabase.

We look for a linear prediction, i.e., for a linear combination of the observed \( \underline{\text{u}}_{{{\text{o}}i}} \),

$$ \underline{{\hat{u}}} \left( P \right) = \sum\limits_{i = 1}^J {\lambda_i \underline{u}_{oi}, } $$
(3.6)

unconditionally unbiased or, recalling (2.3), such that

$$ E\left\{ {\underline{{\hat{u}}} \left( P \right)} \right\} = \underline{t} . $$
(3.7)

Moreover we will require that the mean square prediction error E2

$$ E^2 = E\left\{ {\left| {\underline{u} \left( P \right) - \underline{{\hat{u}}} \left( P \right)} \right|^2 } \right\}, $$
(3.8)

be minimized. Note that the class of our predictors (3.6) is not the most general one, which would be of the form

$$ \underline{{\hat{u}}} \left( P \right) = \sum\limits_{i = 1}^J {\Lambda_i \underline{u}_{oi} } $$
(3.9)

with Λ i a set of 2 × 2 matrices. On the other hand, it is easy to see that a predictor like (3.9) could be determined only if we knew the full covariance of \( \underline{\text{u}}_i \), which is not the case.

The form (3.6) in fact translates our prior hypothesis of isotropy, which is not a model for how the “true” error \( \underline{\text{u}} (P) \) is but rather the formalization of our lack of prior information.

In other words, this is where the Bayesian concept plays its role. As usual the condition (3.7) implies that the coefficients λ i have to satisfy the relation

$$ \sum\limits_{i = 1}^J {\lambda_i } = 1. $$
(3.10)

Now the proof runs as that of ordinary kriging (Wackernagel 2003) and we report it here only briefly.

First one can prove that, under (3.10),

$$ E^2 = 2\sum\limits_{i = 1}^J {\lambda_i } \gamma_i - \sum\limits_{{i,k = 1}}^J {\lambda_i \lambda_k } \gamma_{ik} + \sum\limits_{{i,k = 1}}^J {\lambda_i \lambda_k } TrC_{{\nu_i \nu_k }}, $$
(3.11)

where

$$ \gamma_i = \gamma \left( {d_{{PP_i }} } \right),\,\;\;\gamma_{ik} = \gamma \left( {d_{{P_k P_i }} } \right) $$
(3.12)

and we have used

$$ E\left\{ {\underline{\nu }_i^t \underline{\nu }_k } \right\} = TrC_{{\nu_i \nu_k }} . $$
(3.13)

So by using the synthetic notation

$$ \underline{\lambda } \equiv \left\{ {\lambda_i } \right\},\quad \underline{\gamma } = \left\{ {\gamma_i } \right\},\quad \Gamma = \left\{ {\gamma_{ik} } \right\},\,\quad \Sigma = \left\{ {TrC_{{\nu_i \nu_k }} } \right\} $$

we have

$$ E^2 = 2\underline{\lambda }^t \underline{\gamma } + \underline{\lambda }^t \left( { - \Gamma + \Sigma } \right)\underline{\lambda } . $$
(3.14)

In fact from

$$ \underline{u} \left( P \right) - \underline{{\hat{u}}} \left( P \right) = \underline{u} \left( P \right) - \sum\limits_{i = 1}^J {\lambda \underline{u}_{oi} } = \sum\limits_{i = 1}^J {\lambda_i } \left[ {\underline{u} \left( P \right) - \underline{u}_{oi} } \right] = \sum\limits_{i = 1}^J {\lambda_i } \left[ {\underline{u} \left( P \right) - \underline{u}_i - \underline{v}_i } \right], $$

which holds because of (3.10), one derives

$$ E^2 = E\left\{ {\left| {\underline{u} \left( P \right) - \underline{{\hat{u}}} \left( P \right)} \right|^2 } \right\} = E\left\{ {\sum\limits_{ik} {\lambda_i \lambda_k } \left[ {\underline{u} \left( P \right) - \underline{u}_i } \right]^t \left[ {\underline{u} \left( P \right) - \underline{u}_k } \right]} \right\} + \sum\limits_{ik} {\lambda_i \lambda_k C_{{\nu_i \nu_k }} } . $$

Now using the identity

$$ \left[ {\underline{\text{u}} (P) - \underline{\text{u}}_i } \right]^t \left[ {\underline{\text{u}} (P) - \underline{\text{u}}_k } \right] = \frac{1}{2}\left| {\underline{\text{u}} (P) - \underline{\text{u}}_i } \right|^2 + \frac{1}{2}\left| {\underline{\text{u}} (P) - \underline{\text{u}}_k } \right|^2 - \frac{1}{2}\left| {\underline{\text{u}}_i - \underline{\text{u}}_k } \right|^2 $$

and again recalling (3.10), one easily derives (3.14).

The target function (3.14) can be minimized with respect to \( \underline{\lambda } \) with the constraint (3.10) that is written, introducing the vector \( \underline{\text{e}}^t = \left[ {\begin{array}{*{20}c} 1 & 1 & {...} & 1 \\ \end{array} } \right] \), as

$$ \underline{\text{e}}^t \underline{\lambda } = 1. $$
(3.15)

By using a Lagrange multiplier −2α, one finds the usual kriging equations

$$ \left\{ {\begin{array}{*{20}c} {\left( { - \Gamma + \Sigma } \right)\underline{\lambda } + \alpha \underline{\text{e}} = \underline{\gamma } } \\ {\underline{\text{e}}^t \underline{\lambda } = 1} \\ \end{array} } \right. $$
(3.16)

Once \( \underline{\lambda } \) is derived, \( \widehat{{\underline{u} }}\left( P \right) \) is computed through (3.6) and (3.14) provides its prediction error.

Then the updated geodatabase at the original points P i , of coordinates \( \underline{\text{R}}_{\text{up}} \left( {P_i } \right) \) is

$$ \underline{R}_{up} \left( {P_i } \right) = \underline{R}_i - \underline{{\hat{u}}} \left( {P_i } \right) $$
(3.17)

and, since

$$ \underline{R}_i - \underline{{\hat{u}}} \left( {P_i } \right) = \underline{r}_i + \underline{u} \left( {P_i } \right) - \underline{{\hat{u}}} \left( {P_i } \right), $$
(3.18)

the prediction error at P i becomes the error of the updated geodatabase.

We conclude the paragraph with a remark. Namely, in addition to the above results, one would like as well to get hold of the translation between geodatabase and updated coordinates. It is known that the optimal estimate can be obtained only if we know the full covariance structure of \( \underline{\text{u}} (P) \).

But since this is not available, we can still have a non-optimal estimate, for instance by taking

$$ \underline{{\hat{t}}} = \frac{1}{j}\sum\limits_{i = 1}^j {\underline{u}_{oi}; } $$
(3.19)

Though we are not able to give the variance of this estimator, (3.19) is sufficient for many practical purposes.

An extension and a few examples

Since most of the updating work is nowadays done by GPS and since, when a positioning service is not available, a natural outcome of GPS observations is base vectors between couples of points or even local networks of base vectors, it is interesting to see whether and how the above developed theory can account for this kind of measurements.

We will do that taking the case of single base, between points P 1 and P 2,

$$ \underline{\text{b}} = \underline{\text{N}}_2 - \underline{\text{N}}_1 = \underline{\text{r}}_2 - \underline{\text{r}}_1 + \underline{\nu }_2 - \underline{\nu }_1 $$
(4.1)

leaving to the reader the easy generalization to more bases. We assume that \( E\left\{ {\underline{\nu } } \right\} = E\left\{ {\underline{\nu }_2 - \underline{\nu }_1 } \right\} = 0 \) and that the covariance of \( \underline{\nu } \) is known. This case is not covered by ordinary kriging theory and then it requires some adjustment.

The point is that now the observations are themselves translation invariant and therefore they cannot convey any information on the absolute value of \( \underline{\text{u}} (P) \).

Nevertheless, we can expect to be able to say something about variations of \( \underline{\text{u}} (P) \) for instance about \( \delta \underline{\text{u}}_P = \underline{\text{u}} (P) - \underline{\text{u}} \left( {P_1 } \right) \). So we have as observation:

$$ \begin{array}{*{20}c} {\delta \underline{\text{u}}_{{{\text{o}}2}} = \underline{\text{u}}_{\text{o}} \left( {P_2 } \right) - \underline{\text{u}}_{\text{o}} \left( {P_1 } \right) = \left[ {\underline{\text{R}} \left( {P_2 } \right) - \underline{\text{R}} \left( {P_1 } \right)} \right] - \left[ {\underline{\text{N}} \left( {P_2 } \right) - \underline{\text{N}} \left( {P_1 } \right)} \right] = } \hfill \\ { = \underline{\text{u}} \left( {P_2 } \right) - \underline{\text{u}} \left( {P_1 } \right) - \left( {\underline{\nu }_2 - \underline{\nu }_1 } \right) = \underline{\text{u}}_2 - \underline{\text{u}}_1 - \underline{\nu } = \delta \underline{\text{u}}_2 - \underline{\nu } } \hfill \\ \end{array} $$
(4.2)

and we try to estimate \( \delta \underline{\text{u}}_P \) as a linear function of \( \delta \underline{\text{u}}_{{{\text{o}}2}} \), namely

$$ \delta \underline{{\hat{u}}}_p = \lambda \delta \underline{u}_{o2} . $$
(4.3)

It is extremely important to notice however that in this context

$$ E\left\{ {\delta \underline{\text{u}}_P } \right\} = E\left\{ {\underline{\text{u}} (P) - \underline{\text{u}} \left( {P_1 } \right)} \right\} = \underline{\text{t}} - \underline{\text{t}} = 0 $$
(4.4)

as well as

$$ E\left\{ {\delta \underline{{\hat{u}}}_p } \right\} = \lambda E\left\{ {\delta \underline{u}_{o2} } \right\} = \lambda E\left\{ {\delta \underline{u}_2 - \underline{\nu } } \right\} = \lambda E\left\{ {\underline{u}_2 - \underline{u}_1 } \right\} = 0, $$
(4.5)

so that there is no constraint on (4.3) to get an unbiased predictor, namely λ is a free variable. Now we proceed to compute the r.m.s. prediction error, i.e.

$$ \begin{array}{*{20}c} {E^2 = E\left\{ {\left[ {\delta \underline{\text{u}}_P - \lambda \delta \underline{\text{u}}_{{{\text{o}}2}} } \right]^2 } \right\} = E\left\{ {\left[ {\left( {\underline{\text{u}}_P - } \right.\underline{\text{u}}_1 ) - \lambda \left\{ {\underline{\text{u}}_2 - \underline{\text{u}}_1 } \right\}} \right]^2 } \right\} + \lambda^2 E\left\{ {\left| {\underline{\nu } } \right|^2 } \right\} = } \hfill \\ { = 2\gamma \left( {d_{{PP_1 }} } \right) + 2\lambda^2 \gamma \left( {d_{{P_2 P_1 }} } \right) - 2\lambda E\left\{ {\left( {\underline{\text{u}}_P - \underline{\text{u}}_1 } \right)^t \left( {\underline{\text{u}}_2 - \underline{\text{u}}_1 } \right)} \right\} + \lambda^2 Tr\left\{ {C_{{\nu \nu }} } \right\}} \hfill \\ \end{array} . $$
(4.6)

On the other hand

$$ E\left\{ {\left( {\underline{\text{u}}_P - \underline{\text{u}}_1 } \right)^t \left( {\underline{\text{u}}_2 - \underline{\text{u}}_1 } \right)} \right\} = \frac{1}{2}E\left\{ {\left| {\underline{\text{u}}_P - \underline{\text{u}}_1 } \right|^2 + \left| {\underline{\text{u}}_2 - \underline{\text{u}}_1 } \right|^2 - \left| {\underline{\text{u}}_P - \underline{\text{u}}_2 } \right|^2 } \right\} = \gamma \left( {d_{{PP_1 }} } \right) + \gamma \left( {d_{{P_2 P_1 }} } \right) - \gamma \left( {d_{{PP_2 }} } \right). $$
(4.7)

We call, for the sake of simplicity

$$ \gamma \left( {d_{{PP_i }} } \right) = \gamma_i \;i = 1,2\quad \gamma \left( {d_{{P_1 P_2 }} } \right) = \gamma_{12} \quad 2\Sigma_{\nu } = Tr\left\{ {C_{{\nu \nu }} } \right\} $$

and then, combining (4.7) and (4.6), we find

$$ E^2 = 2\left( {1 - \lambda } \right)\gamma_1 + 2\lambda \left( {\lambda - 1} \right)\gamma_{12} + 2\lambda \gamma_2 + 2\lambda^2 \Sigma_{\nu } . $$
(4.8)

The minimum of E 2 is obtained at

$$ \lambda = \frac{1}{2}\frac{{\gamma_1 - \gamma_2 + \gamma_{12} }}{{\gamma_{12} + \Sigma_{\nu } }}. $$
(4.9)

From (4.9) and (4.8), the prediction error can be computed. So we can put now

$$ \left( {\underline{R}_p - \underline{R}_1 } \right)_{up} = \left( {\underline{R}_p - \underline{R}_1 } \right) - \delta \underline{{\hat{u}}}_P $$
(4.10)

and therefore we have

$$ \left( {\underline{R}_p - R_1 } \right)_{up} = \underline{r}_P - \underline{r}_1 = \delta \underline{u}_P - \delta \underline{{\hat{u}}}_P . $$
(4.11)

Formula (4.10) tells us how to update the geodatabase, relative to the position of P 1, while (4.11) tells us that the prediction error of \( \delta \underline{\text{u}}_P \) is the new error of the updated geodatabase.

To get acquainted with the above concepts, we present two small artificial examples.

Example 1: assume you have a geodatabase with a prior relative error of σ(d) = 2 · 10−4d. We have two points P 1 and P 2 observed by GPS with errors \( \underline{\nu }_1, \,\,\underline{\nu }_2 \) such that

$$ {\text{C}}_{{\nu_1 \nu_1 }} = {\text{C}}_{{\nu_2 \nu_2 }} = \sigma_{\nu }^2 {\text{I}}\quad \sigma_{\nu } = 0.1\,{\text{m}}\quad {\text{C}}_{{\nu_1 \nu_2 }} = 0. $$

The position of the two points is respectively −1 km and +1 km on the x-axis at the scale of the terrain.

The errors observed at P 1, P 2 are \( \underline{\text{u}}_{\text{o1}}, \underline{\text{u}}_{\text{o2}} \), and are given in meters.

Note that, according with (2.14), γ(d) = 4 · 10−8d 2 (d given in meters) = 4 · 10−2d 2 (d given in kilometers), meaning that we shall express d in km but the result for γ will be in m2.

So we have

$$ \Gamma = \left| {\begin{array}{*{20}c} 0 & {4 \cdot 10^{- 2} d_{12}^2 } \\ {4 \cdot 10^{- 2} d_{12}^2 } & 0 \\ \end{array} } \right| = \left| {\begin{array}{*{20}c} 0 & {16 \cdot 10^{- 2} } \\ {16 \cdot 10^{- 2} } & 0 \\ \end{array} } \right| $$
$$ \Sigma_{\nu } = \left| {\begin{array}{*{20}c} {2\sigma_{\nu }^2 } & 0 \\ 0 & {2\sigma_{\nu }^2 } \\ \end{array} } \right| = \left| {\begin{array}{*{20}c} {2 \cdot 10^{- 2} } &0 \\ 0 & {2 \cdot 10^{- 2} } \\ \end{array} } \right| $$
$$ \underline{\gamma } = \left| {\begin{array}{*{20}c} {4 \cdot 10^{- 2} d_1^2 } \\ {4 \cdot 10^{- 2} d_2^2 } \\ \end{array} } \right| $$

and the conditioned normal system (3.16) becomes

$$ \left\{ {\begin{array}{*{20}c} { - 2 \cdot 10^{- 2} \lambda_1 + 16 \cdot 10^{- 2} \lambda_2 + \alpha = 4 \cdot 10^{- 2} d_1^2 } \hfill \\ {16 \cdot 10^{- 2} \lambda_1 - 2 \cdot 10^{- 2} \lambda_2 + \alpha = 4 \cdot 10^{- 2} d_2^2 ~} \hfill \\ {\lambda_1 + \lambda_2 = 1} \hfill \\ \end{array} } \right. $$

We notice that, in this system, \( \underline{\lambda } \) is non-dimensional, α is in m2 as the known terms, but d 1 and d 2 are expressed in km.

The solution of the system is

$$ \left\{ {\begin{array}{*{20}c} {\lambda_1 = \frac{1}{2} - \frac{1}{9}\left( {d_1^2 - d_2^2 } \right)} \hfill \\ {\lambda_2 = \frac{1}{2} + \frac{1}{9}\left( {d_1^2 - d_2^2 } \right)} \hfill \\ {\alpha = 10^{- 2} \left( {2d_1^2 + 2d_2^2 - 7} \right)} \hfill \\ \end{array} } \right. $$

So that, using the relation \( d_1^2 - d_2^2 = 4x \) (x in km),the geodatabase correction is given by

$$ \underline{{\hat{u}}} \left( P \right) = \frac{1}{2}\left( {\underline{u}_{o1} + \underline{u}_{o2} } \right) + \frac{4x}{9}\left( {\underline{u}_{o2} - \underline{u}_{o1} } \right). $$

The result nicely illustrates that, when \( \underline{\text{u}}_{\text{o1}} = \underline{\text{u}}_02 \), \( \widehat{{\underline{u} }}\left( P \right) \) is just a common translation. The unit of \( \widehat{{\underline{u} }}\left( P \right) \) are meters as those of \( \underline{\text{u}}_{\text{o1}}, \underline{\text{u}}_{\text{o2}} \).

Finally, we compute the new geodatabase error (in m2) and we find

$$ E^2 (P) = 10^{- 2} \left( {\frac{8}{9}x^2 + 8y^2 + 1} \right). $$

Here, we read that at the origin the error is 0.1 m, which is a reasonable number, and that the error increases faster in the Y direction, which again is understandable, given the design of the updating points.

Example 2: we take the same situation as in Example 1, with the only difference that now we assume that instead of giving separately, the updated coordinates of P 1 and P 2,we give the base vector \( \underline{\text{N}}_2 - \underline{\text{N}}_1 \).

Correspondingly (cf. 4.2), we will have an observation \( \delta \underline{\text{u}}_02 \) with a vector noise \( \underline{\nu } \) that now we assume to have covariance

$$ {\text{C}}_{{\nu \nu }} = \sigma_{\nu }^2 {\text{I}}\quad \sigma_{\nu } = 0.02\,{\text{m}}. $$

Our purpose is to predict \( \delta \widehat{{\underline{u} }}\left( P \right) \) according to (4.3). The solution is almost given by (4.9) so we have only to use

$$ \begin{array}{*{20}c} {\gamma_i = 4 \cdot 10^{- 2} d_i^2 \left( {\text{km}} \right),\quad d_i^2 = \left| {\underline{\text{r}}_P - \underline{\text{r}}_i } \right|^2 \quad \left( {i = 1,2} \right)} \hfill \\ {\gamma_{12} = 16 \cdot 10^{- 2}, \quad \Sigma_{\nu } = \sigma_{\nu }^2 = 4 \cdot 10^{- 4} } \hfill \\ \end{array} $$

in that formula.

The result is

$$ \lambda = \frac{{2\left( {x + 1} \right)}}{4.01}; $$

we observe that indeed λ = 0 when x = −1, y = 0 because in that case \( \delta \underline{\text{u}}_P = 0 \).

On the other hand, the same is true when x = −1 and y whatever; this is explained by the fact that we have only one base vector observed, directed along x and this gives no information on \( \delta \underline{\text{u}} \) when \( \underline{\text{r}}_P - \underline{\text{r}}_1 \) is along the y axis.

Finally, a computation of E2 up to 10−4 m2, and neglecting 10−6 m2, gives

$$ E^2 (P) = 4 \cdot 10^{- 2} \left[ {\left( {x + 1} \right)^2 + y^2 - \left( {x + 1} \right)^2 \left( {1 - \frac{{10^{- 2} }}{4}} \right)} \right]. $$

As we see E2 is zero for y = 0, x = -1 as it should be. Also interesting is the case y = 0, x = 1, namely P = P 2, where \( E^2 (P) = 4 \cdot 10^{- 2} {\text{m}}^2 \), which is complying with the noise of \( \delta \underline{\text{u}}_{02} \).

Conclusions

If one assumes that the vector field \( \underline{\text{u}} (P) \) of the position error on a geodatabase is a homogeneous, isotropic intrinsic random field with constant mean and variogram (2.14), known a priori from the relative accuracy of the geodatabase, one can attack the problem of updating the position \( \underline{\text{R}}_P \), of any point P on the geodatabase, by kriging theory.

With a typical GPS updating survey in mind, in the paper two cases are covered: that the coordinates of individual points P i , \( i \in J \), are re-determined or that base vectors \( \underline{\text{b}}_{ik} = \underline{\text{N}}_{{P_i }} - \underline{\text{N}}_{P{_k }} \) are determined.

On the basis of the new observations, the new geodatabase coordinates are derived and their mean square error is computed.

As explicitly stated, this approach does not take into account any other geometric relation between points than that of the relative accuracy of the bases \( \left| {\underline{\text{ R}}_i - \underline{\text{R}}_k } \right| \).

If other constraints have to be considered, this can always be done a posteriori.

For instance, consider the case of Example 1 and assume that four points P 3, P 4, P 5, P 6 have been accordingly updated, with coordinates \( \underline{\text{R}}_{\text{up3}}, \,\,\underline{\text{R}}_{\text{up4}}, \,\,\underline{\text{R}}_{\text{up5}}, \,\,\underline{\text{R}}_{\text{up6}} \) with errors of know variances. Assume further that we want to impose the condition that P 3, P 4, P 5, P 6 are the vertices of a rectangle; then one can easily create the family of rectangles in the plane, depending on five parameters (namely the sides a, b and the three parameters of a roto-translation) and find the one that best fits the updated coordinates. Similar artifacts can be found to impose different conditions. Of course, a full rigorous theory would adjust the updating observations, taking the constraint into account all together. But this is left for future work.