Přejít k navigační liště

Zdroják » JavaScript » API k českým turistickým mapám

API k českým turistickým mapám

Články JavaScript, Různé

Zdá se, že český trh s mapovými službami je poměrně stabilizovaný a nic převratného se, kromě zavádění Google Street View, neděje. Pojďme se tedy společně podívat, co nám, webovým vývojářům, současný stav nabízí a jaké máme vlastně možnosti, chceme-li psát aplikace pro Českou republiku využívající turistické mapové podklady.

Trocha historie neuškodí

V oblasti mapových technologií na internetu proběhl před několika lety opravdový zlom. Vše začalo 8. 2. 2005, kdy Google spustil své revolučně zpracované interaktivní Google Maps. V řetězové reakci si postupně i další provozovatelé online map začali uvědomovat skrytý potenciál této služby (prodej regionální reklamy, cílená reklama, partnerství s jízdními řády apod.) a začali také investovat velké částky do její modernizace. Na českém internetu vznikly časem dva velké a velmi kvalitní mapové servery, což je ve světě celkem ojedinělý úkaz, přihlédneme-li k velikosti a významu naší země.

Ještě v roce jejich vydání představil Google (jako první) u svých map aplikační rozhraní pro použití mapových podkladů i na jiných webech. Vydání API se setkalo s obrovským ohlasem a nadobro změnilo podobu webu. Po celém internetu se začaly objevovat interaktivní mapy – od jednoduchých orientačních výřezů po aplikace na mapách kompletně založené. Konkurence odpověděla svými vlastními API.

Ačkoliv od vydání prvních mapových API uplynulo pět let, tedy půlstoletí digitálního světa, o aktuálním stavu služeb se moc nehovoří. Popišme si tedy specifika, výhody a nevýhody jednotlivých mapových API tak, jak je známe dnes. Je nutné podotknout, že samotných mapových serverů je mnohem více (např. Mapy iDNES.cz, Yahoo Maps, Ask.com Maps & Directions, Multimap, NAVTEQ Map24, Bing Maps, aj.), ale nepovažoval jsem jejich přínos za dostatečně relevantní pro tento článek, jelikož poskytované datové podklady nejsou dostatečné pro Českou republiku a API vůbec nenabízejí, nebo má velmi omezené možnosti.

Proč zrovna turistické mapy?

Přiznejme si, že pokud chceme postavit aplikaci využívající mapy, nejspíše bezmyšlenkovitě sáhneme po Google Maps. Mají nejpropracovanější API s nejjistější budoucností, a Google je už v České republice dostatečně aktivní na to, aby k němu i český vývojář měl trochu důvěry. Aktuálnost mapových podkladů je napříč spektrem poskytovatelů srovnatelná, a ty od Google jsou prostě dobré a pro většinu aplikací dostačující. Už ani v oblasti integrace map s místními službami nemají zdejší poskytovatelé moc výrazný náskok. Na mapách od celosvětového giganta totiž dnes najdeme i tu poslední tramvajovou zastávku nebo hospodu za rohem, tedy věci, jež jsme ještě před pár lety mohli najít jen na službách vyvíjených v ČR.

Chceme-li však programovat aplikaci zaměřenou na turistiku, cyklistiku nebo jakýkoliv jiný sport a naším záměrem tedy bude mít kvalitní turistické mapy, staneme na rozcestí. Brzy totiž zjistíme, že nabídka Google Maps je v tomto směru poměrně tristní a domácí hráči, kteří by z takové mezery mohli těžit, sice něco mají, ale to něco není vůbec takové, jaké bychom si to představovali. Vzhledem k možnému komerčnímu využití cílové skupiny uživatelů to je velká škoda – Češi jsou národ sportovců a turistů a alternativy k zahraničním projektům jako např. MapMyRun.com zde prostě chybí.

Google Maps

Začněme průkopníkem v oblasti online map. Mapový server i API samozřejmě nabízí již hodně dlouho, takže jeho služby jsou v mnoha směrech nejvyzrálejší. API je neustále vyvíjeno a pracuje se na jeho třetí verzi.

Mapy

