pátek 20. června 2008

MapGen v2.2 - aktualizace

Díky připomínkám několika lidí jsem si konečně našel čas a opravil poměrně zásadní chybu v MapGenu - při stahování okrajových částí map se nevyrovnal s chybějícími daty (PNG obrázek "Pro toto přiblížení nemáme podklad k dispozici...") a při spojování souborů s nulovou délkou spadnul. Řešení je nakonec relativně snadné, všechny prázdné soubory nahradit bílým pozadím. Realizace už tak snadno nevypadá a zabrala hodně googlení, abych se vyhnul dalším programům a mohl použít jenom příkazový interpreter z Windows XP. Jen tak pro zajímavost, nahrazení nulových souborů je provedeno pomocí příkazu:

for /f %%A in ("img_baseimage.pnm") do if %%~zA equ 0 (pbmmake.exe -white 256 256 > img_baseimage.pnm)

No není to krása? ;-) Kromě odstranění této chyby jsem integroval do nové verze MapGenu kompletní funkci programu MapCoord. V INI souboru přibyly položky LinkBottomLeft a LinkTopRight, které mohou obsahovat link na levý dolní a pravý horní roh, zkopírovaný přes funkci Odkaz na tuto mapu ze serveru mapy.cz. Linky se MapGen pokusí rozparsovat a použít, bude-li libovolná ze specifikovaných souřadnic nulová. Kromě toho může být nulová hodnota také úrovně detailu (MapLevel), pak se použije detail specifikovaný v linku. Jinak má přednost prametr MapLevel z INI souboru. Program MapGen v2.2 je opět volně ke stažení zde.

15 komentářů:

vitis řekl(a)...

tak tohle je vážně paráda :) ... jen přijít na to ja se s tím pracuje ... nemohl jsem zaboha rozchodit zadávání souřadnic pomocí start/stop x/y ... mordoval sem se s tím tak dlouho až sem si všiml, že stačí ty odkazy na rohy ... už to funguje a je to vážně paráda ... moc díky ... aktulání cyklotrasy mám :)

Jan řekl(a)...

Ahoj, hele a co takhle mapgen upravit, aby mohl stahovat třeba i z http://mapy.1188.cz/ jsou tam novější mapy.

Dík J.

alpov řekl(a)...

Mapy na 1188.cz vypadají fakt dost dobře, ale bohužel používají úplně jinou metodu přístupu, není možné tak snadno stahovat jednotlivé úseky jako ze serverů mapy.cz. Takže se do toho pouštět zatím nebudu, ale díky za tip, ani jsem nevěděl, že tyhle mapy existují.

Anonymní řekl(a)...

prosím tě, asi jsem natvrdlej, ale jak získám link na dolní levý roh a horní pravý roh z mapy.cz ? Díky M.

alpov řekl(a)...

Snadno, najedeš si na mapy.cz prostředkem obrazovky do bodu, který pak budeš chtít mít jako levý dolní tvého výřezu, klikneš na Další funkce, Odkaz na tuto mapu, ten zkopíruješ a vložíš do LinkBottomLeft do INI souboru. A pak totéž s pravým horním rohem a LinkTopRight. Měl by se brát prostředek obrazovky, ale MapGen to pak stejně zaokrouhlí, takže nijak přesné ty rohy výsledné mapy nebudou.

Anonymní řekl(a)...

Trochu jsem přemýšlel a měl bych nápad, realizace se mi bohužel nedaří. Mám CR rozdelenou na 64 dílu = 64 *.ini souboru. Vytvoril jsem si batch ktery tyto soubory ma postupne vyvolavat, bohuzel to pise ze stazeni jednoho obrazku a pak to klekne. Muze mi nekdo pomoc dokoncit tuto myslenku? Ma to slouzit pro stazeni vestsich ploch, nez je limit v programu ... THX

ICQ: 316-071-469

J4cker řekl(a)...

tak napad zrealizova,n sice to neni moc optimalizovane - tvorba narychlo.

Phpckem si vygeneruji seznam, ktery jednim souborem spustim a samo se stahuje. Slozky i soubory maji logicke nazvy a dobre se v nich orientuje. Moznost plne konfigurace toho ini. Ten se nakopíruje do všech složek a postupně se vyvolává.

