Ons alternatief: pprepair
Deel 1: Detectie van
overlap en gaten
De tooi kan voor de BGT
op verschillende plekken
worden ingezet
Fig. 5 De workflow van detecteren (a, b, c) en volledig automatisch repareren (d, e, f) van fouten in een planaire partitie.
matisch repareren van de fouten. Er bestaat
bijvoorbeeld geen optimale waarde voor
de snapafstand die voor de gehele dataset
kan worden toegepast. Figuur 4 toont dat
een bepaalde waarde voor een snapafstand
sommige problemen zal oplossen, maar
vervolgens ergens anders weer introduceert.
De reden waarom wij hebben geïnvesteerd
in een eigen oplossing was enerzijds omdat
we vaak ervoeren dat bestaande ruimte
lijke datasets door de aanwezige gaten
en overlap niet direct bruikbaar waren als
testdata binnen ons onderzoek (waarbij vaak
de uitdaging is om grote hoeveelheden data
automatisch te verwerken), en anderzijds dat
er geen standaardoplossing voorhanden is
om de data te repareren. We waren daardoor
voorheen veel tijd kwijt met het prepareren
van testdata. Hierdoor werd het voor ons
interessant een eigen oplossing te gaan
ontwikkelen voor zowel het volledig auto
matisch detecteren
als het repareren van
topologische fouten
in een planaire
partitie.
De tool was dus in
eerste instantie voor eigen gebruik bedoeld.
Maar deze lost een probleem op waar niet
alleen wij tegen aanlopen. Daarom was
het voor ons interessant om de tooi toe te
passen op de data van de BGT-pilots die in
het voorjaar 2011 zijn uitgevoerd.
De ontwikkelde validatie en reparatietool
pprepair1 bestaat uit twee stappen. De eer
ste stap is het automatisch detecteren van
topologische fouten in een planaire partitie
en de tweede stap repareert deze fouten
volledig automatisch, waarbij de gebruiker
controle heeft over de manier waarop dit
gebeurt.
De gaten en overlappen worden niet
gedetecteerd dooreen planaire graaf te
berekenen, maar door een "constrained
triangulatie" (CT) uitte voeren. Dit is een
triangulatie waarbij de polygoongrenzen (in
dit geval de BGT-objectgrenzen) terugko
men als (een collectie van) driehoekzijden in
het TIN (Triangular Irregular Network). Het
berekenen van een TIN is computertech
nisch simpeler dan
het berekenen van
een planaire graaf
en daardoor sneller
te implementeren
en, wat nog belang
rijker is, stabieler. Verder hebben driehoeken
zodanige wiskundige eigenschappen dat
ons proces nooit kan crashen, in tegenstel
ling tot bovenstaande oplossingen.
Het detectieproces gaat als volgt. Als input
dienen de polygonen die een planaire
partitie zouden moeten vormen (figuur 5a).
Hiervanwordt een CT berekend (figuur 5b)
die per definitie een planaire partitie is.
De fouten worden vervolgens opgespoord
door iedere driehoek de label te geven van
het polygoon waarbinnen het ligt. Dit kun
nen drie typen labels zijn (zie figuur 5c en sd):
de driehoek heeft één label (en is daarmee
correct, want op deze locatie bestaat geen
gat of overlap); de driehoek heeft twee labels
(locatie met overlap) of de driehoek heeft
geen label (locatie van een gat).
Een eerdere versie van de BGT-testdata uit
Den Bosch werd door ons op deze manier
getest en leverde de foutjes op zoals te zien
in figuur 6.
Het is goed hier op te merken dat de
gaten en overlap niets te maken hebben
met een slecht kwaliteitsborgingproces in
Den Bosch. De oorzaak bleken de redenen
zoals hierboven genoemd. Soortgelijke
problemen vonden we ook in de groot
schalige topografische data van Rotterdam
enVlaardingen waarmee we mochten
experimenteren (figuur 2 en 3). Bij deze
testdata bleek het probleem vaak te zijn
veroorzaakt door conversie van Shapefile of
database naarGML: de niet-geconverteerde
data was nog wel consistent. Deze testen
tonen aan dat gaten en overlap, ook binnen
de data van één bronhouder, bijna niet te
voorkomen zijn.
6 Geo-lnfo 2012-8