Není dobré se však nechat unést jeho možnostmi. Je nutné zaměřit se i na jiné rysy, důležité pro náš záměr. Mezi takové patří například skutečnost, že do češtiny začala být služba lokalizována až nedávno. Dnes je již sice míra integrace map do českého prostředí na velmi dobré úrovni, ale z hlediska mapových podkladů má jednu velkou, již zmíněnou mezeru – turistická data. Google poskytuje mapy globálně a proto se mu v nich velmi špatně odráží specifika jednotlivých zemí. K dispozici jsou sice terénní mapy s vrstevnicemi, ale neexistuje možnost zobrazit na nich české turistické trasy a cyklostezky.

Jinak jsou podklady kvalitní, i když někdy méně přesné, než u lokálních mapových služeb. Google používá kombinaci několika zdrojů geografických map, přičemž většinu českých podkladů získává od dodavatele GEODIS Brno. Předností map je samozřejmě dostupnost podkladů pro celý svět a lákavá je rovněž představa možného budoucího napojení aplikace např. v podobě vrstvy na program Google Earth.

Mapy.cz

Mapy.cz byly prvním ryze českým projektem v oblasti nových online map a dodnes jsou lídrem lokálního trhu. Stejně jako za Google Maps stojí i za těmito mapami silná společnost. Budoucnost serveru a případný další vývoj API je celkem jistý. Seznam.cz se na rozdíl od všech ostatních českých portálů profiloval po vzoru Google spíše do společnosti, jež svou budoucnost spojuje s technologickým pokrokem, než do mediálního vydavatelství jako například Centrum Holdings. Odhadnutelné záměry potvrdili nedávným uveřejněním zprávy o vývoji nového API.

Současný stav API je ale celkem nešťastný. Aplikační rozhraní nabízí jen omezenou škálu funkcí, omezené mapové podklady oproti službě Mapy.cz a samotná práce s funkcemi API působí na vývojáře poněkud těžkopádně. Jeho licenční podmínky navíc nejsou tak volné jako u ostatních API a požadují registraci klíče nikoliv na doménu, ale přímo na unikátní URI, kde se má mapa nacházet. To jej pro tvorbu složitější aplikace prakticky vyřazuje ze hry. V podmínkách je také omezení na 1000 zobrazení denně a zákaz provozu map pro komerční užití, což v rané fázi projektu není velkou překážkou, ale pro budoucí rozvoj projektů ano.

Mapy

Nové API čtvrté verze vyvíjí v Seznam.cz Ondřej Žára, autor povedeného nástroje pro tvorbu databázových schémat, WWW SQL Designer. Bohužel rozhraní je zatím stále dost nestabilní a podle autorových slov v diskusi ani jemu stále ještě nejsou známy nové licenční podmínky. Ve výše zmíněné diskusi postupně přibývají oznámení o nových funkcích, takže se možná nového API jednou opravdu dočkáme. Kdy to však bude a za jakých podmínek bude k dispozici, to zatím nikdo neví.

Mapy.cz jsou připraveny kombinací geografických dat od PLANstudio a GEODIS Brno. Turistická mapa je nejkvalitnější podobnou mapou na českém internetu – za její asi nejpodstatnější nevýhodu by se dala chápat absence velkého měřítka (turistickou mapu lze, na rozdíl od té na Amapy.cz, přiblížit jen do poměrně omezených podrobností). Seznam.cz ji poskytuje na základě dat společnosti SHOCart, která je známa svými papírovými turistickými a cyklistickými publikacemi. Je škoda, že nepoužitelné API v tomto případě brání využít tak kvalitní podklady.

Amapy.cz

Amapy.cz se na svět dostaly v roce 2006 pod hlavičkou portálu Atlas.cz. Ihned po představení bylo jasné, že se s nimi musí na českém trhu počítat – zpracování bylo profesionální a spolu s mapami přišlo i první, na funkce bohaté, dobře dokumentované české mapové API. Vývoj však postupně ustával a po tom, co byl Atlas.cz sjednocen s Centrum.cz pod hlavičku Centrum Holdings, nelze již kolem API pozorovat vůbec žádnou činnost ze strany provozovatele. Celou službu původně zpracoval Daniel Steigerwald, který mé doměnky de facto potvrdil.

