logo separator

[mkgmap-dev] mkgmap-faster-mp (follow up)

From 7770 7770 at foskan.eu on Sat Jun 5 07:16:14 BST 2021

Hi.
After long time i am returning to the issue of long generation time for tiles 
with large polygons. I have avoided interfering with the discussion as i am 
not in the position to help on the technical details.

The original tile for which there was an issue was used in the following test, 
can be found here: https://files.mkgmap.org.uk/detail/502


On my computer, compiling the split data (from link above):
with version mkgmap-faster-mp-r4706 it takes around 2 minutes 40 seconds, 
output size 13520896 bytes.
with version mkgmap-r4745 it takes around 25 minutes and 30 seconds, output 
size 13516800 bytes.
This is a great change!


With an earlier version of the mkgmap-faster-mp i have compiled maps with no 
problem, but with 4706 i get the following error in one case. (split data can 
be uploaded in case you want, 77700020*.pbf).

What could be the issue?



Mkgmap version 4706
Time started: Sat Jun 05 08:09:29 CEST 2021
ALLVARLIG (global): Unexpected error
java.lang.ArrayIndexOutOfBoundsException: -1
        at java.util.ArrayList.elementData(ArrayList.java:422)
        at java.util.ArrayList.get(ArrayList.java:435)
        at 
uk.me.parabola.mkgmap.reader.osm.MultiPolygonRelation.getLargest(MultiPolygonRelation.java:
674)
        at 
uk.me.parabola.mkgmap.reader.osm.MultiPolygonRelation.processElements(MultiPolygonRelation.java:
640)
        at 
uk.me.parabola.mkgmap.reader.osm.ElementSaver.addRelation(ElementSaver.java:
163)
        at 
uk.me.parabola.mkgmap.reader.osm.bin.OsmBinHandler$BinParser.parseRelations(OsmBinHandler.java:
215)
        at crosby.binary.BinaryParser.parse(Unknown Source)
        at crosby.binary.BinaryParser.handleBlock(Unknown Source)
        at crosby.binary.file.FileBlock.process(Unknown Source)
        at crosby.binary.file.BlockInputStream.process(Unknown Source)
        at 
uk.me.parabola.mkgmap.reader.osm.bin.OsmBinHandler.parse(OsmBinHandler.java:
54)
        at 
uk.me.parabola.mkgmap.reader.osm.OsmMapDataSource.parse(OsmMapDataSource.java:
166)
        at 
uk.me.parabola.mkgmap.reader.osm.OsmMapDataSource.load(OsmMapDataSource.java:
141)
        at uk.me.parabola.mkgmap.main.MapMaker.loadFromFile(MapMaker.java:165)
        at uk.me.parabola.mkgmap.main.MapMaker.makeMap(MapMaker.java:58)
        at uk.me.parabola.mkgmap.main.Main.lambda$processFilename$1(Main.java:
290)
        at java.util.concurrent.FutureTask.run(FutureTask.java:266)
        at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:
1149)
        at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:
624)
        at java.lang.Thread.run(Thread.java:748)
ALLVARLIG (global): Exiting due to unexpected error
Number of ExitExceptions: 1
Time finished: Sat Jun 05 08:09:42 CEST 2021
Total time taken: 13 seconds





Regards
Karl





More information about the mkgmap-dev mailing list