
Hi What size are you using for the tile splitter? and which options for mkgmap? always get this exception with the default --max-nodes 1600000 have played with java -Xmx and can use larger values but java doesn't allow more than 2600m Exception in thread "main" java.lang.OutOfMemoryError: Java heap space at com .sun.org.apache.xerces.internal.xni.XMLString.toString(XMLString.java: 185) at com .sun .org .apache .xerces .internal.util.XMLAttributesImpl.getValue(XMLAttributesImpl.java:557) at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser $AttributesProxy.getValue(AbstractSAXParser.java:2323) at uk .me .parabola .mkgmap.reader.osm.xml.Osm5XmlHandler.startElement(Osm5XmlHandler.java: 131) at com .sun .org .apache .xerces .internal .parsers.AbstractSAXParser.startElement(AbstractSAXParser.java:501) at com .sun .org .apache .xerces .internal .impl .XMLDocumentFragmentScannerImpl .scanStartElement(XMLDocumentFragmentScannerImpl.java:1359) at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl $FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:2747) at com .sun .org .apache .xerces .internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java: 648) at com .sun .org .apache .xerces .internal .impl .XMLDocumentFragmentScannerImpl .scanDocument(XMLDocumentFragmentScannerImpl.java:510) at com .sun .org .apache .xerces .internal.parsers.XML11Configuration.parse(XML11Configuration.java:807) at com .sun .org .apache .xerces .internal.parsers.XML11Configuration.parse(XML11Configuration.java:737) at com .sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java: 107) at com .sun .org .apache .xerces .internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1205) at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl $JAXPSAXParser.parse(SAXParserImpl.java:522) at javax.xml.parsers.SAXParser.parse(SAXParser.java:395) at javax.xml.parsers.SAXParser.parse(SAXParser.java:198) at uk .me .parabola .mkgmap.reader.osm.xml.Osm5MapDataSource.load(Osm5MapDataSource.java:78) at uk.me.parabola.mkgmap.main.MapMaker.loadFromFile(MapMaker.java:137) at uk.me.parabola.mkgmap.main.MapMaker.makeMap(MapMaker.java: 53) at uk.me.parabola.mkgmap.main.Main.processFilename(Main.java: 150) at uk.me.parabola.mkgmap.CommandArgs $Filename.processArg(CommandArgs.java:332) at uk.me.parabola.mkgmap.CommandArgs.readArgs(CommandArgs.java:119) at uk.me.parabola.mkgmap.main.Main.main(Main.java:91)

North and South America split fine with max-nodes set to 120000. Europe still gives a few errors with that setting though. See the results of a complete world splitted with the 120000 setting here: http://garmin.na1400.info/routable.html I plan to split the remaining failed tiles manually. Under x86-64 I use the java -Xmx6144m setting for Splitter without problems. Apollinaris Schoell wrote:
Hi
What size are you using for the tile splitter? and which options for mkgmap? always get this exception with the default --max-nodes 1600000 have played with java -Xmx and can use larger values but java doesn't allow more than 2600m
Exception in thread "main" java.lang.OutOfMemoryError: Java heap space at com.sun.org.apache.xerces.internal.xni.XMLString.toString(XMLString.java:185)
at com.sun.org.apache.xerces.internal.util.XMLAttributesImpl.getValue(XMLAttributesImpl.java:557)
at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser$AttributesProxy.getValue(AbstractSAXParser.java:2323)
at uk.me.parabola.mkgmap.reader.osm.xml.Osm5XmlHandler.startElement(Osm5XmlHandler.java:131)
at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.startElement(AbstractSAXParser.java:501)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanStartElement(XMLDocumentFragmentScannerImpl.java:1359)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:2747)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:648)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:510)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:807)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:737)
at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:107)
at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1205)
at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:522)
at javax.xml.parsers.SAXParser.parse(SAXParser.java:395) at javax.xml.parsers.SAXParser.parse(SAXParser.java:198) at uk.me.parabola.mkgmap.reader.osm.xml.Osm5MapDataSource.load(Osm5MapDataSource.java:78)
at uk.me.parabola.mkgmap.main.MapMaker.loadFromFile(MapMaker.java:137) at uk.me.parabola.mkgmap.main.MapMaker.makeMap(MapMaker.java:53) at uk.me.parabola.mkgmap.main.Main.processFilename(Main.java:150) at uk.me.parabola.mkgmap.CommandArgs$Filename.processArg(CommandArgs.java:332) at uk.me.parabola.mkgmap.CommandArgs.readArgs(CommandArgs.java:119) at uk.me.parabola.mkgmap.main.Main.main(Main.java:91)
_______________________________________________ mkgmap-dev mailing list mkgmap-dev@lists.mkgmap.org.uk http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev

