logo separator

[mkgmap-dev] Problem with names of relations

From WanMil wmgcnfg at web.de on Sun Sep 30 19:46:38 BST 2012

> I have identified what I think may be a minor bug in mkgmap:
>
> If a relation has the same name as one of its components (or perhaps any
> name), the name of the component is lost.
>
> I identified this on way 4798060, a small lake called 'High Dam'.
> Because there are islands in the lake, it is the outer component of
> relation 1369084, which also had the name 'High Dam'. Following mkgmap
> processing, the lake came out with its default name 'Reservoir'.
> However, when I removed the name from the relation, it came out with its
> correct name. (It appears correctly on OSM renderings such as mapnik).
>
> I am afraid I have already edited the relation name out on the OSM
> source, so others cannot test this directly. But I have verified the
> behaviour by manually editing a small local extract of the area.
>
> Another (minor) fault which would probably be easy to rectify: if the
> destination file is open in MapSource when mkgmap runs, it crashes
> (understandably), but leaves a number of temporary files around. Could
> these be deleted when the exception is processed?
>
> Roger

The mkgmap multipolygon algorithm removes all tags from the outer ways 
that are identical to tags of the relation. Therefore the tag name=High 
Dam is removed from the way 4798060. (By the way, tagging the 
multipolygon only with name is definitely wrong. Either add all tags or 
no tag to the mp). Removing tags from the outer ways is required to 
handle all mps where the tags are set on the map *and* on the ways. 
These are a lot (best example: all boundaries).

I don't see a good alternative to this algorithm as long as the OSM 
datamodel does not ensure any multipolygon correctness.

WanMil



More information about the mkgmap-dev mailing list