Software struikelt over gaten en overlap Bestaande oplossingen: automatisch repareren van een planaire partitie Fig. 3 Het vertalen van cirkelbogen naar expliciete coördinaten ('stroken') kan leiden tot een opeenhoping van 'slivers', omdat de cirkelbogen in twee verschil lende richtingen - eenmaal voor het rechtervlak, eenmaal voor het linkervlak - worden behandeld. lende organisaties en deze buurobjecten niet in onderlinge samenhang zijn afgeba kend. Figuur i laat zien dat het definiëren van dezelfde grens door verschillende BGT-bronhouders in de data van de BGT- pilots leidde tot niet goed aansluiten van geometrieën (iedere kleur staat voor één bronhouder). Regels in de BGTgegevenscatalogus (BGT, 2012) over Topologie en Afstem ming tussen bronhouders Over topologie: "De vlakobjecten in de BGT op maaiveldniveau, dus op niveau nul, partitioneren de ruimte. Dat betekent dat elk van deze objecten topologisch gestructureerd moet zijn, dat deze objecten naadloos op elkaar aan moeten sluiten en er op maaiveldniveau geen gaten mogen voorkomen en dat deze objecten elkaar niet mogen overlappen. Objecten op een niveau ongelijk aan nul doen niet mee in de topologische structuur." Over topologie tussen verschil lende bronhouders: "De BGT beschrijft objecten die worden aangeleverd door bronhouders. Een object valt altijd geheel binnen het gebied van één bronhouder. Bronhoudergrenzen vallen samen met objectbegrenzingen en 'bewe gen mee'wanneer er mutaties in de objectbegrenzingen optreden. Deze regels vereisen dat tussen bronhouders afstemming nodig is over de objectafbakeningen op de bronhoudergrenzen." De slivers komen zeker niet alleen voor op de grenzen van verschillende bron houders. Zo kan ook het exporteren van ruimtelijke data tot problemen leiden. Bijvoorbeeld wanneer een Shapefile naar GML wordt geëxporteerd en coördinaten worden afge rond naar millimeter, zoals aangegeven in de BGT-cata log us: "De coördinaatgetallen zijn op miHimeternauwkeurigheid,]Zo nodig wordt daartoe afgerond". Door afronding kunnen coördinaten over kleine afstand ver schuiven met slivers en overlap tot gevolg. Hierdoor kunnen ook oorspronkelijke valide polygonen niet-valide worden vanwege zelf-doorsnijding (zie figuur 2). Een laatste oorzaak die we voor de slivers heb ben gevonden in onze testen is het definiëren van gekromde grenzen met cirkelbogen in CAD software voordat het in een GlS-omge- ving komt waar BGT-data (of de voorloper ervan) wordt beheerd. In de GIS-omgeving worden de cirkelbogen vaak vertaald in expliciete coördinaten, ook al zijn GM_Arcs toegestaan in de BGT. Bij twee vlakken die gescheiden worden door zo'n cirkelboog wordt bij conversie voor elk vlak afzonderlijk de cirkelboog in coördinaten vertaald. Dit leidt tot een opeenvolging van slivers die met het oog niet of nauwelijks zichtbaar zijn, zoals bleek in onze testen (zie figuur 3). Het automatisch detecteren en repareren van gaten en overlap in een landsdekkende BGT is niet triviaal. Standaard softwaresys- temen als Oracle, ArcGIS, FME en PostGIS bieden hiervoor weliswaarfunctionaliteit, maar deze zijn alle gebaseerd op het bere kenen van een planaire graaf en het'snappen' van vertices. Deze aanpak, in combinatie met de vaak enorme hoeveelheid data die gecheckt moet worden en het grote aantal minieme slivers, doet software nogal eens crashen of is erg traag. Bovendien is veelal extra werk nodig om de eenmaal gedetecteerde problemen te analyseren. Maar het grootste knelpunt van de standaardoplossingen is dat geen van alle een robuuste oplossing biedt voor het auto- Fig. 4 Er bestaat geen optimale waarde voor een snapafstand die op een gehele dataset kan worden toegepast. In dit geval wordt een deel van de polygon onterecht tot een lijn geconverteerd vanwege een te grote tolerantiewaarde. Geo-lnfo 2012-8 5

Digitale Tijdschriftenarchief Stichting De Hollandse Cirkel en Geo Informatie Nederland

Geo-Info | 2012 | | pagina 7