Talk:Splitter
is it possible to have output files not gzipped? And parameter to specify output file will be nice.--Walley 18:56, 26 May 2009 (UTC)
Could not open file: *.osm.gz after running Splitter
Hi, I have a drama trying to run MKgmap after the splitter.
Could not open file: *.osm.gz (note, where * is the file name)
Exception in thread "main" java.lang.NullPointerException
at uk.me.parabola.mkgmap.combiners.FileInfo.getFileInfo(FileInfo.java:136)
at uk.me.parabola.mkgmap.main.Main.endOptions(Main.java:366)
at uk.me.parabola.mkgmap.CommandArgsReader.readArgs(CommandArgsReader.java:124)
at uk.me.parabola.mkgmap.main.Main.main(Main.java:122)
I've tried saving the output files to various locations, thinking it's a file access problem. It doesn't matter what directory, nor where the files are (pointing to location)... have I missed something really silly? (note the o/p of the splitter is 8 .osm.gz files) I've not been able to find a result in the Wiki, Ubuntu forums or Google. Trenchtractor
Also posted in Talk:Mkgmap
--
- When splitter is called with --mapid=0000001 (or any other mapid which starts with zero(s)) there is a bug in splitter.
the files generated have eight character names (i.e. 00000001.osm.gz, 00000002.osm.gz, etc.) but the templates.args contains lines like:
mapname: 1 description: OSM-Map 1 input-file: 1.osm.gz mapname: 2 description: OSM-Map 2 input-file: 2.osm.gz
Thus mkgmap cannot find the tile files when using this template file as "-c" input. I wrote a small patch to fix this:
Index: src/uk/me/parabola/splitter/AreaList.java
===================================================================
--- src/uk/me/parabola/splitter/AreaList.java (revision 161)
+++ src/uk/me/parabola/splitter/AreaList.java (working copy)
@@ -164,7 +164,7 @@
Reader r = null;
areas = new ArrayList<Area>();
- Pattern pattern = Pattern.compile("([0-9]{8}):" +
+ Pattern pattern = Pattern.compile("([0-9]{1,8}):" +
" ([\\p{XDigit}x-]+),([\\p{XDigit}x-]+)" +
" to ([\\p{XDigit}x-]+),([\\p{XDigit}x-]+)");
Index: src/uk/me/parabola/splitter/Main.java
===================================================================
--- src/uk/me/parabola/splitter/Main.java (revision 161)
+++ src/uk/me/parabola/splitter/Main.java (working copy)
@@ -491,12 +491,12 @@
w.println("# for each one.");
for (Area a : areas) {
w.println();
- w.format("mapname: %d\n", a.getMapId());
+ w.format("mapname: %08d\n", a.getMapId());
if (a.getName() == null)
- w.println("# description: OSM Map");
+ w.format("description: OSM Map #08d\n", a.getMapId());
else
w.println("description: " + a.getName());
- w.format("input-file: %d.osm.gz\n", a.getMapId());
+ w.format("input-file: %08d.osm.gz\n", a.getMapId());
}
w.println();