Hi Lambertus, On Fri, Mar 20, 2009 at 09:12:01AM +0100, Lambertus wrote:
North and South America split fine with max-nodes set to 120000. Europe still gives a few errors with that setting though. See the results of a complete world splitted with the 120000 setting here: http://garmin.na1400.info/routable.html
I plan to split the remaining failed tiles manually.
Are you planning to fine-tune the tile division by hand? If so, I would suggest that you avoid splitting South Finland or North Estonia in the west-east direction. Given that there could be some inter-tile routing issues (suboptimal routes chosen), it would be better to have a tile border on the Baltic sea between Finland and Estonia. I don't care which tile the Åland islands are on; they are roughly halfway between Sweden and Finland anyway. Although they belong to Finland, they are autonomous and tightly connected with Sweden. For what it is worth, my Finnish Garmin map generated from finland.osm.bz2 at http://www.polkupyoraily.net/osm/ uses this areas.list: 63240001: 2768896,890880 to 2916352,1472512 # : 59.414063,19.116211 to 62.578125,31.596680 63240002: 2916352,890880 to 3020800,1472512 # : 62.578125,19.116211 to 64.819336,31.596680 63240003: 3020800,890880 to 3266560,1472512 # : 64.819336,19.116211 to 70.092773,31.596680 The reasoning is that most of the population is located in the south, and therefore the south must be a single tile. Similarly for Estonia, most population should be in the mainland, near Tallinn. You could put the Saaremaa and Hiiumaa islands on a separate tile without losing any routing functionality. I hope that you consider this suggestion. If it works out well, I'd like to set up a mirror to your map tiles instead of generating the tiles myself. (I only have a 32-bit machine on a 1 Mb/s ADSL line.) Marko

I am planning to do manual splitting only if necessary and use a simple divide by half scheme but with horizontal or vertical selection when doing so (and thus have only some influence on the position of the split). I am certainly not planning on manually dividing the whole world by hand. Routing between tiles should "just work (tm)" imho so very careful tilesplitting should not be needed. Mirroring the maps is ofcourse no problem but they update each week and bandwidth is not a problem (yet, at least). So I don't know how effective mirroring actually is. Marko Mäkelä wrote:
Hi Lambertus,
On Fri, Mar 20, 2009 at 09:12:01AM +0100, Lambertus wrote:
North and South America split fine with max-nodes set to 120000. Europe still gives a few errors with that setting though. See the results of a complete world splitted with the 120000 setting here: http://garmin.na1400.info/routable.html
I plan to split the remaining failed tiles manually.
Are you planning to fine-tune the tile division by hand? If so, I would suggest that you avoid splitting South Finland or North Estonia in the west-east direction. Given that there could be some inter-tile routing issues (suboptimal routes chosen), it would be better to have a tile border on the Baltic sea between Finland and Estonia.
I don't care which tile the Åland islands are on; they are roughly halfway between Sweden and Finland anyway. Although they belong to Finland, they are autonomous and tightly connected with Sweden.
For what it is worth, my Finnish Garmin map generated from finland.osm.bz2 at http://www.polkupyoraily.net/osm/ uses this areas.list:
63240001: 2768896,890880 to 2916352,1472512 # : 59.414063,19.116211 to 62.578125,31.596680 63240002: 2916352,890880 to 3020800,1472512 # : 62.578125,19.116211 to 64.819336,31.596680 63240003: 3020800,890880 to 3266560,1472512 # : 64.819336,19.116211 to 70.092773,31.596680
The reasoning is that most of the population is located in the south, and therefore the south must be a single tile.
Similarly for Estonia, most population should be in the mainland, near Tallinn. You could put the Saaremaa and Hiiumaa islands on a separate tile without losing any routing functionality.
I hope that you consider this suggestion. If it works out well, I'd like to set up a mirror to your map tiles instead of generating the tiles myself. (I only have a 32-bit machine on a 1 Mb/s ADSL line.)
Marko _______________________________________________ mkgmap-dev mailing list mkgmap-dev@lists.mkgmap.org.uk http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev

