logo separator

[mkgmap-dev] Algorithm for rendering sea

From Clifford Nolan clifford.nolan at ul.ie on Tue Aug 25 16:33:55 BST 2009

I was wondering how the sea is generated in those recent sea polygon 
patches.  Since I don't understand Java I haven't a clue!   Even so, I 
was thinking of what might be a reasonable way to do it.

If there is coastline present within the bounding box then rapidly 
"grow" the coastline from the bounding box until you are close to 
coastline.  Then grow the coastline more slowly (smaller overlapping 
polygons).  At this  point maybe a test could be done to see if a closed 
coastline way will end up completely inside a proposed polygon and if it 
will it's time to make the polygons (temporarily) smaller.  In this way 
the sea should end up "shrink wrapping" itself around land.

Maybe it's already done in a way like this  but as I say I wouldn't know.

I also thought it might be an idea to build a "convex hull" of the 
coastline whereby a a rough outline of the coast is built first so that 
all land lies on one side of this outline.  This could be done by 
sampling the coast and checking no lines joining pairs of coastline 
points intersect with another coastline point (which would mean the 
possibility of coastline on both sides of the line segment).  That could 
be a way to rapidly fill in most of the sea area.

All the best,
Cliff



More information about the mkgmap-dev mailing list