Dokonce to umí plochy, které by jinak člověk musel ručně dělit na menší. Scriptu zadáte počet řádků a sloupců x,y horního a dolního rohu, vyzkoušíte jestli to mapgenem projde a pokud ano pustíte dávku.

============================
Ještě to překopat na googlovské mapy a je to pecka. Script jakmile trochu učešu možná optimnu, tak přidám link.

Kdyby náhodou někdo šel do té googlovské verze tak pls pište na ICQ 316-071-469

THX

Anonymní řekl(a)...

super, zkusil jsem si stahnout aktualni turisticke mapy, ktery jsem chtel pouzit pro GPS tracking v programu Trackbuddy pro mobily. bohuzel mapy, ktere z toho lezou asi nejsou kalibrovane, takze je to pro mne nepouzitelne
na konci souboru chybi pasrametry MM, coz jsem pochopil je ta kalibrace.
Je tu nejaka moznost, jak si ony mapy zkalibrovat a tedy pouzivat?

alpov řekl(a)...

Doplnění MM parametrů se provede otevřením a znovuuložením vygenerovaného kalibračního MAP souboru v OziExploreru, je to popsané v jednom ze starších záznamů: Posledním krokem je otevření vzniklého dílka v OziExploreru a znovuuložení MAP souboru - tím se dopočítají chybějící parametry (Moving Map) nezbytné mj. pro správné zobrazování oblasti mapy v náhledovém okně.

Honza řekl(a)...

Opravdu výborný nástroj. Taky bych chtěl něco takového umět naprogramovat:-)Měl bych malej dotaz: na jaký bod obrazovky na mapy.cz odkazují souřadnice získané s odkazu "další funkce/odkaz na tuto mapu"? Díky a přeji hodně úspěchů.

alpov řekl(a)...

Já myslím že na prostředek obrazovky, ten je ale následně zaokrouhlen podle úrovně mapy na násobky 256px numericky dolů, tj. na mapě od středu směrem dolů a doleva... ale úplně jistý si nejsem a nechce se mi to zkoušet :-) Vždycky jsem udělal mapu o něco větší a neřešil jsem to.

But řekl(a)...

Ahoj

Já mám udělanou sadu skriptů v PHP, které pouštím z commandline a mám staženou celou republiku ve velikosti 16-12 a také všechny ostatní mapy ze seznamu. Jediná věc, kterou bych potřeboval vědět je jak vytvořit vlastní kalibrační soubor. Z mých scriptů mi padají už hodové dlaždice přesně jak chci, ale nevím, jak ním ten kalibrák udělat. Nemohl bys prosím dát popis algoritmu, jak ze souřadnic na mapy.cz udělat souřadnicový soubor pro Oziho. Díky

P.S. Moje skripty fungují i pro google a není problém je upravit pro cokoli, kde se dají mapy stáhnout pomocí url a jejich jména mají nějakou logiku. Mohu případně poslat ev. nasdílet na FTP :-)

alpov řekl(a)...

Zdarec, způsob generování .map souboru je vidět ze zdrojáků (fce GenMapFile), stručně řečeno: Pro projekci Transverse Mercator systému UTM zóna 33U na elipsoidu WGS84 platí, že hodnota proměnných na mapy.cz se vydělí číslem 32, od X se odečte 3700000, k Y se přičte 1300000. Ten .map soubor, který MapGen vytvoří, neobsahuje Moving Map parametry, ale ty si dopočítá Ozi už sám, stačí mapu otevřít a znovu uložit.

Pokud bys byl ochotný se o skripty podělit, budu určitě rád, když mi je pošleš na mail (alpov zkroucenec alpov tečka net), případně je někde zveřejni a hoď sem link, ať to můžou využít i další lidé :-)

Anonymní řekl(a)...

Ahoj. Nemáte prosím někdo staženou původní ortofotomoapu Prahy před tím, než tam seznam nasadil současné novější snímky, ev. nevíte, jestli se dají ještě ze seznamu stáhnout? Měl jsi ji, a kus se mi omylem smazal :-( Pokud odpověď na jednu z otázek je ano, dejte mi prosím vědet sem. Díky moc Aleš

alpov řekl(a)...

Ahoj, pokud myslíš staré ortofotomapy, tak ty jsou na mapy.cz přístupné pod tlačítkem Další mapy -> Fotomapa 2002-03. Tyto umí samozřejmě i MapGen, staré jsou vrstva č. 7.