logo separator

[mkgmap-dev] [PATCH v2] - handle "anti-islands"

From Mark Burton markb at ordern.com on Wed Jan 27 22:26:07 GMT 2010

Hi Marko,

> > Please try the attached patch and see if it gets rid of the "can't be
> > merged" error you are getting when generating sea.
> Sorry, no dice.  I still see several of the warnings, including the one
> that I reported last night:
> 2010/01/27 23:40:12 WARNING (Osm5XmlHandler):   Way null (http://www.openstreetmap.org/browse/way/4611686018427418010) has consecutive nodes with the same coordinates (http://www.openstreetmap.org/?mlat=62.22656&mlon=25.82736&zoom=17) but they can't be merged because both are boundary nodes!

Actually, that's a rather silly message anyway because if the nodes
have the same coordinates they could be merged without problem. I shall
look at that.

> In another message, you asked:
> > Can you please check to see whether this location is situated very
> > close to the corner of a tile? I am guessing that the coastline cuts
> > the corner of a tile and so you end up with nodes on each of the tile's
> > edges at the corner.
> Like I wrote in the message you replied to, it is at the tile border,
> lat=62.226562.  If you go to the browse URL, the marker is very slightly
> SSW of a node of http://www.openstreetmap.org/browse/way/23553585
> (the coastline).  I would guess that this is some rounding issue.
> Initially, mkgmap thinks that the pre-existing node is not at the tile
> border and adds a node there, and later it notices that the coordinates
> are equal after all.

Yeah, I know it's on the border but is it at a tile corner?

The patch I posted does (read should) fix a bug in the sea code because
when it's making up the edges of the land mass that is clipped at the
tile's edge it doesn't notice if the coastline reaches the tile
edge  exactly at a corner of the tile. In that (albeit unlikely) case,
the existing code would generate a consecutive point and you would get
a message like the above.


More information about the mkgmap-dev mailing list