Puntenwolken opslaan in een Oracle DBMS Met laserscanning (inclusief laseraltimetrie en multi-beam echosounding) worden grote hoeveelheden datapunten gemeten. Deze datapunten worden puntenwolken genoemd. De interesse in en het gebruik van puntenwolken groeit. Analyse Afstudeeronderzoek TU Delft Ir. Martine Wijga-Hoefsloot, werkzaam bij Fugro GeoServices B.V., m.hoefsloot@fugro.nl Afhankelijk van de laserscanner en de meetopzet kan de ingewonnen dataset variëren van enkele honderden tot miljar den punten. Eén project kan zondermeer, meer dan een GB of zelfs TB aan data bevatten. Het lijkt een probleem om deze grote datasets te verwerken. Eén manier is om de dataset op te splitsen in blokken en deze in een tekst- of binair formaat op te slaan. Een andere manier is om de punten op te slaan in een database, leder punt in een record, gebaseerd op standaard data types. Punten opgeslagen in een database zijn eenvoudig te analyseren en te bevragen en alleen de geselecteerde punten worden naar de gebruiker gestuurd. Als de punten met een ruimtelijk datatype zijn opgesla gen, hebben ze een locatie. Ruimtelijk opge slagen punten kunnen worden geclusterd en geïndexeerd met een ruimtelijke index om het ruimtelijk zoeken te versnellen. Het opslaan en bevragen van grote hoeveelheden datapunten (met één punt per record) resulteert in het opslaan en ontvangen van grote hoeveelheden records. En ook al is de data geïndexeerd, het ontvangen van een antwoord kost tijd, enerzijds omdat per record ook veel over head wordt opgeslagen, anderzijds omdat er heel veel records worden geselecteerd. Omdat Oracle marktleider is, is dit onderzoek alleen gericht op Oracle. Gedurende het onderzoek is geprobeerd een antwoord te geven op de volgende onderzoeksvraag: Wat is het beste ontwerp van een datamodel om grote hoeveelheden puntenwolkdata in een Oracle database op te slaan, waarbij het mogelijk moet zijn dat de opgesla gen datapunten eenduidig gelezen kunnen worden door bestaande softwarepakketten, dat alle attributen beschikbaar blijven en dat de performance optimaal is? Het onderzoek is uitgevoerd met een test dataset van AHN2 (Middelburg, 17.478.245 punten, x,y,z,i,r,g,b). Zie bijgaande figuur 1 met drie afbeeldingen: Luchtfoto Middel burg (links) - Hoogte Model Middelburg (midden) - Geclusterde data (gemiddeld 1000 punten per cluster, rechts). Binnen Oracle kunnen punten op 3 ver schillende manieren worden opgeslagen: 1. met één punt per record, met data type SDO_GEOMETRY (GTYPE 3001, SDO_POINT). 2. met meerdere punten per record, met data type SDO_GEOMETRY (GTYPE 3005, POINTCLUSTER). 3. met meerdere punten per record, met data type SDO_PC. Voor dit onderzoek is voor het groeperen van punten in clusters met de 2e oplossing, de Region Quadtree toegepast. Met deze methode wordt de ruimte steeds in vier kwadranten (clusters) opgedeeld totdat ieder cluster minder dan het gewenste aantal punten bevat. Deze werkwijze heeft tot doel dat de minimum boundingboxen van de clusters zo klein en optimaal mogelijk worden gehouden. Om te bewerkstelligen dat de clusters die dicht bij elkaar liggen ook dicht bij elkaar in de database liggen, is een space-filling curve geïntroduceerd om de clusters te ordenen. Morton en Hilbert hebben space-filling curves ontwikkeld die een 2D (maar ook 3D) ruimte kunnen vullen met een lijn (zie figuur 2: Morton (boven) en Hilbert (onder) space-fil- ling curves [based on Wang and Shan, 2005]). In dit onderzoek is de Morton space-filling curve toegepast, hoewel de Hilbert space-fil ling curve nog betere resultaten zal opleveren. Omdat punten zijn gegroepeerd in clusters, dienen ook de bijbehorende attributen op een andere wijze te worden opgeslagen, dit is opgelost door attributen op te slaan in arrays (VARRAY). Figuur 7 - Middelburg: luchtfoto, hoogtemodel en geclusterde data. Figuur 2 - Morton en Flilbert space-filling curves. 20 Geo-lnfo 2013-2 Geo Info 02-13.indd 20 18-02-13 09:34

Digitale Tijdschriftenarchief Stichting De Hollandse Cirkel en Geo Informatie Nederland

Geo-Info | 2013 | | pagina 22