He
a'a
/'--jÜr
-
A
Gewogen splits
Evaluatie van het resultaat
gewicht 1
gewicht 1
gewicht 3
wijzig
zijde C
V. x'
Buur C
r*
\J
i
i
i;
*S
y
wijzig
zijde B
S, x'
1'
's
Buur B
i
-s einde
'A zijde B
Buur A
start
zijde A
Figuur 4 - Bekend maken van links/rechts verwijzingen voor de nieuwe skeletsegmenten. Er wordt gestart
op een bestaande grens tussen twee buurviakken. Merk op dat delen van het skelet die dezelfde links/
rechts verwijzing hebben gekregen rood gestippeld worden weergegeven en zullen worden verwijderd.
voorzien zijn van de correcte links/rechts
info. Aan het einde van deze procedure,
kunnen er skeletsegmenten zijn, die zowel
links als rechts dezelfde vlakreferentie dra
gen. Dit betekent dat deze segmenten in de
vlakkenpartitie geheel omsloten zijn door
hetzelfde buurvlak. Deze skeletsegmenten
worden vervolgens verwijderd.
Als laatste stap worden uit de skelet
segmenten samen met de aanliggende
buurgrenzen zo lang mogelijke polylijnen
samengesteld, die de nieuwe grenzen
vormen van de aanliggende buren. Deze
grenzen (edges in de topologische data
structuur) vervangen de grenzen van het
gesplitste object en de aanliggende gren
zen in de vlakkenpartitie (zie Figuur 1).
Om ervoor te zorgen dat buren, die
aantrekkelijker zijn grotere delen krijgen
toebedeeld, introduceren we nu de gewo
gen variant van ons algoritme. Om een
gewogen oplossing te krijgen, worden er
gewichten toegekend aan de originele
vlakgrenzen op basis van de attractiviteit
van elke buur. Voor elke vertex van de
originele vlakgrenzen kan zo een gewicht
worden vastgesteld (waarbij het gemid
delde van de attractiviteit genomen wordt
als er twee buurgebieden bij een vertex
horen). De punten van de skeletsegmenten
kunnen op basis van deze gewichten wor
den verschoven langs de ongeconstrainde
zijdes van de driehoeken in de triangulatie.
Hiermee wordt het als het ware mogelijk
de nieuw te bepalen vlakgrens meer naar
een bepaalde kant in het originele vlakte
duwen, waardoor een buur een groter deel
van het te splitsen vlak verkrijgt. Figuur 5
illustreert het gebruik van gewichten.
Eveneens hadden we als wens dat het
mogelijk moet zijn om een originele
vlakgrens te behouden, nadat de splits-
operatie is uitgevoerd. Dit past in het
werken met gewichten, als een gewicht
van o geïntroduceerd wordt. Hierdoor
kunnen situaties waarbij een buurvlak
zeer incompatibel is, worden behandeld,
en ook de situatie waarbij een te splitsen
object aan de rand van het gekarteerde
domein ligt, wordt hiermee opgelost.
Als twee klassen objecten zeer incompa
tibel met elkaar zijn, dan leidt dit tot een
compatibliteitswaarde die nul is (of daar
dichtbij ligt). Daarom plaatsen we een
gewicht van 0 op alle vertices van grenzen
die niet verplaatst mogen worden (en
terug moeten komen in de output van
de splitsoperatie). Meer details over het
werken met gewichten voor de gewogen
splits zijn te vinden in (Meijers, 2011).
Per splits bekijken we van te voren aan de
hand van de attractiviteit wat de theoreti
sche oppervlakteverdeling zou moeten zijn.
Voor de door het algoritme gerealiseerde
verdeling wordt vervolgens een foutwaarde
bijgehouden ten opzichte van het ideaal
beeld. Hierdoor wordt het mogelijk om in
detail te bekijken, welke resultaten niet aan
het ideaalbeeld voldoen. Figuur 6 toont hier
een aantal varianten van.
Na nadere bestudering werd duidelijk
dat het ideaalbeeld voor deze gevallen
niet gehaald kon worden, doordat het
algoritme op triangulatie is gebaseerd
(waarbij de ruimtelijke configuratie dan
soms 'ongelukkig' uitpakt voor de gewogen
splits). De oplossing die we daarvoor heb
ben bedacht, is eenvoudig te realiseren:
Door aan de grenzen van het te splitsen
vlak tijdelijk extra vertices toe te voegen,
worden meer driehoeken gegenereerd.
Hierdoor wordt de mogelijkheid geboden
om een betere vlakverdeling te realiseren.
Echter, ook na deze aanpassing, blijkt dat
er nog limieten zijn voor de verdeling van
een te splitsen vlak, door de manier waarop
er getrianguleerd wordt. Om een nog
beter resultaat te verkrijgen is het daarom
nodig om andere methodes van splitsen
te onderzoeken, die bijvoorbeeld exact het
midden bepalen en daarbij niet worden
Figuur 50 - Gewone splits (alle buren zijn even attractief).
Figuur 5b - Gewogen splits (buren verschillen in attractiviteit).
Figuur 5 - Gewichten worden toegekend aan de originele vlakgrenzen op basis van de attractiviteit van elke buur en zo wordt het mogelijk om de gegenereerde
grenzen binnen het te splitsen vlak te verschuiven.
Geo-lnfo 2013-3 17