On 20 Mar 2009, at 7:04 , Lambertus wrote:
I am planning to do manual splitting only if necessary and use a simple divide by half scheme but with horizontal or vertical selection when doing so (and thus have only some influence on the position of the split). I am certainly not planning on manually dividing the whole world by hand.
Routing between tiles should "just work (tm)" imho so very careful tilesplitting should not be needed.
it does, but to me it seems Garmin uses a higher cost for inter tile routing. get funny results when the optimal route crosses 3+ tiles and there is a possibility to route it through less tiles

Hi Lambertus, Can you provide the splitter area.list you have used for your online map? I have downloaded a view tiles and inter tile routing fails for a route crossing more than 3 tiles. I would like to compare it with my tiles based on exact same osm file to make sure it's not the input data. which options are you using for mkgmap? thanks On 20 Mar 2009, at 7:04 , Lambertus wrote:
I am planning to do manual splitting only if necessary and use a simple divide by half scheme but with horizontal or vertical selection when doing so (and thus have only some influence on the position of the split). I am certainly not planning on manually dividing the whole world by hand.
Routing between tiles should "just work (tm)" imho so very careful tilesplitting should not be needed.
Mirroring the maps is ofcourse no problem but they update each week and bandwidth is not a problem (yet, at least). So I don't know how effective mirroring actually is.
Marko Mäkelä wrote:
Hi Lambertus, On Fri, Mar 20, 2009 at 09:12:01AM +0100, Lambertus wrote:
North and South America split fine with max-nodes set to 120000. Europe still gives a few errors with that setting though. See the results of a complete world splitted with the 120000 setting here: http://garmin.na1400.info/routable.html
I plan to split the remaining failed tiles manually. Are you planning to fine-tune the tile division by hand? If so, I would suggest that you avoid splitting South Finland or North Estonia in the west-east direction. Given that there could be some inter-tile routing issues (suboptimal routes chosen), it would be better to have a tile border on the Baltic sea between Finland and Estonia. I don't care which tile the Åland islands are on; they are roughly halfway between Sweden and Finland anyway. Although they belong to Finland, they are autonomous and tightly connected with Sweden. For what it is worth, my Finnish Garmin map generated from finland.osm.bz2 at http://www.polkupyoraily.net/osm/ uses this areas.list: 63240001: 2768896,890880 to 2916352,1472512 # : 59.414063,19.116211 to 62.578125,31.596680 63240002: 2916352,890880 to 3020800,1472512 # : 62.578125,19.116211 to 64.819336,31.596680 63240003: 3020800,890880 to 3266560,1472512 # : 64.819336,19.116211 to 70.092773,31.596680 The reasoning is that most of the population is located in the south, and therefore the south must be a single tile. Similarly for Estonia, most population should be in the mainland, near Tallinn. You could put the Saaremaa and Hiiumaa islands on a separate tile without losing any routing functionality. I hope that you consider this suggestion. If it works out well, I'd like to set up a mirror to your map tiles instead of generating the tiles myself. (I only have a 32-bit machine on a 1 Mb/s ADSL line.) Marko
mkgmap-dev mailing list mkgmap-dev@lists.mkgmap.org.uk http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev
_______________________________________________ mkgmap-dev mailing list mkgmap-dev@lists.mkgmap.org.uk http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev

