logo separator

[mkgmap-dev] java.lang.IllegalArgumentException and max-nodes size --- currently impossible for me to create Asia map without a) breaking or b) missing tiles

From Lambertus osm at na1400.info on Fri May 25 21:50:35 BST 2012

Splitter could be integrated into Mkgmap, but it has proven not too 
difficult to script a subsplit if an Mkgmap render attempt failed. The 
scripts is described in normal language below, implementing it in Perl, 
Python, bash or even PHP (as I have) is easy. It might keep Mkgmap 
slightly ;-) simpler to maintain without splitter incorporated.

In my script:
When rendering an osm.gz file I check the return value of Mkgmap, the 
existence of a resulting .img file and that the .img file is larger then 
0 bytes. If any of these checks fail then splitter is invoked using a 
lower node count (e.g. 100k nodes less) until the subsplit results in 
two or more osm.gz files. These files are then rendered again and for 
each the process described above is performed again.

The only challenge I encountered using this process is keeping tabs on 
the tile numbers and providing the correct tile number as commandline 
parameters to Mkgmap and Splitter. I'll post the code of my scripts if 
there is a need for it.

On 25-05-12 17:04, Felix Hartmann wrote:
> It is not really nice currently to try to compile Asia from Geofabrik.
> If I set a high max-nodes value, then it goes through (but about 30
> tiles missing), if on the other hand I choose a lower max-nodes value,
> then the following bug appears.
> Splitter integration into mkgmap would really be helpful...
> Exception in thread "main" java.lang.IllegalArgumentException
>           at java.nio.Buffer.position(Unknown Source)
>           at uk.me.parabola.imgfmt.Utils.bytesToString(Utils.java:80)
>           at
> uk.me.parabola.imgfmt.sys.ImgHeader.setHeader(ImgHeader.java:255)
>           at uk.me.parabola.imgfmt.sys.ImgFS.readInitFS(ImgFS.java:313)
>           at uk.me.parabola.imgfmt.sys.ImgFS.openFs(ImgFS.java:131)
>           at uk.me.parabola.imgfmt.sys.ImgFS.openFs(ImgFS.java:124)
>           at
> uk.me.parabola.mkgmap.combiners.FileInfo.imgInfo(FileInfo.java:184)
>           at
> uk.me.parabola.mkgmap.combiners.FileInfo.getFileInfo(FileInfo.java:144)
>           at uk.me.parabola.mkgmap.main.Main.endOptions(Main.java:429)
>           at
> uk.me.parabola.mkgmap.CommandArgsReader.readArgs(CommandArgsReader.java:126)
>           at uk.me.parabola.mkgmap.main.Main.main(Main.java:114)
> _______________________________________________
> 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