Mapy

API je však opravdu velmi dobře použitelné a mapové podklady kvalitní, připravené ve spolupráci s firmou DPA. I přes API lze dokonce zobrazovat vrstvy s turistickými a cyklistickými značkami a už i zcela základní mapa disponuje vrstevnicemi. Aplikační rozhraní nabízí funkce, jež nelze najít ani u Google Maps API a podporuje několik souřadnicových systémů naráz, což je výhodné při spolupráci s jinými službami (každá požaduje body v jiném formátu).

Specifikem API je integrovaný JavaScriptový framework MooTools 1.11. Výhodou je, že po vložení API do stránky lze přímo využít všech výhod frameworku a není nutné nějaký připojovat dodatečně. Nevýhodou je nemožnost vlastního výběru frameworku a také ustrnutí vývoje API, protože v důsledku toho nebyl průběžně framework obnovován a zůstal v API ve verzi 1.11, ačkoliv nedávno byly MooTools vydány již ve velmi odlišné verzi 1.2.4. Jiným zářným příkladem zastarání budiž kompatibilita s Internet Explorerem 8. O tom nemá původní kód API nejmenší tušení, takže se jeho funkčnost musí řešit přes meta tag s X-UA-Compatible.

Otevřený projekt OpenStreetMap

OpenStreetMap je otevřený projekt, který se snaží vytvořit volně dostupná geografická data. Získává je integrací dat z různých zdrojů a především individuálním sběrem dat pomocí GPS zařízení. Mnoho institucí, organizací a dokonce i firem uvolnilo svá data pod licencí kompatibilní s OpenStreetMap, aby tomuto projektu pomohli.

Kvalita mapových podkladů pro ČR však není zrovna nejlepší a pro účely aplikace, která to se svým záměrem myslí vážně, se moc nehodí ani forma jejich zobrazení. Mapy sice obsahují například polohu sloupů elektrického vedení nebo přesné hranice lesů, jenže vrstevnice nebo turistické značky a cyklostezky nepodporují.

OpenStreetMap je zajímavý počin a do budoucna možná perspektivní, ale jeho nasazení v aplikaci se nedá příliš doporučit. Je uveden pro úplnost jako zajímavý alternativní a otevřený zdroj geografických dat, jenž by v budoucnosti mohl nabýt na relevanci.

Vyhlídky

Jak je naznačeno v úvodních odstavcích, v oblasti turistických map je to takové nešťastné. Google Maps nám nabízí možnosti, o jakých jsme ani nesnili, ale v podkladech najdeme jen zeleně podbarvené vrstevnice. Seznam.cz sice vyvíjí perspektivní API, ale kdy bude vydáno a za jakých podmínek, to nevíme. To současné je pro reálný projekt v podstatě nepoužitelné. Amapy.cz by svými funkcemi a dobrými podklady měly situaci zachraňovat, ale když se na API podíváme blíž, zjistíme, že z jeho dokumentace musíme sfouknout prach a mezi zdánlivě nablýskanými ovládacími prvky mapy musíme vymést pavučiny.

Současné aplikace většinou používají Google Maps a spoléhají se, že uživatelům bude stačit ortofotomapa. Území Česka a Slovenska má ale jednu z nejdokonalejších a nejhustších sítí turistického značení a tyto trasy jsou bez diskuse něčím, co nesmí na takto cílených mapách chybět. Podobné značení má také Polsko, ale jinak je takováto síť světově unikátní. Pokud chceme poskytovat možnost zobrazení těchto tras, musíme tedy využít lokálního poskytovatele. Jejich současná řešení však na seriózně míněný projekt použít nelze.

Světlo na konci tunelu můžeme spatřovat v API od Seznam.cz. Nepovažuji za pravděpodobné, že by Google začal podporovat české turistické značení a nemyslím si, že Centrum Holdings bude investovat do nového mapového API. Dokud nebudou dostupné plnohodnotné české turistické mapy, budou provozovatelé projektů v bezvýchodné situaci a uživatelé svázáni možnostmi současných Google Maps. Nevzniknou žádné české startupy a cílová skupina se nepřestane přesouvat k celosvětovým službám, které sice nemají ani to turistické značení, ani nehovoří česky, ale nabízí stejné mapy (Google) a navrch existující komunitu, prověřené zázemí a propracované funkce. Ujede nám zase vlak?