I've added links to the template.args files on the routable Garmin map page (scroll a bit downwards). I use Mkgmap twice, once for creating the Garmin map tiles from the OSM data and once for generating the gmapsupp.img and tdb file. The first commandline is: java -Xmx2048M -jar /home/lambertus/garmin/utils/mkgmap-r983/mkgmap.jar --latin1 --description="OSM World Routable" --net --route -c template.args --series-name="OSM World Routable" The second: java -Xmx2048M -jar /home/lambertus/garmin/utils/mkgmap/mkgmap.jar --description="OSM World Routable" --product-id=53 --tdbfile --gmapsupp *324*.img Apollinaris Schoell wrote:
Hi Lambertus,
Can you provide the splitter area.list you have used for your online map? I have downloaded a view tiles and inter tile routing fails for a route crossing more than 3 tiles. I would like to compare it with my tiles based on exact same osm file to make sure it's not the input data.
which options are you using for mkgmap?
thanks
On 20 Mar 2009, at 7:04 , Lambertus wrote:
I am planning to do manual splitting only if necessary and use a simple divide by half scheme but with horizontal or vertical selection when doing so (and thus have only some influence on the position of the split). I am certainly not planning on manually dividing the whole world by hand.
Routing between tiles should "just work (tm)" imho so very careful tilesplitting should not be needed.
Mirroring the maps is ofcourse no problem but they update each week and bandwidth is not a problem (yet, at least). So I don't know how effective mirroring actually is.
Marko Mäkelä wrote:
Hi Lambertus, On Fri, Mar 20, 2009 at 09:12:01AM +0100, Lambertus wrote:
North and South America split fine with max-nodes set to 120000. Europe still gives a few errors with that setting though. See the results of a complete world splitted with the 120000 setting here: http://garmin.na1400.info/routable.html
I plan to split the remaining failed tiles manually. Are you planning to fine-tune the tile division by hand? If so, I would suggest that you avoid splitting South Finland or North Estonia in the west-east direction. Given that there could be some inter-tile routing issues (suboptimal routes chosen), it would be better to have a tile border on the Baltic sea between Finland and Estonia. I don't care which tile the Åland islands are on; they are roughly halfway between Sweden and Finland anyway. Although they belong to Finland, they are autonomous and tightly connected with Sweden. For what it is worth, my Finnish Garmin map generated from finland.osm.bz2 at http://www.polkupyoraily.net/osm/ uses this areas.list: 63240001: 2768896,890880 to 2916352,1472512 # : 59.414063,19.116211 to 62.578125,31.596680 63240002: 2916352,890880 to 3020800,1472512 # : 62.578125,19.116211 to 64.819336,31.596680 63240003: 3020800,890880 to 3266560,1472512 # : 64.819336,19.116211 to 70.092773,31.596680 The reasoning is that most of the population is located in the south, and therefore the south must be a single tile. Similarly for Estonia, most population should be in the mainland, near Tallinn. You could put the Saaremaa and Hiiumaa islands on a separate tile without losing any routing functionality. I hope that you consider this suggestion. If it works out well, I'd like to set up a mirror to your map tiles instead of generating the tiles myself. (I only have a 32-bit machine on a 1 Mb/s ADSL line.) Marko
mkgmap-dev mailing list mkgmap-dev@lists.mkgmap.org.uk http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev
_______________________________________________ mkgmap-dev mailing list mkgmap-dev@lists.mkgmap.org.uk http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev
_______________________________________________ mkgmap-dev mailing list mkgmap-dev@lists.mkgmap.org.uk http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev

