logo separator

[mkgmap-dev] mergeroads branch

From WanMil wmgcnfg at web.de on Thu Oct 3 17:18:33 BST 2013

> Hi WanMil,
>
> I don't understand the changes in the OSM readers,
> e.g.
> 			// the type tag is required for relations - all other tags are filtered
> 			if (elem instanceof Relation == false || "type".equals(key) == false)
> 				key = keepTag(key, val);
> 			if (key != null)
> 				elem.addTag(key, val.intern());
>
> I'd prefer to make sure that "type" is not filtered by keepTag(),
> because the keepTag method "inlines" the key.
> What was the reason for that change?
>
> Gerd
>
>

The "type" tag is required for relations but not for ways and nodes. The 
code makes it possible to remove if from the builtin-tags-list. In case 
you want to inline the type tag I propose to change it to

if (elem instanceof Relation && "type".equals(key))
   key = "type";
else
   key = keepTag(key, val);

By the way:
keepTag inlines the key by retrieving the key from the usedTags set. Is 
that faster than key.inline()? At least it prevents "real" inlining over 
multiple threads?

WanMil


More information about the mkgmap-dev mailing list