logo separator

[mkgmap-dev] Regression causing Heap space exhaustion?

From Steve Ratcliffe steve at parabola.me.uk on Sat Aug 22 12:00:23 BST 2009


> I will follow up when I have investigated the large memory usage of
> the Danish tiles.  Anyone else have problems?

The reason for the high memory usage is that most nodes in the Danish 
extract look like this:

<node id='342123311' lat='55.3401904' lon='9.4886152'>
<tag k='addr:postcode' v='6070'/>
<tag k='kms:zip_no' v='6070'/>
<tag k='kms:street_name' v='Seggelund Hovedvej'/>
<tag k='kms:last_updated' v='2002'/>
<tag k='kms:county_name' v='Sønderjyllands Amtskommune'/>
<tag k='addr:street' v='Seggelund Hovedvej'/>
<tag k='kms:municipality_name' v='Christiansfeld'/>
<tag k='kms:parish_no' v='8985'/>
<tag k='kms:county_no' v='50'/>
<tag k='addr:city' v='Christiansfeld'/>
<tag k='addr:housenumber' v='9'/>
<tag k='kms:parish_name' v='Tyrstrup,Chrfeld'/>
<tag k='kms:zip_name' v='Christiansfeld'/>
<tag k='kms:house_no' v='9'/>
<tag k='source' v='KMS (2002)'/>
<tag k='addr:country' v='DK'/>
<tag k='kms:street_no' v='6810'/>
<tag k='kms:municipality_no' v='509'/>

All those tags take up the memory. Before relation support was
added, nodes were processed at the time they were read and only
the co-ordinates were saved as they are needed to construct the ways.

With relations, all node tags are saved because the relations have to
processed first, but come last in the file.

Personally I don't think any of that information apart from perhaps 
house_no even belongs at the node level, but we have to work with what 
is there so I am open to suggestions of what should be done.



More information about the mkgmap-dev mailing list