logo separator

[mkgmap-dev] Error writing overviewmap - continue at failure

From Gerd Petermann gpetermann_muenchen at hotmail.com on Sat Feb 27 16:18:44 GMT 2021

Hi Joris,

I never tried that but I think it's possible to compute only the ovm_*.img by using a  --levels options that produces empty *.img.  Make sure you do this in a different directory so that mkgmap doesn't overwrite the good *.img files.
Maybe also remove time consuming options like --route , --index, --housenumbers etc. which have no effect on the overview map.
Once you have an overview map that works it should be ok to copy that to the the other *.img files.


Von: mkgmap-dev <mkgmap-dev-bounces at lists.mkgmap.org.uk> im Auftrag von Joris Bo <jorisbo at hotmail.com>
Gesendet: Samstag, 27. Februar 2021 15:48
An: Development list for mkgmap
Betreff: [mkgmap-dev] Error writing overviewmap - continue at failure


I think the below error message is for writing the overview map.
Of which I would not be surprised, it was a test on splitting and building a full-planet.osm map. So… no worries.

But now I’m wondering if there is a way in which I could continue testing with the already generated 4.426 img-files and 4.426 ovm_work files to obtain a .tdb file, mdx files, nsis installer etc.
It took 21 hours for mkgmap sofar, so it would be nice if that time spent was not useless.
I used splitter with maxnodes 1.700.000 which took another 9 hours and did not give errors when building a single .img file

I would like to simplify the style-file run mkgmap again on the previous output and try the create an overview map only (So without building all the img files again) and this way iterate until I found the breakpoint.

  1.  Would that make sense?
  2.  Could I enable some more error/verbose logging to obtain info about sizes/counts or whatever indicators that would help to see if my changes help in my search to a smaller overviewmap.
  3.  Would It make sense to not generate a MapFailedException but a warning only? So mkgmap would continue finishing the last millimeters to the finish (off course without a working overviewmap)

Kind regards

SEVERE (MapFailedException): (thrown in BufferedImgFileWriter.ensureSize()) There is not enough room in a single garmin map for all the input data. The .osm file should be split into smaller pieces first.
uk.me.parabola.imgfmt.MapFailedException: There is not enough room in a single garmin map for all the input data. The .osm file should be split into smaller pieces first.
            at uk.me.parabola.imgfmt.app.BufferedImgFileWriter.ensureSize(BufferedImgFileWriter.java:275)
            at uk.me.parabola.imgfmt.app.BufferedImgFileWriter.put(BufferedImgFileWriter.java:238)
            at uk.me.parabola.imgfmt.app.trergn.Polyline.write(Polyline.java:142)
            at uk.me.parabola.imgfmt.app.trergn.RGNFile.addMapObject(RGNFile.java:140)
            at uk.me.parabola.imgfmt.app.map.Map.addMapObject(Map.java:273)
            at uk.me.parabola.mkgmap.build.MapBuilder$ShapeAddFilter.doFilter(MapBuilder.java:1459)
            at uk.me.parabola.mkgmap.build.LayerFilterChain.doFilter(LayerFilterChain.java:58)
            at uk.me.parabola.mkgmap.filters.LinePreparerFilter.doFilter(LinePreparerFilter.java:143)
            at uk.me.parabola.mkgmap.build.LayerFilterChain.doFilter(LayerFilterChain.java:58)
            at uk.me.parabola.mkgmap.filters.RemoveEmpty.doFilter(RemoveEmpty.java:59)
            at uk.me.parabola.mkgmap.build.LayerFilterChain.doFilter(LayerFilterChain.java:58)
            at uk.me.parabola.mkgmap.filters.RemoveObsoletePointsFilter.doFilter(RemoveObsoletePointsFilter.java:142)
            at uk.me.parabola.mkgmap.build.LayerFilterChain.doFilter(LayerFilterChain.java:58)
            at uk.me.parabola.mkgmap.filters.PolygonSplitterFilter.doFilter(PolygonSplitterFilter.java:81)
            at uk.me.parabola.mkgmap.build.LayerFilterChain.doFilter(LayerFilterChain.java:58)
            at uk.me.parabola.mkgmap.build.LayerFilterChain.startFilter(LayerFilterChain.java:73)
            at uk.me.parabola.mkgmap.build.MapBuilder.processShapes(MapBuilder.java:1260)
            at uk.me.parabola.mkgmap.build.MapBuilder.makeSubdivision(MapBuilder.java:901)
            at uk.me.parabola.mkgmap.build.MapBuilder.makeMapAreas(MapBuilder.java:813)
            at uk.me.parabola.mkgmap.build.MapBuilder.makeMap(MapBuilder.java:312)
            at uk.me.parabola.mkgmap.combiners.OverviewBuilder.writeOverviewMap(OverviewBuilder.java:192)
            at uk.me.parabola.mkgmap.combiners.OverviewBuilder.onFinish(OverviewBuilder.java:105)
            at uk.me.parabola.mkgmap.main.Main.endOptions(Main.java:675)
            at uk.me.parabola.mkgmap.CommandArgsReader.readArgs(CommandArgsReader.java:125)
            at uk.me.parabola.mkgmap.main.Main.mainStart(Main.java:144)
            at uk.me.parabola.mkgmap.main.Main.main(Main.java:115)

Met vriendelijke groeten,

Joris Bo
jorisbo at hotmail.com<mailto:jorisbo at hotmail.com>

More information about the mkgmap-dev mailing list