Zajisté jste si všimli, že je v mapách pro Garmin spoustu OSM souborů, co s nimi? Do navigace přímo nahrát nejdou. Je tedy třeba se porozhlédnout po nástrojích co nám pomohou. Zkusím vám nastínit návod jak dostat z OSM IMG soubory, a jak nahrát img jsme si již ukázali, dokonce jsme jej zasadili i do Mapsource. Čili OSM soubor není pro nás ničím limitujícím, pokud ho dokážeme zpracovat. Tak jdem nato.
- Než začneme, je třeba si sehnat JÁVU, zdarma ke stažení na http://tinyurl.com/4zhe92
- Nějakou OSM mapu .. mapy pro Garmin
- a nejlépe latest verzi mkgmap http://www.mkgmap.org.uk/download/mkgmap.html
Pro jednoduchost si všechno nahrajeme do jednoho adresáře, zkusme mapu České republiky.
java -jar mkgmap.jar [options] czechia-latest.osm treba_este_neco.osm
Více příkazů, manuál najdete na http://wiki.openstreetmap.org/index.php/Mkgmap
Tímto příkazem se vytvoří mapa s názvem 63240001.img, lze ji integrovat do mapsource, nebo nahrát rovnou do navigace přes sendmap.
Chcete-li si výsledek prohlédnout, zkuste si vygenerovaný soubor otevřít v programu Mapedit
Při generování se mohou vyskytnout následující problémy.
Nedostatek paměti. Lze zvýšit použitím
java -Xmx512M -jar mkgmap.jar [options] data.osm
Renderování velkých map. Například při renderování map Anglie, Německa, kde je hustota mapových prvků dosti veliká má mkgmap problémy, jelikož data se „nevejdou do Garmin map Tile“ tak jest popisováno na OSM wiki. Pokud chcete, lze tuto bariéru překonat „rozsekáním“ mapy na menší části., zde konkrétně je použit osmcut.0.5.jar.gz, který rozeká dlaždice po 3.5 stupních do output directory.
java -Xmx512M -jar osmcut.jar 3.5 data.osm <output directory>
následně je třeba tyto mapy konvertovat přes mkgmap s parametrem –-gmapsupp , vsechny tyto mapy vypsat. Docela pruda, ale můžete si udělat .bat ( uvítám lepší řešení pro windows ) v linuxu není problém, terminál zvládne konverzi /output_dir/* Pokud vám mkgmap vyhodí nějakou vyjímku, nebojte si prostudovat manuál, případě se ptejte na mailu, eventuelně posílejte bugreport přímo autorovi, rád pomůže, vyřeší, implementuje patche, dobrá domluva, samozřejmě v EN, mail má na stránkách.
Tak nevim co delam spatne,a le kdyz spustim osmcut.jar, tak se mi rozseka tak max 1,5GB dat a pak to skonci. na Ubuntu bez jedineho „slova“ na XP mi to ted – opet po cca 1,5GB – vyhodilo toto:
Microsoft Windows XP [Verze 5.1.2600]
E:\maps>java -Xmx512M -jar osmcut.jar 1 denmark.osm e:\maps\
Exception in thread „main“ java.lang.NumberFormatException: For input string: „o
de id=“
at sun.misc.FloatingDecimal.readJavaFormatString(Unknown Source)
at java.lang.Double.parseDouble(Unknown Source)
at osmcut.OsmCut.main(OsmCut.java:145)
“
Bohuzel, na JÁVĚ jsem nebyl, tak nevím jak se s podobným problémem vypořádat.
Rozsekat bych to chtel , at nemusi navigace pracovat zaras s celám balíkem (celou zemí) a mam za to že tím že to rozsekám, tak „se jí bude pracovat líp“. Díky za nápady a postřehy… diky moc
Slovinsko jsem dal do navigace bezproblemu cele, ale nechci tam dávat celou ČR,tak to testuji na DÁNSKU.
Ahoj, osmcut se jiz nepouziva, zkus splitter.jar ( http://www.mkgmap.org.uk/page/tile-splitter )
Vetsinou splitter padal, ze nebylo dostatek paměti, tohle však vypadá na něco jiného. Nevím zda je kompatibilní s API 0.6. Ale vesměs co popisuješ je spíš problém paměti a omezení 32bit OS