Komentáře

Subscribe
Upozornit na
guest
20 Komentářů
Nejstarší
Nejnovější Most Voted
Inline Feedbacks
View all comments
wmp

Hezké srovnání mapových API, se kterým můžeme jen souhlasit. Když jsme budovali http://www.tourmapy.cz, tak jsme se nakonec rozhodli, že návštěvníkům nabídneme mapy od Atlasu i Googlu s tím, že od Atlasu se spouštějí primárně, neboť nabízejí turistické a cyklotrasy, které jsou pro uživatele velmi důležité. Ideální by bylo vzít mapové podklady od Atlasu a použít je v API od Googlu, což bohužel ale naráží na licenční podmínky Atlasu (Googlu to nevadí..:-) V mapách zakreslujeme vlastní liniové objekty (např. trasy pro inline bruslení, hippotrasy) a musíme konstatovat, že v tomto ohledu je API Googlu mnohem propracovanější, proto se to i na jejich podkladu vykresluje rychleji..:-)

Vít Pechanec
internet project manager
World Media Partners
ww.wmp.cz

Jáchym

Na rozdíl od autora vidím budoucnost právě v platformě OpenStreetMap. Řekl bych, že projekt je autorem nepochopen.

OpenStreetMap je platforma pro sběr geodat. API k OpenStreetMap je určeno k tomu, aby uživatelé stahovali čerstvá data a uploadovali data upravená – vše jako vektory (XML ve formátu OSM). O žádném zobrazování dat ve vlastních aplikacích není řeč. Filosofie je taková, že uživatel stáhne dataset OSM určitého území (vesnice, stát, kontinent, …), zkonvertuje jej do formátu, který je mu a jeho nástrojům blízký (shapefile, postgis, …) a používá jej – ať už na desktopu, webu nebo přímo ve formátu GARMIN. Vzhled se vůbec neřeší – záleží na aplikaci.

Jedna z možností, jak zobrazit data z OSM na webové stránce, je nastavení OGC WMS serveru (nebo využití už existujícího) a např. pomocí javascriptové knihovny OpenLayers http://openlayers.org si je zobrazí ve své stránce – a OpenLayers, to je to, co lze srovnávat s GoogleMaps, Mapy.cz a spol. – ale i tak: OpenStreetMap nemají Api pro zobrazování dat na webu, OpenLayers nemají data, ale dohromady to funguje skvěle (a nerad to říkám, ale asi o 500% líp, než Google Maps).

A co do turistických informací v OSM: Jsou tam. Turistické značky přibývají – pomalu, ale jistě, nezbývá než vyzvat ctěné čtenářstvo, aby přispělo. To, že se nerenderují na http://openstreetmap.org nic neznamená – každý si může vyrenderovat mapu, jakou chce (jsou na to asi 4 nezávislé nástroje) Viz. http://opentrackmap.no-ip.org/.

Jáchym

Možná ne v českém startupu, ale pro evropské projekty jsou dobrá až dost :-) – pravda, o turistické značky zase tolik nejde (výšková data se kombinují z jiných zdrojů).

