<div dir="ltr">okay - well the only working solution to this problem is to use o5m output format with mkgmap, and then use osmconvert to join the files before splitting them again.<div>Would it be possible for mkgmap to have a mode to split the files one by one without the detour via osmconvert?</div><div><br></div><div>o5m uses a lot more hdd space, and mkgmap.jar is only marginally faster with 05m input vs osm.pbf (splitter works quite a lot faster on big o5m files vs osm.pbf - but small input files make not much time difference)...</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Mon, 30 Aug 2021 at 02:25, Felix Hartmann <<a href="mailto:extremecarver@gmail.com">extremecarver@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div>I split france.osm.pbf with D:\openmtbmap\maps>if france == legend start /belownormal /b /wait java -jar -XX:+AggressiveHeap -Xms1000m -Xmx3800m C:\openmtbmap\splitter.jar --max-nodes=9600000  --max-threads=12 --search-limit=1000000 --output=pbf "--keep-complete" --max-areas=1024  --geonames-file=D:\openmtbmap\osmpbf_geofabrik\cities5000.zip --description=france --mapid=83910000 france.osm  1>NUL</div><div><br></div><div>Then I compiled the map using mgkamp.jar - and want to resplit all remaining files that did not compile with smaller max-nodes value. However splitter.jar chokes if I pass several files... Is there any way to have splitter just working with several files without trying to merge them? I just need the files split to the new max-nodes value and incrementing the map id. If I pass only one file at a time, it is a PITA to script this (is already hard enough figuring out the new map-id and creating a list of the tiles).</div><div><br></div><div>D:\openmtbmap\maps>if yes EQU yes start /belownormal /b /wait java -XX:+AggressiveHeap -Xms5000M -Xmx54000M -jar C:\openmtbmap\splitter.jar --max-nodes=4800000 --max-threads=12 --search-limit=1000000 --output=pbf  --geonames-file=D:\openmtbmap\osmpbf_geofabrik\cities5000.zip  --description=france --mapid=83910046  "83910015.osm.pbf" "83910025.osm.pbf" "83910026.osm.pbf" "83910042.osm.pbf"    1>NUL</div><div>Warning: --keep-complete is only used for the first input file. Further files must use higher ids.</div><div>Error: Node ids are not sorted. Use e.g. osmosis to sort the input data.</div><div>This is not supported with keep-complete=true or --problem-list</div><div>uk.me.parabola.splitter.SplitFailedException: Node ids are not sorted</div><div>        at uk.me.parabola.splitter.MultiTileProcessor.storeCoord(MultiTileProcessor.java:497)</div><div>        at uk.me.parabola.splitter.MultiTileProcessor.processNode(MultiTileProcessor.java:126)</div><div>        at uk.me.parabola.splitter.AbstractMapProcessor.consume(AbstractMapProcessor.java:82)</div><div>        at uk.me.parabola.splitter.OSMFileHandler.execute(OSMFileHandler.java:157)</div><div>        at uk.me.parabola.splitter.ProblemLists.calcMultiTileElements(ProblemLists.java:255)</div><div>        at uk.me.parabola.splitter.Main.useProblemLists(Main.java:503)</div><div>        at uk.me.parabola.splitter.Main.start(Main.java:127)</div><div>        at uk.me.parabola.splitter.Main.main(Main.java:81)</div><div><br></div><div><br></div><div>The option to first join the files with osmconvert - is a PITA - as you cannot parse several osm.pbf files to osmconvert (it only supports joining osm or o5m files).</div><div>The option to supply splitter.jar with each file on it's own - is also a PITA that would require horrendous for loops because after each split you need to check which new map-id to use for the next file!</div><div><br></div><div>So it would be great to have a keep-complete option that for each input file, but not for all input files, uses keep-complete. Actually I think this should be the default mode when supplying several input files. Even if mkgmap actually cannot run this in parallel / multithreading it would be way better than parsing each file on it's own...</div><div>Or am I dumbstruck in finding a way to resplit too big input files?</div><div><br></div>-- <br><div dir="ltr"><div dir="ltr"><div><div dir="ltr"><div dir="ltr"><div dir="ltr"><div>Felix Hartman - Openmtbmap.org & VeloMap.org<br></div><br></div></div></div></div></div></div></div></div></div>
</blockquote></div><br clear="all"><div><br></div>-- <br><div dir="ltr" class="gmail_signature"><div dir="ltr"><div><div dir="ltr"><div dir="ltr"><div dir="ltr"><div>Felix Hartman - Openmtbmap.org & VeloMap.org<br></div><br></div></div></div></div></div></div>