
Steve wrote:
I don't much like the idea of adding two tags to every single way.
+ // the way may be closed automatically because both endpoints are outside the bbox + // set a tag so that these ways can be ignored in the style rules + way.addTag("mkgmap:autoclosing", "true");
It seems to me that setting this is all that is required. It will only affect relatively few ways, and you can test for tag existence rather than having to know/remember if you should test against 'true', 'True', 'yes', '1' or whatever.
I agree Steve, mkgmap:autoclosing=true was indeed the only tag that I needed to render those 'problematic' polygons.
But apart from that, the main thing is that any rule that uses this will still be guessing -- what if it really was a polygon? Then you will have a missing area of water.
In my test case I haven't seen those issues yet. Even this canal which was split in two tiles http://www.openstreetmap.org/browse/way/53011144 was rendered as polygon, maybe because the first node was just within the overlap range (3000) of the other tile? So it would only be broken if it was a rather large polygon. But fortunately most of the items were relatively small polygons.
I think we can do better though. (...) Then 'is_closed()' might be a good candidate for a style function?
Well, if this doesnt take too much calculation time, please go ahead :-)