Geoscience Reference

In-Depth Information

2.1.2 Solid Checks

1. The minimum number n of polygons to define a solid is four. They must be

situated in different planes.

2. A valid intersection of two polygons of a solid either contains a common edge,

a common point of a linear ring, or is empty. Common edges and points must

be elements of both polygons.

3. Each edge of a linear ring defining a polygon is used by exactly one neighbor-

ing polygon.

4. Consistent orientation of polygons of a solid such that common edges according

to check 8 are used in opposite direction.

5. The normal vectors of the polygons must point towards the outside of the solid.

6. All parts of a solid must be connected.

7. The graph
G
S
=
(
V
P
, E
P
) of polygons and edges which are meeting in point
p
i

is connected for all
p
. Each vertex
v
∈
V
P
represents exactly one polygon which

contains
p
. Two vertices are connected with an edge
e
∈
E
P
if the polygons rep-

resented by these vertices have a common edge that is bounded by
p
.

2.1.3 Semantic Checks

1. Orientation of RoofSurface, WallSurface and GroundSurface elements

2.
measuredHeight
in same range as height of building geometry

3.
numberOfStoreysAboveGround
plausible for height of the building geometry

4.
numberOfStoreysBelowGround
plausible for height of underground geometry

of the building

5. Relationship of
Building
and
BuilidingPart
(Figs.
1
,
2
).

3 Healing

For each error detected during the validation process a specific error object

contains all necessary parameters for healing. Our approach assumes that all errors

should be healed hierarchically, according to the dependency of the respective

checks. An iterative approach assures that after an error is healed, the geometry is

checked repeatedly for new errors which might have been introduced during the

last healing step. This enables to manipulate to original model in a controlled and

reproducible way.

For the cases where problems can't be solved by the healing algorithms after a

user-defined maximum number of iterations, an error object is returned. Healing is

done in two phases. Firstly all the polygons are healed and afterwards, if polygons

pass the validation process, solid-errors are healed. In Fig.
3
the healing process is

illustrated.