pondělí 26. listopadu 2007

Turistické mapy pro OziExplorer

Nedlouho po vytvoření software pro download ortofotomap ze systému mapy.cz jsem jej předělal na možnost stahovat také turistické mapy (úroveň 13). Ty jsou v systému uloženy ve třech vrstvách - základní podkladové a dvou overlay vrstvách s turistickými a cykloturistickými značkami.

Software je přístupný ke stažení z mého webu zde. Jedná se o velmi pracovní verzi, k jejímu zveřejnění jsem byl "donucen" větším množstvím zájemců přes mail. Pro funkci potřebuje nainstalovaný balík NetPbm ke konverzím a prokládání grafiky (do jeho bin adresáře by měla být nastavena PATH) a taktéž prohlížeč IrfanView s pluginy, nainstalovaný ve výchozím umístění v Program Files. Celý proces lze spustit například příkazem "!turistgen 8210 8230 7E90 7EF8 Pokus".

Program mapgen1 vygeneruje seznamy souborů ke stažení ze serverů mapy.cz, které následně skript do_wget.cmd s použitím programu wget stáhne z internetu a uloží. Následují konverze a proložení všech vrstev ve skriptu do_merge.cmd. Výsledkem je soubor formátu PNM, obsahující jeden čtverec mapy. Dále je spuštěno generování MAP souboru a dalších skriptů programem mapgen2. Posledním spuštěným skriptem je conv.cmd, který čtverce mapy složí nejdříve do řádků, následně do sloupců a zkonvertuje na formát PNG.

Celý proces vyžaduje značné množství jak operační paměti, tak výpočetního výkonu, ale ono není kam spěchat. Rozhodně však nedoporučuji zkoušet větší mapy (>100mpix) na počítači s méně než 1GB RAM.



Edit 12.12.2007: Pan Aleš Fau upravil skripty z úrovně 13 na úroveň 12, připravený balík včetně jeho úprav je ke stažení zde. Stejným způsobem (přepis konstant v Delphi .dpr souborech a kompilací) lze popsané řešení upravit i na jiné úrovně.

Edit 28.3.2008: Pro správnou funkci je nutné nastavit systémovou proměnnou PATH do adresáře NetPbm, postup je následující: Start -> Ovládací panely -> Systém -> Upřesnit -> Proměnné prostředí -> Systémové proměnné, zde nalézt položku PATH a dát Upravit. Na konec proměnné je nutné přidat cestu k souborům balíku NetPbm, např. "C:\Program Files\GnuWin32\bin", od předchozích údajů se oddělí středníkem.



Poznámka: Všechny funkce TuristGenu byly plně zakomponovány do novější verze softwaru MapGen, včetně dalších vylepšení jako prokládání libovolných vrstev apod. Doporučuji používat novější MapGen.

3 komentáře:

Anonymní řekl(a)...

Hele chlape, naprostá paráda. Ještě aby slováci udělali server s turistickejma mapama a už jsem v sedmým nebi. Měj se a čau.

Anonymní řekl(a)...

Vypadá to moc dobře, ale jak stáhnu mapy s !turistgen.cmd když jsem připojen přes proxy?

alpov řekl(a)...

Nastavení proxy je otázkou wgetu. Jednodušší bude asi zakomponování do MapGenu, musí se nastavit adresa proxy - do mapgen_start.cmd přidat na první řádek něco ve smyslu set http_proxy=http://proxy.example.com:8080 a v INI souboru upravit položku WGetPath tak, aby obsahovala přepínač pro použití proxy, tj. WGetPath=..\wget.exe --proxy . Případná autorizace na proxynu se dá nejsnáze dopsat do http_proxy ve tvaru http://username:password@proxy.example.com:8080 . Teda nezkoušel jsem to, ale mělo by to takto fungovat.