Deel 2: Automatisch repareren
van gaten en overlap
Architectuur
Standaardoplossing
voor automatisch repareren
van toologie bestaat niet
■J I f -
Jry-' V
Fig. 6 Detectie van gaten en overlap in de BGT-testdata. Het grootste gat dat door onze tooi gevonden werd, was zo'n 5 cm breed.
Naast dat het automatische repareren van
topologische fouten efficiënt is, omdat het
veel tijd bespaart, heeft het automatisch
repareren binnen BGT-context nog twee
extra voordelen.Ten eerste wordt de afstem
ming tussen bronhouders die nodig is voor
objectafbakeningen op de bronhoudersgren-
zen (zoals genoemd in de BGT-catalogus)
objectiever geregeld in een automatisch
proces dan wanneer over ieder object dat
niet aansluit overleg moet plaatsvinden.
Ten tweede kan het automatische proces
ervoor zorgen dat de topologische regels in
heel Nederland eenduidig en op dezelfde
manier worden toegepast, zie bijvoorbeeld
de discussie binnen de BGT-Linkedln groep
"Mogen BGT-vlakobjecten op hetzelfde
niveau ongelijk aan nul elkaar overlappen?"
Het repareren met onze tooi geschiedt als
volgt. Bij het repareren krijgen de driehoeken
die eerder gevormd en gelabeld werden een
nieuw label (figuur 5e). Welk label is afhanke
lijk van lokale criteria, de huidige tooi bevat
zes mogelijkheden om labels toe te wijzen,
waarvan sommige al relevant zijn voor de
BGT. Zo kunnen bepaalde typen objecten
belangrijker zijn om in oorspronkelijke staat
te behouden
dan andereen
daardoor een
hogere prioriteit
krijgen of kunnen
objecten van de
ene bron houder een hogere prioriteit krijgen,
bijvoorbeeld wanneer deze een grotere posi
tionele nauwkeurigheid heeft. Ook kan ervoor
gekozen worden om bij grotere gaten of
overlap niets te doen maar wel een vlaggetje
te plaatsen, omdat dit zou kunnen wijzen op
objecten waarvoor er nog geen bronhouder is
respectievelijk er meerdere bronhouders zijn.
Figuur 7 laat zien, dat afhankelijk van
de gekozen reparatiemogelijkheid, er
verschillende oplossingen zijn. Figuur 7b
en 7c tonen ieder een oplossing van de
inconsistente planaire partitie in figuur
7a, waarbij in figuur 7b hogere prioriteit
(d.w.z. meer vertrouwen) wordt gegeven
aan de groene data en in figuur 7c aan de
paarse data.
In een tweede stap worden de polygonen één
voor één gereconstrueerd aan de hand van de
nieuwe labels (figuur sf) waarbij een algo
ritme wordt gebruikt
dat zowel gesloten
ringen maakt van
de buitenranden als
van de binnenringen
van polygonen.
De polygonen in het testgebied in figuur 6 zijn
op deze manier gerepareerd en de foutloze
data is inmiddels beschikbaar als voorbeeld
BGT data via www.geonovum.nl/dossiers/
bgtimgeo/destandaard.
De tool pprepair is ontwikkeld in C++ en
gebruikt een aantal externe bibliotheken.
C++ is geselecteerd om goede controle
te hebben over bijvoorbeeld memory
management. De tooi maakt gebruik van
de OGR Simple Features Library1 voor het
inlezen van een grote variëteit aan GIS
formaten en de CGAL Library2die robuuste
geometrische data structuren en operaties
kent. De code is als open source onder GPL-
Fig. 7a
Fig. 7 Een situatie met gaten en overlap kan op meerdere manieren door pprepair worden gerepareerd.
Geo-lnfo 2012-8 7