Een verdeel-en-heers aanp een vario-schaal structuur Zo'n vijf jaar geleden is in Geo- Info het concept van vario-schaal geo-informatie beschreven (Van Oosterom en Meijers, 2012). In dit eerdere artikel werd de eerste echt geleidelijke vario-schaal structuur gepresenteerd: een delta schaal geeft een delta in de kaart (en hoe kleiner de delta schaal hoe kleiner de delta kaart). De afgelopen vijf jaar is er veel R&D verricht om het concept van vario-schaal geo- informatie te realiseren: ontwikkelen van prototypen en testen met echte data. In het kader van het Open Technologieprogramma (OTP van STW, Stichting Technische Wetenschappen) project 11185 'Vario-scale geo-information' is er de afgelopen jaren veel vooruitgang geboekt. De belangrijkste resultaten zullen in een serie beknopte artikelen worden behandeld. Dit is het derde artikel in de serie. 14 Geo-Info I 2017-3 Door Radan Saba, Martijn Meijers en Peter van Oosterom Grote datasets met geografische gegevens in vector formaat met een verdeel-en-heers strate gie verwerken, is niet eenvoudig. Dit geldt zeker voor het probleem van kaartgeneralisatie, waar (relaties tussen) nabije objecten in ogenschouw moeten worden genomen. Om een vario-schaal structuur af te leiden, waarbij de originele set aan kaartobjecten te groot is om in één keer in het hoofdgeheugen van een computer te laden, is het nodig de input in kleinere blokken op te delen. Daarvoor hebben we een verdeel- en-heers aanpak ontwikkeld, zodat we - onafhankelijk van de grootte van de input - de hele dataset toch om kunnen zetten naar een vario-schaal structuur (waarna deze gebruikt kan worden, bijvoorbeeld in een client-server architectuur, zie het tweede artikel in deze serie, Huang, 2017 - Geo-Info nummer 2, 2017). Om enorme datasets aan te kunnen, is het dus nodig dat de input wordt opgesplitst in kleinere blokken met data. Deze blokken noemen we 'velden'. Door de kaartobjecten op te delen met behulp van deze velden, wordt de hoeveel heid gegevens die voor elk veld verwerkt moet worden, beperkt. Bijkomstigheid is dat de velden onafhankelijk van elkaar en tevens ook tegelijkertijd kunnen worden behandeld. Dit sluit goed aan op de huidige techniek van mul- tikernprocessoren, waardoor - in vergelijking zonder verdeel-en-heers aanpak - significante tijdswinst te behalen valt. Daartegenover staat dat de kaartobjecten die aan/over de rand van de velden liggen speciale aandacht vereisen. Aan het ontwerp van de verdeel-en-heers aanpak hebben we de volgende eisen gesteld: De aanpak moet onafhankelijk werken van het type kaart dat gegeneraliseerd moet worden. De velden (partitionering) moeten zonder tussenkomst van een gebruiker automa tisch gegenereerd kunnen worden. Elk kaartobject moet slechts eenmalig gegeneraliseerd worden. De aanpak moet parallelle verwerking mogelijk maken. De gegevens in de resulterende vario- schaal structuur moeten er gelijk of nage noeg gelijk uitzien qua vulling, als wanneer deze zonder verdeel-en-heers aanpak in één keer worden verkregen. We zullen nu eerst de aanpak in detail uitleg gen, waarna we een aantal gedane experi menten met resultaten zullen toelichten. De verdeel-en-heers aanpak Het hele proces om een grote vario-schaal datastructuur gevuld te krijgen, bestaat uit een aantal stappen: 1. het maken van een partitioneringsgrid met velden op meerdere niveaus (Fieldtree) en de input hierover verdelen, 2. de velden een voor een generaliseren, 3. de afronding. 1. Fieldtree maken en objecten verdelen Om de planaire partitie met nodes, edges en faces in kleinere blokken te verdelen, maken we gebruik van de zogenaamde Fieldtree datastruc tuur (Frank en Barrera, 1990). De Fieldtree is ontwikkeld voor GIS-toepassingen. Figuur 1 toont dat de velden op meerdere niveaus zijn georgani seerd met steeds verschoven oorsprong voor een niveau. Alle velden op één niveau vormen samen een grid. De structuur wordt compleet vastge legd door een ingegeven parameter die aangeeft hoe groot de velden op het laagste niveau zijn en de geografische omvang (extent) van de dataset (zie Figuur 1(a)). Wanneer de lay-out van de Fieldtree vastligt, kunnen de objecten worden verdeeld over de velden. Elk object uit de topologische structuur van de planaire partitie (node, edge of face) wordt toegewezen aan het kleinst mogelijke veld waar het qua omvang in past. In het geval een object groter is dan een veld op het laagste niveau (of deels over de rand ligt), wordt dit object in een veld op een hoger gelegen niveau geplaatst en komt dit object pas later aan de beurt in het generalisatie proces. Door de verschoven grids lukt dit altijd (omdat de grid lijnen steeds verschuiven). Zodra alle objecten toegewezen zijn aan een veld, kan elk laagstgelegen veld worden gegene raliseerd. Het generalisatieproces kan onafhanke lijk per veld en tegelijk met andere velden worden uitgevoerd. Merk op dat de vlakken (faces) alleen worden gegeneraliseerd als ze compleet binnen een veld liggen (en hier dus ook alle gerelateerde nodes en edges bij aanwezig zijn). Als een vlakobject over de rand heen ligt, komt dit vlak

Digitale Tijdschriftenarchief Stichting De Hollandse Cirkel en Geo Informatie Nederland

Geo-Info | 2017 | | pagina 16