Abyste si byli schopni udělat představu o tom, jak ta data opravdu vypadají, musíte si stáhnout editor OSM dat (např http://josm.openstreetmap.de/), a stáhnout si data z určitého území (a opravdu ne celou ČR – na to asi nebudete mít dost paměti). Tam uvidíte data taková, jaká opravdu jsou a co se z nich dá vyrazit.

P.S. JOSM opravdu nemám rád, ale nic lepšího na OSM jsem zatím neviděl.

David Ondřich

Připravuju pro Zdroják článek o API dostupných pro ArcGIS Server, kde se pokusím taky o srovnání OL a dostupných WMS služeb s tím, co může nabídnout ESRI, resp. její české zastoupení.

Hlavně jsem ale chtěl podotknout, že: problém s turistickými značkami, stejně jako cyklostezkami, je AFAIK v tom, že se o data nikdo nestará. KČT se sice holedbá, jak máme hustou síť značek, ale není schopná se dohodnout s nikým, kdo by se staral o aktuální data – něco dělají jednotlivé kraje, něco T-Mapy, něco ShoCart (a nejspíš i někdo další, o kom nevím). Všichni si svoje kousky chrání a chtěli by je především prodávat. Hm.

m&m

S tim se da jen souhlasit.
Kdysi davno kdyz jsem pracoval ve statni sprave tak jsem meli nejaka vlastni data pro uzemi(turistika, cykloturistika a tak). Zadny zazrak, ale nic lepsiho nikdo nemel.
Ale sranda byla v tom, ze je nikdo nechtel. Jo ShoCart si je vzal, neco z toho mozna pouzil. Kraj to dostal na stribrnem podnosu, nezajem, ani to neuploadli na mapovy portal. KCT a vydavani map nejmenovanou firmou, nestesti. Nevedeli co to je a k cemu je to dobre, jen chteli cmarikovat do papirovych mapicek.
Mel jsem takovy pocit jak hazet perly svinim :-)

Jinak ohledne pouziti WMS na webu. Chvili jsem se v tom hrabal. Koukal na ArcGIS Server, Minesotu, ale pro web jsem skoncil u Google map. Skvele API a hlavne je to pekelne rychle, jak nic ostatniho. Pro zakladni veci to bohate staci, pokud pouzijete jako prohlizec Chrome, tak by clovek neveril, co toho js umi zvladnout :-)

Jáchym

Jo, srovnání OpenLayers (co bude na pozadí? MapServer? GeoServer?) a ESRI API, to by mě hodně zajímalo!

tomas

OSM je pěkná věc. Musím ale reagovat na těch 500%. V čem je OL+OSM o tolik lepší než GMaps? V komfortu ovládání mapy (rychlosti) OpenLayers výrazně pokulhává.

Petr

Jáchyme,

byl byste ochotný udělat něco podobného „osvětového“ s OSM? Nejen já bych to uvítal. Google Maps není vše. Já vím, že zítra už to bude k ničemu, ale někdo to musí rozjet :-). Jestli to čte i pan šéfredaktor Zdrojáku Malý, tak na něj taky zatlačte ;-) – my (já sobecky) to chcem! Prosím.

Děkuji,

Petr

Martin Malý

Na mne netřeba tlačit, já takový článek rád uvítám!

xpckar

Článek taky chválím, a trochu něco okomentuju:

„Současný stav API je ale celkem nešťastný. Aplikační rozhraní nabízí jen omezenou škálu funkcí, omezené mapové podklady oproti službě Mapy.cz a samotná práce s funkcemi API působí na vývojáře poněkud těžkopádně. Jeho licenční podmínky navíc nejsou tak volné jako u ostatních API a požadují registraci klíče nikoliv na doménu, ale přímo na unikátní URI, kde se má mapa nacházet. To jej pro tvorbu složitější aplikace prakticky vyřazuje ze hry. V podmínkách je také omezení na 1000 zobrazení denně a zákaz provozu map pro komerční užití, což v ranné fázi projektu není velkou překážkou, ale pro budoucí rozvoj projektů ano.“
= Přesně. Přičemž Seznamu se vytýká i to, že mohl nakrásně hned od počátku stavět alespoň na částečný (základní funkce) kompatibilitě s GMaps, a vyprd se na to. Jeho API je zcela nekompatibilní s ničim, a tudíž aplikace (k jednoduššímu účelu), která by API přepínala dle potřeby, aktuální kvality podkladů toho a onoho, je nemožná. + samozřejmě ona debilní licence, která se nehodí vůbec k ničemu. A protože nový API půjde, i kdyby se licenčně probudili, evidentně stále zcela svou cestou, nemá se cenu mapy.cz vůbec zabývat.

Jáchym

No, a to ještě Seznam používá zcela jiný souř. systém map, než velcí hráči (google, yahoo, ms), takže kombinace těchto zdrojů do jedné mapy je sice možná, ovšem bez seznamu ;-)

