-H k-N b^ bdR btd- -N F van een toevoeging of aanpassing van een object (dit is mogelijk in de meeste DBMSen); b. herschrijf de zoekopdrachten voor rechthoek-overlap naar SLC-vragen (alleen mogelijk in geavanceerdere DBMSen, maar altijd mogelijk binnen een CIS-inter lace van het DBMS). Een combinatie van de Field-tree en de Morton-code (Quadtree) is gebruikt als basis voor de SLC. Deze structu ren worden beschreven in het volgende hoofdstuk. In [2] wordt een methode beschreven, gebaseerd op een combina tie van de Quadtree en Morton-code. Het nadeel van deze methode is dat een object, dat een hoofdgrens van de Quadtree doorsnijdt, een waarde krijgt overeenkomstig het hoofdgebied van de Quadtree. Later, tijdens het zoeken, zal Fig. 1. dit kleine object altijd worden opgehaald wanneer het De Quadtree en zoekgebied het hoofdgebied van de Quadtree overlapt, zelfs quadcodes. wanneer dit kleine object er zelf ruim buiten valt. Dit pro bleem kan worden verminderd door meer dan één waarde per object toe te staan [3]. De nadelen van deze methode zijn het toegenomen geheugengebruik en het feit dat de zoekvoorwaarde ingewikkelder zal worden en daarom ook langzamer. De SLC-methode kent deze nadelen niet. In de volgende hoofdstukken worden de benchmark-resultaten gepresenteerd. Basisstructuren In dit hoofdstuk zullen beknopte beschrijvingen worden gegeven van de Region Quadtree, de Morton-waarde en de Field-tree. Meer details kunnen worden gevonden via de gegeven literatuurverwijzingen. De Quadtree is een generieke naam voor allerlei zoek- bomen die worden opgebouwd door de ruimte recursief in vier quadranten op te splitsen. In [14] [15] wordt hiervan een goed overzicht gegeven. De bekendste Quadtree is de region Quadtree die wordt gebruikt om gerasterde benade ringen van een polygoon op te slaan. Het domein wordt eerst omsloten door een vierkant. Vervolgens wordt her haaldelijk een vierkant in vier vierkanten van gelijke groot te gesplitst, net zolang tot het geheel binnen (een zwart blad) c.q. geheel buiten (een wit blad) de polygoon ligt of totdat de maximale diepte van de boom (Quadtree) is bereikt (fig. 1). Aan elk blad kan een uniek label worden gehangen, de quadcode. Bij elke splitsing krijgen de kwa dranten een nummer (bijvoorbeeld zuid-west 0, noord west 1, zuid-oost 2 en noord-oost 3). Het pad van de top naar een blad in de boom correspondeert met een unieke string; korte strings (slechts een paar splitsingen) komen overeen met een groot gebied, terwijl lange strings overeenkomen met kleinere gebieden (veel splitsingen). De ordening van punt-locaties met gehele coördinaten (of wel de rastercellen van een tweedimensionaal grid of de Fig. 2. tweedimensionale knopen in de Quadtree) kunnen worden De Morton- gebruikt voor tegel-indexering (tile indexing). Hierdoor waarden (op een wordt een tweedimensionaal probleem vertaald in een 8 bij 8grid). ééndimensionaal probleem. In [1] [8] [10] [12] zijn verschillende orde ningen beschreven: row, row prime, Morton, Hilbert, Sierpinski, Gray- code, Cantor-diagonal en spiral. Bij het opslaan van ruimtelijke gegevens moet er altijd een afbeelding naar één dimensie worden gemaakt, omdat de tweedimensionale gegevens in het één dimensionale geheugen van een com puter moeten worden opgeslagen. Het doel van de ordeningen is het cluste ren van de ruimtelijke gegevens: objec ten die in de werkelijkheid dicht bij elkaar liggen, zouden ook dicht bij elkaar in het computergeheugen (op disk) moeten worden opgeslagen, om dat het waarschijnlijk is dat ze ook gezamenlijk zullen worden opgehaald. Het bit voor bit afwisselen van de binaire representatie van de x- en y- coördinaat resulteert in een ééndimen sionale sleutel: de Morton-waarde [13]. Deze waarde is ook bekend onder de namen Peano keyN-order of 244 1996-6 NGT GEODESIA Region Quadtree Morton-waarde m 101 5 100 4 011 3 010 2 001 1 000 0 12 300 000 0 010 2 011 3 100 4 110 6 X- 111 7 (zuid-west=0, noord-west=1, zuid-oost=2, noord-oost=3) Quadcode 0 heeft Morton interval: 0-15 Quadcode 10 heeft Morton interval: 16-19 Quadcode 12 heeft Morton interval: 24-27 Quadcode 300 heeft Morton interval: 48-48 Y 110 6 101 5 100 4 011 3 010 2 001 1 000, 0 62 0 2 b^ 8 000 001 010 011 100 101 110 111 ■0 1 2 3 4 5 6 7 Twee voorbeelden van Morton-waarden: ->x=001, y=010 -> xy=000110 (decimaal 6) x=110, y=111 -> xy=111101 (decimaal 61

Digitale Tijdschriftenarchief Stichting De Hollandse Cirkel en Geo Informatie Nederland

(NGT) Geodesia | 1996 | | pagina 6