logo separator

[mkgmap-dev] Commit: r1566: Drop all tags from the osm file that are not used

From Felix Hartmann extremecarver at googlemail.com on Thu Feb 11 19:00:43 GMT 2010


On 11.02.2010 19:59, WanMil wrote:
>> Version 1566 was commited by steve on 2010-02-08 12:33:09 +0000 (Mon, 08 Feb 2010)
>> BRANCH: style-speed
>>
>> Drop all tags from the osm file that are not used
>> in the applied style.
>>
>> Whether this makes a big difference or not depends on the country.
>> In the UK which is mostly manually taged it doesn't make a great deal
>> of difference.  There are only an average of 2 tags per way and about zero per
>> node.
>>
>> In countries with data imports, there are typically many tags per way (and even nodes)
>> that refer back to the original data.  Having tags on nodes is particularly bad for memory
>> consumption since there are more nodes than ways and most are not POIs.  We are forced
>> to allocate a Tags object even though there is likely to be nothing to do as none of the tags
>> are used.
>>
>> Denmark is the worst in this respect and so will show the best improvement with this patch.
>> See also: http://www.mkgmap.org.uk/pipermail/mkgmap-dev/2009q3/003597.html
>>
>> For this to be successful you need an acurate list of all the tags that could be used.  Tags are
>> examined not just in the style itself, but there are hardwired tag lookups in the style system itself
>> and there are non-style related usages as well.  For the moment all the built in usages of tags
>> are held in the builtin-tag-list file.  I think I have got them all for normal use, but there may be
>> options that require ones I've missed.
>>      
> The Osm5XMLHandler sometimes throw a NullPointerException in line 397.
> This is the key.equals("highway") part:
>
> if((val.equals("motorway_junction") ||
> 	val.equals("services"))&&
> 	key.equals("highway"))
> {
> 	exits.add(currentNode);
> 	currentNode.addTag("osm:id", "" + currentElementId);
> }
>
> It might be fixed by changing it to "highway".equals(key).
>
>    
Did you run "ant dist clean"

I had the same problem when just using "ant dist make"!
It's best to always run "dist clean" before compiling in ant.
> WanMil
> _______________________________________________
> mkgmap-dev mailing list
> mkgmap-dev at lists.mkgmap.org.uk
> http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev
>    



More information about the mkgmap-dev mailing list