logo separator

[mkgmap-dev] re-trying multi layer map

From WanMil wmgcnfg at web.de on Tue Mar 1 17:59:34 GMT 2011

> I am creating a multi-layer map.
>
> On my test, I'm using a single osm file and I was able to create some
> form of hillshading effect using elevation polygons and dithering with
> typ:
> http://farm6.static.flickr.com/5298/5488803441_a65e23d54c.jpg
>
> What I want is to split the data into three layers (coastline,
> hillshade and osm data - pois, lines and polys).  Following the advice
> here:
> http://www.mkgmap.org.uk/pipermail/mkgmap-dev/2010q4/009484.html
>
> I have this args file:
> ==========
> gmapsupp
> code-page=1252
> latin1
> country-abbr=PHL
> country-name=PHILIPPINES
> generate-sea=polygons,extend-sea-sectors,close-gaps=1000,land-tag=natural=coastline
>
> family-id=111
> product-id=1
> family-name=Map1
> draw-priority=20
> transparent=no
> mapname=10000001
> input-file=coastline.osm
> style-file=/home/maning/routable_garmin/git/osmphgps/styles/outdoor
>
>
> family-id=222
> product-id=1
> family-name=Map2
> draw-priority=25
> transparent=yes
> mapname=20000001
> input-file=elev_level.osm
> style-file=/home/maning/routable_garmin/git/osmphgps/styles/outdoor
>
> family-id=333
> product-id=1
> family-name=Map3
> draw-priority=28
> transparent=yes
> mapname=30000001
> input-file=pois_lines.osm
> style-file=/home/maning/routable_garmin/git/osmphgps/styles/outdoor
>
> ==========
>
> But I get this error:
> time java -jar mkgmap.jar --read-config=args0.list
> java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
> 	at java.util.ArrayList.rangeCheck(ArrayList.java:571)
> 	at java.util.ArrayList.get(ArrayList.java:349)
> 	at uk.me.parabola.mkgmap.reader.osm.SeaGenerator.joinWays(SeaGenerator.java:209)
> 	at uk.me.parabola.mkgmap.reader.osm.SeaGenerator.end(SeaGenerator.java:265)
> 	at uk.me.parabola.mkgmap.reader.osm.OsmReadingHooksChain.end(OsmReadingHooksChain.java:78)
> 	at uk.me.parabola.mkgmap.reader.osm.xml.Osm5MapDataSource.load(Osm5MapDataSource.java:73)
> 	at uk.me.parabola.mkgmap.main.MapMaker.loadFromFile(MapMaker.java:148)
> 	at uk.me.parabola.mkgmap.main.MapMaker.makeMap(MapMaker.java:58)
> 	at uk.me.parabola.mkgmap.main.Main$1.call(Main.java:224)
> 	at uk.me.parabola.mkgmap.main.Main$1.call(Main.java:221)
> 	at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
> 	at java.util.concurrent.FutureTask.run(FutureTask.java:166)
> 	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
> 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
> 	at java.lang.Thread.run(Thread.java:636)
>
>
> I also tried creating the maps separately and then run another mkgmap
> instance, but I don't see the coastline and hillshade:
> time java -jar mkgmap.jar --gmapsupp --product-id=1 --family-id=111
> --draw-priority=20 10000001.img COASTLINE.TYP --family-id=222
> --transparent --draw-priority=25 20000001.img ELEV.TYP --family-id=333
> --transparent --draw-priority=28 30000001.img
>
> The typ files have the different FID for each layer.
>

I suppose that your coastline file contains way definititions without 
any points. This situation is not catched. Can you check your coastline 
file if that's the reason?

I have committed a fix for that (r1874). Please let me know if this 
fixes your problem.

WanMil




More information about the mkgmap-dev mailing list