ul 2004
ng GPs
hat fol-
irks are
satellite
)seudo-
lotably,
re only
rds, di-
istment
0 those
|-distri-
first re-
nade to
this re-
nge
nto the
san also
sitions.
nent as
1). Ta-
1trolled
is table
cluding
ace ac-
e-point
use ex-
comes
istment
position
ould be
in both
also re-
sser ex-
odelled
International Archives of the Photogrammetry, Remote Sensing and Spatial Information Sciences, Vol XXXV, Part B4. Istanbul 2004
4.0 Precise Orbits and Clock
The second set of tests were performed using the precise
satellite orbits and clocks. As alluded to above, this should
reduce the mean errors in addition to improving overall ac-
curacy. Both trends are visible in Table 4, where both the
standard deviations and mean errors are substantially less
than those in Table 2. In the case ofthe standard deviations,
an improvement of approximately 2596 was observed. Sur-
prisingly, the standard deviations are even better than those
from the ground-controlled network in Table 1. This is an
auspicious result; however in light of the problems with the
data, it is also one that needs further study.
Table 4: Check Point Error Statistics (m): Pseudorange
observations, Precise Orbits
Horizontal Vertical
Mean 0.37 2.88
Std. dev. 0.16 0.35
RMSE 0.40 2.90
Absolute maximum
(mean removed) 0.47 0.97
As shows in Table 5, the use of precise ephemeris also
improves results when single-point exposure station posi-
tion observations are used to control the network. As with
the broadcast orbits, however, the position observations ap-
proach is not as accurate as when the pseudoranges are di-
rectly included in the adjustment.
Table 5: Check Point Error Statistics (m): Single-point
positions observations, Precise Orbits
Horizontal ^ Vertical
Mean 0.54 2.67
Std. dev. 0.15 0.52
RMSE 0.56 2.72
Absolute maximum
(mean removed) 0.61 1.34
5 ADJUSTMENT SOFTWARE
To perform the combined adjustment of photogrammetric
and GPS data, the original plan was to use an existing bun-
dle adjustment software package developed as part of a
prior research project (see Ellum, 2001, for details). All
that was required was the addition of the equations devel-
oped in section 2.3. Most of the GPS-specific calculations,
such as orbit calculation and application of atmospheric
corrections, could have been done in stand-alone programs
prior to commencement of the bundle adjustment. How-
ever, rather than follow this path, it was decided that the
start of a new research project presented a good oppor-
tunity to rework the current software, making it easier to
maintain and extend.
To satisfy the two goals of maintainability and extensi-
bility, the adjustment program has been divided into in-
dividual adjustment modules as shown in Figure 3. In
this scheme, the overall adjustment is divided into sub-
adjustments that are connected in a hierarchical fashion.
937
Each sub-adjustment need only make a few generic rou-
tines available to the parent adjustment. The parent adjust-
ment then only has to call the routines in the appropriate
order. The strategy is further simplified through inheri-
tance and polymorphism — all the adjustments can inherit
a generic behaviour from a common base, or, when neces-
sary, implement their own custom behaviour. A program
following this design is more maintainable than a single
monolithic design because the individual adjustments (and
adjustment quantities) can be tested and debugged in iso-
lation. Also, the inheritance and polymorphism results in
less code, further improving maintainability.
Control points ——fI——— Unknown points
sa... : 7 ....
Terrestrial Photogrammetric GPS
Adjustment Adjustment Adjustment
É dora. ] f aes ] [oun] { Roue ld
l |
L mem] [reme d Lone] [measurements | |. miügation -
Mapping
[ Mark times function.
"M
Interior
Orientation
ee angles
and lever-arms
Image
measurements
|
Distances
(=
Co-ordinate
differences
[ Azimuths
Horizontal
Angles
Zenith : | |
Parameter
observations
775
M
Range { Atmospheric
interpolator | mode!
Relative an
orientations
= I
Exposure rs —
i LF) j
[ Orientations | Ephemeris ;
EN
Base
vectors
Dual-frequency
correction
fonospheric
Angles Precise model
Figure 3: Design of combined adjustment program
A disadvantage of organising the adjustment in the man-
ner described above is that it makes it more difficult to use
the reduced normal equations when solving the system of
equations. This is because the primary adjustment module,
which is responsible for solving the system of equations,
has no knowledge of the structure of the normal matrix.
For it to maintain such knowledge would be contrary to
the goal of genericity. As a consequence, no special tech-
niques — such as the method of reduced normals — are used
when solving the system of equations, and the system is
solved using Cholesky decomposition only. Naturally, this
results in degraded performance. At first, this was a con-
cern; however, at the same time as the adjustment was be-
ing re-implemented a move was also being made towards
the use of machine-specific tuned BLAS (Basic Linear Al-
gebra Subprograms) and LAPACK (Linear Algebra PACK-
age) libraries (Anderson et al., 1999). These libraries con-
tain high-performance routines for performing matrix op-
erations and for solving linear systems, and these routines
replaced the naive (but optimised) *C' and ‘C++ routines
that had been previously been responsible for such opera-
tions. BLAS and LAPACK libraries are freely available for
most computing platforms — in this case, the ATLAS (Au-
tomatically Tuned Linear Algebra Software) library was
used (ATLAS, 2003). As it turned out, the improvement
from using these libraries far outweighed the costs of not
using the reduced normal equations. As shown in Table
6, the time required for a moderately sized adjustment us-
ing Cholesky decomposition and the tuned libraries was
less than one-third the time required when the reduced nor-
mal equations were used with the existing naive routines.
( Fropaspheierer |
| lonospheric error
 mitigation — 1