ul 2004
ng
to
on
11s
ith
he
re
NE
S" 49
ev
International Archives of the Photogrammetry, Remote Sensing and Spatial Information Sciences, Vol XXXV, Part Bl. Istanbul 2004
answer is simply given by the fact: three intersecting planes
yield a common point. So, we need three (neighboured)
homologous planes to get (more or less) the same effect of tying
as from one homologous point! And, with the restriction that
the intersection angles are steep enough. (A point can be
considered as intersection of three planes: e.g. the three
coordinate planes yield an optimal intersection since they are
orthogonal.)
Homologous plane features consist of regions of about 5 to 20m
extension; for shortness, we call such a feature a patch. See
Figure 2.
The above deliberations also hold true for control points. We
have to replace control points by control features: We
determine geodetically four supporting points for one patch
plane. See also Figure 2. The fourth (superfluous) point serves
for checking and over-determination purposes.
2x
vl Lv
S. FK d EC oh
pv s a (s N
Nt. T and ; - —
eer A e r
[. =» \ \ x ; -— le \ 1
| i | x nou a i 1 !
i i Wr 4| i |
“od ind or i» |
^ us AMET \ i
p: \ | €] i hm
€ Xt or AT i Am) Lo
\ dm
x X \
2
CE ^^ roofarea
Figure 2: Examples of three tying patches equivalent to one
tying point; respective three control patches are
equivalent to one control point provided different
expositions in the patch-set.
2.2 The Patch-finding Mission
We use chronological data of the Lidar-strips, since this data-
structure preserves topology to a high degree whereas a point-
cloud has to be considered topologically unstructured. The
usual procedure on giving a point-cloud again a topology is
triangulation (e.g. Delaunay (Heitzinger 1996)). But this is time
consuming and in the XY-domain sometimes wrong (e.g. a
point on the wall might appear inside the eaves of a house).
Since we want to use original data, i.e. unfiltered data, we don't
want to use a regular (desirable), but interpolated (regrettable),
grid.
Proposition: A topology in the domain of time and nadir-angle
as seen from the trajectory is free of loops. (There is one
exception: due to pitch-caused "over-scanning" the scanner may
"look back" for a while, scanning parts of the ground three
times until regaining its usual attitude. This happens seldom and
the such generated data may be eliminated easily — during
setting up the topology — to grant our proposition.)
For different types of laser scanners we consider in short the
topological properties of the recorded point sequence.
"topology" in this context defines the neighbourhood relations
of points as to "span" the underlying surface in some useful
(approximate) sense.
The topology of a laser scanner with push-broom fibre-optics
can be mapped to a matrix grid.
The topology of a laser scanner with rotating mirror can also be
mapped to a matrix-like grid where the scan-lines fill the rows
from left (e.g.).
The topology of a laser scanner with oscillating mirror can also
be mapped to a matrix-like grid where the scan-lines fill the
rows alternately from left and right.
Since drop-outs of (single) measurements may occur, the such
mapped columns might jump (with respect to Cartesian space)
when filling the rows uncritically.
So, we don't use a matrix-approach but the - in this case -
superior "vector of vector" approach: We have a vector of rows
(i.e. scan-lines); such a row contains a vector of scanner points
(i.e. the measurements at a point of time, itself being a vector of
attributes);
The topology is then given by the rows and - between (timely)
neighboured rows - by the monotony of nadir-angles; this yields
- on demand - also a simple triangulation between rows.
Another advantage is the fact that the strip-files may be
processed simply sequentially keeping a relatively short vector
of rows in memory. On the other hand it limits the size of
recognizable patches.
This actual vector of rows is called "row-buffer".
We search patch-candidates in the row-buffer.
A patch-candidate is now a (tilted) plane supported by a
region of laser-scanner points matching a vector of criteria: it
— is above the surrounding (if we search for a roof)
— . is planar within some tolerance (e.g. standard deviation
0.04m)
— has minimal steepness (if we search for a roof)
— has not too many outliers (due to chimney, dormer, etc.)
— has minimal count of supporting points (not too small).
= nei
Adjustment with data-snooping of a general plane is used to
determine patch-candidates in the current row-buffer. So, we
get for every strip a list of patch-candidates including quality
measures.
A patch is then represented by
— apatch identifier (containing the strip identifier)
— its reference point (chosen centre of the used points of the
region; to be kept constant in adjustment)
— its normal vector incl. accuracy
— its shift along the normal incl. accuracy
— scan-lag compensation incl. accuracy
— four anchor points circumscribing the region: each bearing
the attributes: time /, polar coordinates nadir angle V ,
fore-sight Z , distance 0 to the adjusting plane; they
represent the many of original polar points and will be
used in adjustment as observations (so saving computing
time)
— Other statistics, etc.
When the row-buffer is worked off, its first row is replaced by
the next row as read in from the chronological scanner file
becoming logically the last row. So we get a moving (along the
trajectory) row-buffer which is administrated as circular list.
This first run through the data gives for every strip an
independent list of "normalized" patch-candidates.
In a second run, for every strip (the subset of overlapping strips
of) these lists (accordingly sorted) are used as seeds for
determining the respective homologous patch-candidate. So, an
original patch-candidate may get no, one, or more partners (e.g.
from cross-strips).
Any strip produces now a second list of homologous
"normalized" patch-candidates. The structure is the same as
537