ak om voor grote datasets
te creëren
j-'
2017-3 I Geo-Info I 15
bij een veld op een hoger niveau aan de beurt.
Wanneer alle negen kind-velden verwerkt zijn,
kan het één niveau hoger gelegen ouder-veld
worden verwerkt. Het proces gaat zo door totdat
alle velden compleet gegeneraliseerd zijn.
Doordat de velden op een hoger niveau
worden verschoven, kan worden gegarandeerd
dat objecten die eerder niet konden worden
gegeneraliseerd (omdat ze of te groot waren of
op de rand lagen) nu wel aan de buurt kunnen
komen. De aanpak probeert om elk veld met
een factor 4 te generaliseren. Stel dat de input
uit n vlakobjecten (faces) bestaat, dan moet het
resultaat van het generalisatieproces van een veld
n/4 objecten bevatten. Bij een uniforme dataver-
deling wordt zo bereikt dat de hoger gelegen
velden net zoveel vlakken te verwerken krijgen als
de inputvelden.
2. Velden een voor een generaliseren
Nadat de objecten verdeeld zijn over de velden,
kan een veld gegeneraliseerd worden. Dit deel
van het proces kost de meeste verwerkingstijd.
Ons automatische generalisatieproces is geba
seerd op het vinden van het minst belangrijke
kaartobject, wat vervolgens gegeneraliseerd
wordt. Dit globale criterium verandert door de
verdeel-en-heers aanpak: in plaats van globaal
is het nu een 'lokaal veld' criterium. Dit is zinvol,
omdat bijvoorbeeld de kaartobjecten in het noor
den geen directe relatie hebben met de objecten
in het zuiden van de dataset. Generalisatie-acties
die we in ons proces geïmplementeerd hebben,
zijn onder andere dat vlakken worden samenge
voegd, hun grenzen worden versimpeld en vlak
ken omgezet worden naar een lijnrepresentatie en
worden verdeeld over hun naaste buren.
Tijdens het verwerken van een veld kunnen twee
verschillende categorieën van objecten worden
onderscheiden. Ten eerste; objecten die niet
meer geldig zijn voor de kaartschaal die voor het
huidige veld werd bereikt door het generalisa
tieproces. Deze objecten zijn gereed (voor hun
kaartschaal range) en worden opgeslagen voor de
uiteindelijke vario-schaal structuur. Ten tweede;
objecten die nog verder versimpeld moeten
worden. Deze objecten worden in een veld
van de Fieldtree op een hoger gelegen niveau
geplaatst - wederom door ze in het kleinste, nog
te verwerken veld te plaatsen waar ze compleet
in passen. Tezamen met de objecten die over
de rand lagen op het lager gelegen niveau aan
velden, vormen deze objecten zo samen weer
een (deels versimpelde) planaire partitie.
3. Afronding
Nadat alle velden verwerkt zijn, vindt de laatste
operatie van het proces plaats: het combineren
van de informatie over alle definitieve objecten uit
de verschillende velden. De individuele tabellen
per veld worden samengevoegd om één set aan
database tabellen te maken (een node, edge en
face tabel), die samen de vario-schaal structuur
vormen. Ook wordt in deze stap ruimtelijke
indexering toegepast, zodat de resulterende
structuur snel te bevragen is.
Resultaten
We hebben onze aanpak getest met drie datasets,
die behoorlijk verschillen in inhoud. De datasets
die we gebruikt hebben zijn:
CORINE-landcover bestand voor het Verenigd
Koninkrijk en Ierland (met 100.000 vlakob
jecten) en rond Estland (met zo'n 130.000
vlakobjecten).
Het Nationaal Wegen Bestand, de vlakken
tussen de wegen werden gevormd door
lijnen van het wegennetwerk te gebruiken.
Ongeveer 200.000 vlakobjecten.
Een kadastrale dataset met percelen van pro
vincie Gelderland met ongeveer 880.000 vlak
objecten.
Om inzicht te verkrijgen in wat een redelijke veld-
grootte is voor de kleinste velden in de Fieldtree,
hebben we het hele proces (Fieldtree maken
en objecten verdelen, veld voor veld generali
seren, afronden) met verschillende veldgroottes
herhaald. Hierbij varieerden we de veldgroottes
gebaseerd op de gemiddelde grootte (lengte van
zijn langste zijde) van een vlakobject in de dataset.
(a) Pseudo code om de lay out van een Fieldtree vast te (b) 3 niveaus van de Fieldtree, laagste niveau (c) 3D impressie van de velden. Merk op dat de
leggen (Van Oosterom en Vijlbrief, 1996). Het aantal in roze, middelste in groen en hoogste 3e dimensie schaal is.
benodigde niveaus kan worden afgeleid vanuit niveau in blauw.
de extent van de dataset en de parameter van
veldgrootte op het meest gedetailleerde niveau.
NRLEVELS 8 Gewenst aantal niveaus in de Fieldtree
FINEGRID 12500 Veldgrootte (m) meest gedetailleerde niveau
THEORIGX 0 Oorsprong (in x- and y-richting)
THEORIGY 0
for (i=0; i<NRLEVELS; i++) do
SIZE[i] FINEGRID 2Ai
ORIGX[NRLEVELS-1] THEORIGX
ORIGY[NRLEVELS-1] THEORIGY
for (i NRLEVELS-2; i>=0; i--) do
ORIGX[i] ORIGX[i+1] - SIZE[i+1]/4
ORIGY[i] ORIGY[i+1] - SIZE[i+1]/4
seal*
x
Leve! 1
Leve! 2
Figuur 1 (a, b en c) - Fieldtree.