Daniel Steigerwald

Jó to byly časy ;) Díky autorovi za zmínku, pěkný článek.

Marek Prokop

Nějak jsem nepochopil tu úvahu v závěru, proč za dané situace nemohou vznikat nové projekty? Jestliže ve stávajících řešeních něco chybí, pak přeci naopak mohou vznikat startupy velmi dobře.

Mně taky turistické trasy na mapách Googlu chybí a už jsem i přemýšlel, že se do toho dám sám, ale po krátkém průzkumu jsem to pustil z hlavy. Řešení je totiž relativně jednoduché a nápad vcelku evidentní, takže by mne při mém tempu určitě někdo předběhl. Raději si proto počkám, až to někdo udělá.

Marek Prokop

Data jdou koupit, nebo získat z terénu. Nákup by byl zřejmě podstatně levnější a hlavně rychlejší. Stále se mi nedaří ale pochopit, jak o tom vlastně uvažujete. Jedna díra na trhu (mashup) by šla zaplnit, až někdo zaplní jinou díru (API)? No tak pak je přeci právě ta druhá díra tou ideální příležitostí, ne? Brání Vám něco takové API udělat?

Nejsem si jistý, zda existuje nějaká univerzální kvalita turistické mapy. Mapy.cz a AMapy.cz jsou dost mizerné „papírové“ mapy jejichž jedinou výhodou proti těm skutečně papírovým je to, že jsou k nahlížení zdarma. Možná mají ještě nějakou výhodu, ale teď si na žádnou nemohu vzpomenou, takže pokud vůbec existuje, asi nebude moc podstatná.

S googlím API by naproti tomu šla vytvořit aplikace, která by mohla být mnohem víc než jen prostá a v terénu naprosto nepraktická kopie papírových map.

Marek Prokop

OK, už si asi rozumíme.

Jen ještě k těm papírovým mapám. Papírové mapy jsou samozřejmě výborné, ale když se z nich udělají on-line mapy, o většinu svých výhod přijdou. Je to totéž, jako kdyby se zpravodajské servery vytvářely skenováním papírových novin.

Georgik

Pekné rozhranie postavené nad OpenStreetMap, má napríklad projekt http://www.freemap.sk/ , nájdete tam aj vrstvu geokešiek a je podstatne rýchlejšia než geocaching.com ;)

No a turistická sekcia je na adrese: http://turistika.freemap.sk/

Alex

Informace o tom, že zde chybí CZ alternativa k zahraničním projektům jako MapMyRun, Bikemap,… není tak docela pravdivá.
Už cca 1 rok existuje projekt Trekview na http://www.trekview.cz . Je to poměrně obsáhlá aplikace, která je jako jedna z mála postavena na API mapy.cz, tzn využívá jejich turistické mapy. Systém umožňuje nejenom prohlížení už projetých cest, ale i on-line plánování cest nových bez jakéhokoliv omezení na silniční síť. Rovněž obsahuje databázi nadmořských výšek (po naplánování nové trasy je možné zobrazit její výškový profil), sdílený archiv tras a spoustu dalších funkcí. Myslím, že jako jediný také umožňuje zobrazení tras jak v mapách Google, Mapy.cz tak i OpenstreetMaps a to včetně map leteckých. Kupodivu je tam i celkem podrobná nápověda.
Je škoda, že se o této aplikaci nic moc neví, protože se podle mého názoru co do funkčnosti plně vyrovná zahraničním projektům, ale navíc obsahuje skvělé turistické CZ mapy.

Enum a statická analýza kódu

Mám jednu univerzální radu pro začínající programátorty. V učení sice neexistují rychlé zkratky, ovšem tuhle radu můžete snadno začít používat a zrychlit tak tempo učení. Tou tajemnou ingrediencí je statická analýza kódu. Ukážeme si to na příkladu enum.

Pocta C64

Za prvopočátek své programátorské kariéry vděčím počítači Commodore 64. Tehdy jsem genialitu návrhu nemohl docenit. Dnes dokážu lehce nahlédnout pod pokličku. Chtěl bych se o to s vámi podělit a vzdát mu hold.