Hi ,

looking at the code it seems that the style assigns a string containing
a single semicolon : ";"
as a ref. The code doesn't handle this special case.
I've commited a small change with r2649 to fix this,
binary is here:
http://files.mkgmap.org.uk/download/136/mkgmap.jar

If that doesn't help, please provide the input file that causes
the problem and the commit point of the
files in https://github.com/berndw1960/aiostyles

You can upload it here:
http://files.mkgmap.org.uk/

Ciao,
Gerd


From: thesurveyor@wolke7.net
To: mkgmap-dev@lists.mkgmap.org.uk
Date: Mon, 17 Jun 2013 19:46:38 +0200
Subject: [mkgmap-dev] java.lang.ArrayIndexOutOfBoundsException: 0

Hello,
 
I'm just starting with creating Garmin maps from OSM Data.
Many thanks to all who have implemented all such tools. That's really great work.
 
Last days I was working on a problem which I couldn't solve till now. Now I hope
that somebody can help me.
 
I'm creating a "small" map in the area of the Black Sea. When I use splitter with my
parameters I get 7 tiles. And one of these I cannot render with mkgmap.
 
I'm using the Geofabrik Europe extract and as styles I'm using the style available
at https://github.com/berndw1960/aiostyles
 
My polygon-file for splitter looks like:
Europe / Western Europe / Test
1
    36.2  45.5
    44.4  45.5
    44.4  43.0
    36.2  43.0
    36.2  45.5
 END
END

My commands are the following:
java -Xmx1400M -ea -jar ..\splitter-r304\splitter.jar --polygon-file=..\Test.poly --precomp-sea=..\sea_20130531.zip --max-nodes="1300000" --keep-complete=true --max-areas=200 --description=OSM_Test --mapid=70010001 --no-trim  ..\europe-latest.osm.pbf
 
java -Xmx1400M -jar ..\mkgmap-r2638\mkgmap.jar --bounds=..\bounds_20130531.zip --precomp-sea=..\sea_20130531.zip  --generate-sea  --read-config=..\basemap_style\options --style-file=..\basemap_style --description=OSM_Test  --family-id=7001 --product-id=1 --series-name='OSM' --family-name=OSM  --mapname=70010001 --draw-priority=10 *.osm.pbf ..\basemap_typ.txt
 
I have tried to change the splitter options, so that I get much more tiles. But it didn't help. I always get the same error when running mkgmap:
 
Time started: Sat Jun 15 00:22:51 CEST 2013
java.lang.ArrayIndexOutOfBoundsException: 0
        at uk.me.parabola.imgfmt.app.trergn.Subdivision.createLine(Subdivision.java:310)
        at uk.me.parabola.mkgmap.build.MapBuilder$LineAddFilter.doFilter(MapBuilder.java:1217)
        at uk.me.parabola.mkgmap.build.LayerFilterChain.doFilter(LayerFilterChain.java:57)
        at uk.me.parabola.mkgmap.filters.LinePreparerFilter.doFilter(LinePreparerFilter.java:85)
        at uk.me.parabola.mkgmap.build.LayerFilterChain.doFilter(LayerFilterChain.java:57)
        at uk.me.parabola.mkgmap.filters.RemoveEmpty.doFilter(RemoveEmpty.java:61)
        at uk.me.parabola.mkgmap.build.LayerFilterChain.doFilter(LayerFilterChain.java:57)
        at uk.me.parabola.mkgmap.filters.LineSplitterFilter.doFilter(LineSplitterFilter.java:69)
        at uk.me.parabola.mkgmap.build.LayerFilterChain.doFilter(LayerFilterChain.java:57)
        at uk.me.parabola.mkgmap.filters.DouglasPeuckerFilter.doFilter(DouglasPeuckerFilter.java:100)
        at uk.me.parabola.mkgmap.build.LayerFilterChain.doFilter(LayerFilterChain.java:57)
        at uk.me.parabola.mkgmap.filters.SizeFilter.doFilter(SizeFilter.java:55)
        at uk.me.parabola.mkgmap.build.LayerFilterChain.doFilter(LayerFilterChain.java:57)
        at uk.me.parabola.mkgmap.filters.RoundCoordsFilter.doFilter(RoundCoordsFilter.java:80)
        at uk.me.parabola.mkgmap.build.LayerFilterChain.doFilter(LayerFilterChain.java:57)
        at uk.me.parabola.mkgmap.filters.PreserveHorizontalAndVerticalLinesFilter.doFilter(PreserveHorizontalAndVerticalLinesFilter.java:60)
        at uk.me.parabola.mkgmap.build.LayerFilterChain.doFilter(LayerFilterChain.java:57)
        at uk.me.parabola.mkgmap.build.LayerFilterChain.startFilter(LayerFilterChain.java:68)
        at uk.me.parabola.mkgmap.build.MapBuilder.processLines(MapBuilder.java:1046)
        at uk.me.parabola.mkgmap.build.MapBuilder.makeSubdivision(MapBuilder.java:737)
        at uk.me.parabola.mkgmap.build.MapBuilder.makeMapAreas(MapBuilder.java:672)
        at uk.me.parabola.mkgmap.build.MapBuilder.makeMap(MapBuilder.java:214)
        at uk.me.parabola.mkgmap.main.MapMaker.makeMap(MapMaker.java:120)
        at uk.me.parabola.mkgmap.main.MapMaker.makeMap(MapMaker.java:82)
        at uk.me.parabola.mkgmap.main.Main$1.call(Main.java:243)
        at uk.me.parabola.mkgmap.main.Main$1.call(Main.java:239)
        at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)
        at java.util.concurrent.FutureTask.run(Unknown Source)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
        at java.lang.Thread.run(Unknown Source)
Time finished: Sat Jun 15 00:23:23 CEST 2013
Total time taken: 31871ms
 
But if I use the mkgmap default style then I can create the img's.
I hope that you can help me or direct me somewhere else.
 
Many thanks
TheSurveyor / Gerd
 
PS: I've asked my question here: http://forum.openstreetmap.org/viewtopic.php?id=21543
and they directed me to the mailing list
 
 

_______________________________________________ mkgmap-dev mailing list mkgmap-dev@lists.mkgmap.org.uk http://lists.mkgmap.org.uk/mailman/listinfo/mkgmap-dev