[mkgmap-dev] mkgmap ToDo list
From Lambertus osm at na1400.info on Wed Apr 30 12:36:19 BST 2014
Multithreading the tile rendering for a single map is indeed a bit difficult and I gave it up because you need to keep track which image id's are already in use. Since I provide multiple maps the work-around is running a few scripts parallel, which is also a crude form of multithreading. The script language is PHP and it doesn't run on Windows without some changes ('/' vs '\' in paths, 'rm -rf', that sort of stuff). Never tried it. To get a better optimum in file size, using the process I described earlier, you could start off with a huge --max-nodes setting and then 'search' for the highest --max-nodes that works for each specific area. On 30/04/2014 11:49, Felix Hartmann wrote: > I would love if there was a possibility that you pass the used max-nodes > value to mkgmap. > When mkgmap is compiling the maps, then after the .img is created it > should check > a) did it crash due to too many max-nodes > b) for me not important - but for others with very old GPS, etrex 10, > ---> is tile bigger than X (usually 8) MB. > > if a) or b) true, then pass the file back to splitter and split with 60% > of maxnodes - and compile the resulting .img files again. Should it fail > again, use 40%, again 25%... Sometimes there are awful tiles, that need > supersmall max-nodes till they compile, however lately (last 1-2 years) > I never encountered them anymore. I think that happened rather due to a > but in splitter/mgkmap that is fixed now. > > okay, you could also do this with a script, but it gets rather > complicated to multithread it (you need to wait till mgkmap finished > compiling all .img files - and run mkgmap first without address index to > save time) and do some clever routines on making sure that the map id > (e.g. 6340????.img) stay correct. Even more complicated to have > consequent map id... > > For europe with a fixed max-node I get tiles from 1.9MB up to 18MB. > That's factor 9 - so it's huge... > If I could narrows that down easily to 8-18MB - without getting tiles > crashing due to too high max-nodes values, that would be sweet. > > > > As for the scripts - would they run on windows too? - What programming > language are they in? > > > On 29.04.2014 21:39, osm at na1400.info wrote: >> Oh, and ofcourse anyone interested can get my scripts, send an email. >> They'll be on Github someday anyway. >> >> >> On 2014-04-29 20:37, Gerd Petermann wrote: >>> Hi Lambertus, >>> >>> okay, if I got that right you finally get *.img files with a size >>> near (but below) 8MB, so maybe Henning can use that script, too. >>> >>> If you do that for e.g. Germany, how small is tpically the smallest >>> *.img file ? >>> Is it probably near 4 MB? >>> >>> Gerd >>> >>>> To: mkgmap-dev at lists.mkgmap.org.uk >>>> Date: Tue, 29 Apr 2014 20:30:27 +0200 >>>> From: osm at na1400.info >>>> Subject: Re: [mkgmap-dev] mkgmap ToDo list >>>> >>>> These are the direct results from Splitter. The format is o5m, both >>>> input as output. Splitter version is: r321. >>>> >>>> For this test I split the original source with --max-nodes=8000000. >>> Then >>>> I render the initial tiles, when the result is larger than 8MB it's >>>> subsplit again with --max-nodes=(8000000-(attempt*100000)). The >>> initial >>>> source files are ~70MB (o5m) and after several subsplits the two >>> *.img >>>> are < 8MB. During this process --max-nodes has been reduced to e.g. >>>> 7500000 and the source file is split up in two o5m files of about >>> 37MB. >>>> >>>> I can upload an example source file and it's two subsplit siblings >>> if >>>> you want. >>>> >>>> >>>> On 2014-04-29 19:38, GerdP wrote: >>>> > Hi Lambertus, >>>> > >>>> > that's interesting. Are these the img file sizes or the osm file >>> sizes? >>>> > >>>> > Gerd >>>> > >>>> > >>>> > Lambertus wrote >>>> >> Unfortunately I cannot confirm that. Below is a bit of logging >>> from my >>>> >> script: >>>> >> Original: 97000020 (70551453), New: 0 (35684445), New: 1 >>> (36852845) >>>> >> Original: 97000001 (74621042), New: 0 (37522992), New: 1 >>> (37222739) >>>> >> Original: 97000002 (73391358), New: 0 (37679505), New: 1 >>> (38098627) >>>> >> Original: 97000003 (77862567), New: 0 (39075311), New: 1 >>> (39261197) >>>> >> >>>> >> The original files above contain contour data, the filesize is >>> between >>>> >> brackets. As you can see both resulting file are approximately >>> the >>>> >> same >>>> >> size. >>>> >> >>>> >> On 2014-04-29 15:39, Gerd Petermann wrote: >>>> >>> Hi Lambertus, >>>> >>> >>>> >>> and I guess that even after this optimization you will >>>> >>> see a factor 3 or higher between the largest tile and the >>> smallest. >>>> >>> Can you confirm that? >>>> >>> >>>> >>> Gerd >>>> >>> >>>> >>>> Date: Tue, 29 Apr 2014 15:32:38 +0200 >>>> >>>> From: >>>> > >>>> >> osm@ >>>> > >>>> >>>> To: >>>> > >>>> >> mkgmap-dev at .org >>>> > >>>> >>>> Subject: Re: [mkgmap-dev] mkgmap ToDo list >>>> >>>> >>>> >>>> Num-tiles=x would indeed be better for this specific need. >>>> >>>> >>>> >>>> It is my experience that it regularly takes multiple calls to >>>> >>> Splitter >>>> >>>> to get 2+ sub-tiles when you reduce the max-nodes by 100k for >>> each >>>> >>>> sub-split attempt. This is what I currently do to get an >>> optimum in >>>> >>>> tile-size vs total number of tiles. >>>> >>>> >>>> >>>> >>>> >>>> >>>> >>>> On 29/04/2014 15:09, Gerd Petermann wrote: >>>> >>>> > Hi Lambertus, >>>> >>>> > >>>> >>>> > that sounds like a possible change in splitter: >>>> >>>> > Instead of specifying max-nodes you may specify --num-tiles=x >>>> >>>> > and splitter will try to find a split that produces excactly >>> x >>>> >>> tiles >>>> >>>> > which are not too narrow and have a node number which is not >>>> >>>> > too far from the average (but still aligned to a multiple of >>> map >>>> >>> units >>>> >>>> > as now). >>>> >>>> > So, for your script that means you don't have to find the >>>> >>> max-nodes >>>> >>>> > value. >>>> >>>> > >>>> >>>> > I'll think about this again... >>>> >>>> > >>>> >>>> > Gerd >>>> >>>> > >>>> >>>> > > Date: Tue, 29 Apr 2014 14:59:36 +0200 >>>> >>>> > > From: >>>> > >>>> >> osm@ >>>> > >>>> >>>> > > To: >>>> > >>>> >> mkgmap-dev at .org >>>> > >>>> >>>> > > Subject: Re: [mkgmap-dev] mkgmap ToDo list >>>> >>>> > > >>>> >>>> > > While this possibly can be solved in Splitter or Mkgmap, it >>>> >>> could also >>>> >>>> > > be solved by your build-script when you add a maximum tile >>> size >>>> >>> check >>>> >>>> > > and re-split (with a lower number of max-nodes) until you >>> get >>>> >>> two or >>>> >>>> > > more sub-tiles. Granted, this adds complexity to the script >>> but >>>> >>> it works >>>> >>>> > > well for me. >>>> >>>> > > >>>> >>>> > > On 25/04/2014 21:54, Henning Scholland wrote: >>>> >>>> > > > Hi Gerd, >>>> >>>> > > > >>>> >>>> > > > I would like to have img-tiles which have globally nearly >>> the >>>> >>> same >>>> >>>> > > > filesize, so that they use the space of devices like >>> eTrex 10. >>>> >>>> > > > >>>> >>>> > > > With my actual map I use globally the same value for >>>> >>> max-nodes. But the >>>> >>>> > > > size of the img-tiles differ more then factor 2. Eg. a >>> tile in >>>> >>> Germany >>>> >>>> > > > is between 2 and 5 mb where a tile in China is about 10 >>> mb. If >>>> >>> I remove >>>> >>>> > > > details, this difference will increase, because in >>> Germany >>>> >>> more objects >>>> >>>> > > > will be removed from the img-tile then in China. >>>> >>>> > > > >>>> >>>> > > > Henning >>>> >>>> > > > >>>> >>>> > > > _______________________________________________ >>>> >>>> > > > mkgmap-dev mailing list >>>> >>>> > > > >>>> > >>>> >> mkgmap-dev at .org >>>> > >>>> >>>> > > > http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev >>>> >>>> > > >>>> >>>> > > _______________________________________________ >>>> >>>> > > mkgmap-dev mailing list >>>> >>>> > > >>>> > >>>> >> mkgmap-dev at .org >>>> > >>>> >>>> > > http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev >>>> >>>> > >>>> >>>> > >>>> >>>> > _______________________________________________ >>>> >>>> > mkgmap-dev mailing list >>>> >>>> > >>>> > >>>> >> mkgmap-dev at .org >>>> > >>>> >>>> > http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev >>>> >>>> > >>>> >>>> >>>> >>>> _______________________________________________ >>>> >>>> mkgmap-dev mailing list >>>> >>>> >>>> > >>>> >> mkgmap-dev at .org >>>> > >>>> >>>> http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev >>>> >>> >>>> >>> _______________________________________________ >>>> >>> mkgmap-dev mailing list >>>> >>> >>>> > >>>> >> mkgmap-dev at .org >>>> > >>>> >>> http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev >>>> >> _______________________________________________ >>>> >> mkgmap-dev mailing list >>>> > >>>> >> mkgmap-dev at .org >>>> > >>>> >> http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev >>>> > >>>> > >>>> > >>>> > >>>> > >>>> > -- >>>> > View this message in context: >>>> > >>> http://gis.19327.n5.nabble.com/mkgmap-ToDo-list-tp5803388p5804588.html >>>> > Sent from the Mkgmap Development mailing list archive at >>> Nabble.com. >>>> > _______________________________________________ >>>> > mkgmap-dev mailing list >>>> > mkgmap-dev at lists.mkgmap.org.uk >>>> > http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev >>>> _______________________________________________ >>>> mkgmap-dev mailing list >>>> mkgmap-dev at lists.mkgmap.org.uk >>>> http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev >>> >>> _______________________________________________ >>> mkgmap-dev mailing list >>> mkgmap-dev at lists.mkgmap.org.uk >>> http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev >> _______________________________________________ >> mkgmap-dev mailing list >> mkgmap-dev at lists.mkgmap.org.uk >> http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev >
- Previous message: [mkgmap-dev] mkgmap ToDo list
- Next message: [mkgmap-dev] mkgmap ToDo list
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
More information about the mkgmap-dev mailing list