
Chris Miller wrote:
Thanks Paul, that would explain it for sure. The problem Ralf hit was definitely a bug in the splitter though, I had made one too many assumptions in some custom code for parsing floating point numbers (Java's double parsing is very slow). I figured if the code could parse the planet file it could parse anything. Apparently not! :)
The mixture of node and way IDs should be OK as long as the --mixed parameter is specified for the splitter when it generates the cache. Using --mixed together with the fix I put in to r88 means there should be no need for your perl script. Once you have a cache generated, you can rerun the splitter as many times as you like without --mixed by using the (much faster) cache instead of the osm file. There's no need to even specify the osm file on the command line if you have a populated cache.
eg first run:
java -Xmx2000m splitter.jar --cache=cache/srtm_test --mixed --max-nodes=1200000 srtm_test.osm
Sorry Chris but unless I've missed something then..... paul@paul-pc:~/Maps/tile-splitter/splitter-r88/dist> java -jar splitter.jar --mapid=70020001 --cache=./ --mixed ../../../srtm2osm/Srtm2Osm-1.7.10.0/fullukcontours.osm Time started: Wed Sep 09 11:48:04 BST 2009 mapid = 70020001 cache = ./ Checking for an existing cache and verifying contents... No suitable cache was found. A new cache will be created to speed up the splitting stage Map is being split for resolution 13: - area boundaries are aligned to 0x800 map units - areas are multiples of 0x1000 map units wide and high Processing ../../../srtm2osm/Srtm2Osm-1.7.10.0/fullukcontours.osm Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 19 at uk.me.parabola.splitter.Convert.parseDouble(Convert.java:171) at uk.me.parabola.splitter.OSMParser.startNode(OSMParser.java:138) at uk.me.parabola.splitter.OSMParser.startElement(OSMParser.java:98) at uk.me.parabola.splitter.AbstractXppParser.parse(AbstractXppParser.java:42) at uk.me.parabola.splitter.Main.processOsmFiles(Main.java:346) at uk.me.parabola.splitter.Main.processMap(Main.java:335) at uk.me.parabola.splitter.Main.calculateAreas(Main.java:240) at uk.me.parabola.splitter.Main.split(Main.java:148) at uk.me.parabola.splitter.Main.main(Main.java:93) The input file is 3.9GB if that helps and r88 runs against the very small test file I created when testing my script. If you need any other info just ask. Cheers Paul