er zijn ook twee hele goede verklaringen aan te voeren voor
de acceptatie ervan:
de CAD-structuur is zo ingeburgerd, dat er nauwelijks
nog een ander referentiekader is;
het lijkt alsof het enige alternatief gelegen is in het toe
passen van „zware" topologische GIS-systemen.
Nieuwe gegevensstructuur
Alle tekortkomingen van de huidige datastructuren ver
vallen zodra we niet langer de lijnen, maar de punten
centraal stellen, en van hieruit een objectgericht bestand
gaan opbouwen (fig. 2). We starten met de puntenset. Van
elk punt dat we nodig hebben voor onze terreinbeschrij
ving, worden de coördinaten eenmalig opgeslagen. Deze
punten krijgen een uniek nummer. Vervolgens gaan we de
lijnstukken vormen. Dit zijn strings van puntnummers
(geen coördinaten!) die van knooppunt naar knooppunt
lopen. Door deze punten en lijnstukken is de wiskundige
beschrijving van het terrein vastgelegd. De volgende stap
is om hieruit de objecten te vormen.
Dit doen we door de lijnstukken te groeperen tot objecten,
waarbij elk lijnstuk (en daarmee ook elk punt) in meerdere
objecten mag voorkomen. De gebruiker communiceert
met het systeem op objectniveau en merkt niet of nauwe
lijks wat zich „onder de oppervlakte" afspeelt. Als hij in het
voorbeeld van fig. 2 op lijnstuk 2-3 klikt, zal het systeem
niet dit losse lijnstukje laten oplichten, maar achtereen
volgens het volledige huis en de volledige terreingrens. In
dien tijdens het interactief invoeren van een object op een
bestaand punt wordt „gesnapt", wordt dit bestaande punt
automatisch hergebruikt in het nieuwe object zonder dat
de gebruiker hier iets van merkt.
Deze structuur heeft de volgende voordelen:
de coördinaten van elk punt zijn slechts één keer opge
slagen, ook als dit punt door meerdere objecten wordt
gebruikt. In fig. 2 zijn dit de punten 2 en 3;
alle lijnstukken zijn slechts één keer opgeslagen, ook als
ze door meerdere objecten worden gebruikt. In fig. 2 is
dit lijnstuk 102;
objecten zijn altijd één geheel. De terreingrens in het
voorbeeld bestaat uit drie lijnstukken, waarvan er één
tevens in het object „huis" zit, maar kan door de gebrui
ker toch als één geheel object worden benaderd;
bij het verplaatsen van punten kunnen automatisch alle
aangrenzende objecten worden „meegetrokken". Daar
naast blijft het uiteraard ook mogelijk om een puntver-
plaatsing voor één object te laten gelden;
Fig. 1.
Lijnstructuren.
Fig. 2.
Puntstructuren.
1 relaties tussen objecten liggen altijd
expliciet vast in de gegevensstruc
tuur door gemeenschappelijk ge
bruik van lijnstukken en punten. In
het voorbeeld hebben de terrein
grens en het huis gemeenschappe
lijke lijnstukken en punten (102,
respectievelijk 2 en 3);
voor het creëren van vlakobjecten
zijn geen centroïden of links/rechts-
informatie meer nodig. De gebrui
ker hoeft niet méér te doen dan er
gens een datapunt te geven, waarna
het systeem de omliggende lijnen bij
elkaar zoekt en groepeert. Het huis
in fig. 2 is een voorbeeld van zo n
vlak. Ook eilanden kunnen in deze
groepering worden opgenomen,
waardoor de eilandrelaties expliciet
worden vastgelegd in de gegevens
structuur;
multicodering is ingebakken in de
gegevensstructuur doordat verschil
lende objecten hetzelfde lijnstuk
kunnen gebruiken. Het begrip
„multicodering" is voor deze gege
vensstructuur eigenlijk een onjuiste
term, omdat aan het lijnstuk zelf
geen codes worden gekoppeld. De
betekenissen ontstaan doordat een
lijnstuk wordt gegroepeerd in meer
dere objecten;
de structuur kan nooit worden ver
stoord, omdat de gebruiker uitslui
tend op objectniveau met het sys
teem kan communiceren;
de gegevensstructuur is relatief een
voudig te converteren naar CAD-
structuren en andersom. Bij een uit-
conversie worden de puntnummers
in de lijnstukken vervangen door de
coördinaten van dat punt. Bij een
in-conversie worden identieke coör
dinaten automatisch samengevoegd
tot één punt. Groeperingsmechanis
men op CAD-niveau, zoals multi
codering, links/rechts-informatie en
centroïden, kunnen worden gegene-
104
>997-3
GEODESIA
17248.12
32472.44
17253.73
32475.18
17253.73
32475.18
17261.04
32475.22
17261 04
32475.22
17265.36
32475.36
17253.73
32475.18
17253.70
32484.74
17249.21
32484.88
17249.33
32495 65
17261.20
32495.66
17261.04
32475.22
object code type lijnstukken
001 huis vlak 101,102
002 grens lijn 103,102,104
z
44 0.00
18 0.00
.22 0.00
17248.12 32472
17253.73 32475
17261.04 32475
17265.36 32475
17253.70 32484
17249.21 32484
17249.33 32495
17261.20 32495
.36 0.00
74 0.00
lijnstuk
101
102
103
104
punten
3,5.6.7.8.2
2.3
1,2
3.4
0.00
.65 0.00
66 0.00