I see, my trials for California had to be below 1200000, somewhwere between the crash and a working setup I had the "too many features" error. I am using x86-64 but still can't use higher settings then -Xmx2600m, strange but not a that important because of the img size limit. On 20 Mar 2009, at 1:12 , Lambertus wrote:
North and South America split fine with max-nodes set to 120000. Europe still gives a few errors with that setting though. See the results of a complete world splitted with the 120000 setting here: http://garmin.na1400.info/routable.html
I plan to split the remaining failed tiles manually.
Under x86-64 I use the java -Xmx6144m setting for Splitter without problems.
Apollinaris Schoell wrote:
Hi What size are you using for the tile splitter? and which options for mkgmap? always get this exception with the default --max-nodes 1600000 have played with java -Xmx and can use larger values but java doesn't allow more than 2600m Exception in thread "main" java.lang.OutOfMemoryError: Java heap space at com .sun .org.apache.xerces.internal.xni.XMLString.toString(XMLString.java: 185) at com .sun .org .apache .xerces .internal.util.XMLAttributesImpl.getValue(XMLAttributesImpl.java: 557) at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser $AttributesProxy.getValue(AbstractSAXParser.java:2323) at uk .me .parabola .mkgmap .reader.osm.xml.Osm5XmlHandler.startElement(Osm5XmlHandler.java: 131) at com .sun .org .apache .xerces .internal .parsers.AbstractSAXParser.startElement(AbstractSAXParser.java: 501) at com .sun .org .apache .xerces .internal .impl .XMLDocumentFragmentScannerImpl .scanStartElement(XMLDocumentFragmentScannerImpl.java:1359) at com .sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl $FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java: 2747) at com .sun .org .apache .xerces .internal .impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java: 648) at com .sun .org .apache .xerces .internal .impl .XMLDocumentFragmentScannerImpl .scanDocument(XMLDocumentFragmentScannerImpl.java:510) at com .sun .org .apache .xerces .internal.parsers.XML11Configuration.parse(XML11Configuration.java: 807) at com .sun .org .apache .xerces .internal.parsers.XML11Configuration.parse(XML11Configuration.java: 737) at com .sun .org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java: 107) at com .sun .org .apache .xerces .internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java: 1205) at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl $JAXPSAXParser.parse(SAXParserImpl.java:522) at javax.xml.parsers.SAXParser.parse(SAXParser.java:395) at javax.xml.parsers.SAXParser.parse(SAXParser.java:198) at uk .me .parabola .mkgmap .reader.osm.xml.Osm5MapDataSource.load(Osm5MapDataSource.java: 78) at uk.me.parabola.mkgmap.main.MapMaker.loadFromFile(MapMaker.java:137) at uk.me.parabola.mkgmap.main.MapMaker.makeMap(MapMaker.java: 53) at uk.me.parabola.mkgmap.main.Main.processFilename(Main.java: 150) at uk.me.parabola.mkgmap.CommandArgs $Filename.processArg(CommandArgs.java:332) at uk.me.parabola.mkgmap.CommandArgs.readArgs(CommandArgs.java:119) at uk.me.parabola.mkgmap.main.Main.main(Main.java:91) _______________________________________________ mkgmap-dev mailing list mkgmap-dev@lists.mkgmap.org.uk http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev
_______________________________________________ mkgmap-dev mailing list mkgmap-dev@lists.mkgmap.org.uk http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev

Lambertus, I see in your website that you are distributing mapset for roadtrip . Can you guide on how to do it?
-- cheers, maning ------------------------------------------------------ "Freedom is still the most radical idea of all" -N.Branden wiki: http://esambale.wikispaces.com/ blog: http://epsg4253.wordpress.com/ ------------------------------------------------------

maning sambale wrote:
Lambertus,
I see in your website that you are distributing mapset for roadtrip . Can you guide on how to do it?
I'm using the Python script gmapibuilder for this. It is a script made by OSM user Berteun in response of my Garmin MapSource installer. http://wiki.openstreetmap.org/wiki/Gmapibuilder

Thanks will give it a try! On Sat, Mar 21, 2009 at 5:00 PM, Lambertus <osm@na1400.info> wrote:
maning sambale wrote:
Lambertus,
I see in your website that you are distributing mapset for roadtrip . Can you guide on how to do it?
I'm using the Python script gmapibuilder for this. It is a script made by OSM user Berteun in response of my Garmin MapSource installer.
http://wiki.openstreetmap.org/wiki/Gmapibuilder _______________________________________________ mkgmap-dev mailing list mkgmap-dev@lists.mkgmap.org.uk http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev
-- cheers, maning ------------------------------------------------------ "Freedom is still the most radical idea of all" -N.Branden wiki: http://esambale.wikispaces.com/ blog: http://epsg4253.wordpress.com/ ------------------------------------------------------
participants (4)
-
Apollinaris Schoell
-
Lambertus
-
maning sambale
-
Marko Mäkelä