[mkgmap-dev] process same input data with mkgmap with different styles at the same time
From Mark Burton markb at ordern.com on Mon Mar 22 11:00:32 GMT 2010
Hello Christoph, > Hello list, > > I try to make Garmin maps with different layers. > http://wiki.openstreetmap.org/wiki/All_in_one_Garmin_Map > > The idea is, that you can enable or disable some transparent maps that you won't see. > For this reason I use mkgmap with different options and stylefiles multiple times on the same input data: > > java -ea -jar mkgmap.jar [options1] --style-file=style1 input_data > java -ea -jar mkgmap.jar [options2] --style-file=style2 input_data > java -ea -jar mkgmap.jar [options3] --style-file=style3 input_data > ... > > > This works good, but is not with so good performance as it could be. > The input data are gzipped osm-tiles of europe and everytime mkgmap runs it has to decompress and parse the same stuff. > > The cleverst solution I could imagine is to start mkgmap once and give it different options at the same time for different threads for example: > java -ea -jar mkgmap.jar [options1] --style-file=style1 --outputdir=dir1 [options2] --style-file=style2 --outputdir=dir2 [options3] --style-file=style3 --outputdir=dir3 input_data > > The question is: How difficult is it to implement in mkgmap? I looked at the source code but didn't understand enough to implement it. In germany we would say I looked at the code like a pig at a clockwork. ;) That's a great phrase! But to answer your question. I think it would be a lot of work to do what you are suggesting and really not the best solution. If I was trying to do what you are doing I would simply de-compress the input once (disk space is cheap) and then run separate mkgmap sessions as before. You could also pre-process the XML to filter out all of the crap tags that you are not interested in. That would speed up the processing by mkgmap. > I think a problem is that at the moment the order of commandline args doesn't matter but then it would be important which option belongs to which thread. > > Maybe another solution could be to build a cache - like the tilesplittercache, where mkgmap can store the parsed input_data. > Another mkgmap instance could use this cache instead of the input data. Maybe this solution would be more easy to implement or am I wrong? > So something like: > java -ea -jar mkgmap.jar [options1] --style-file=style1 --write-cache=cachdir input_data > java -ea -jar mkgmap.jar [options2] --style-file=style2 --read-cache=cachdir > java -ea -jar mkgmap.jar [options3] --style-file=style3 --read-cache=cachdir > > What do you think about that ideas? > Btw: Can I specify an output directory for mkgmap or is it everytime the actual directory? > > Thanks! > Christoph > Cheers, Mark
- Previous message: [mkgmap-dev] process same input data with mkgmap with different styles at the same time
- Next message: [mkgmap-dev] Using multiple TYP files
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
More information about the mkgmap-dev mailing list