==========
Projekt OpenStreetMap.org byl inspirován úspěchem projektu Wikipedie,
-kdy množtví jednotlivců bylo často i po malých příspěvcích a bez
-direktivního řízení a plánu shopné vytvořit ucelené dílo strovanatelné
-s nejvěršími placenými encyklopediemi světa. Projekt OpenStreetMap
+kdy množství jednotlivců bylo často i po malých příspěvcích a bez
+direktivního řízení a plánu schopné vytvořit ucelené dílo srovnatelné
+s největšími placenými encyklopediemi světa. Projekt OpenStreetMap
umožňuje každému zájemci přispět k tvorbě mapy světa. Přitom data
jsou publikovaná pod licencí (ODbL), která umožňuje data využívat
i pro komerční účely a kombinovat mapový podklad i s vrstvami,
které není povolené kopírovat. V podmínkách použití je pouze
-vyžadované, aby byl každý uživatel mapy (papÃrovà nebo mapového
-portálu) informován o tom, že data (urÄ\8dità vrstva) pochází z projektu
-OpenStreetMap.org a dále pokud je ve vrstvě mapy získané zprojektu
+vyžadované, aby byl každý uživatel mapy (papÃrové nebo mapového
+portálu) informován o tom, že data (urÄ\8ditá vrstva) pochází z projektu
+OpenStreetMap.org a dále pokud je ve vrstvě mapy získané z projektu
provedena úprava/oprava musí být příslušná změna poskytnutá i do
původního/otevřeného projektu.
Motivace úkolu
==============
-Hlavním motivací této úlohy je seznámit studenty i s jinými otevřenými
+Hlavní motivací této úlohy je seznámit studenty i s jinými otevřenými
projekty než jsou přímo vlastní zdrojové kódy programů.
Přitom úloha umožňuje využít programátorské dovednosti a libovolné
technologie a vyzkoušet je při práci s velkými datovými objemy.
Vytvořte aplikaci, která dokáže spočítat součet délek všech úseků
určitého typu liniových staveb, vodních toků nebo železnic na území
-České republiky v databázi OpenStreetMap uložené k určititému
+České republiky v databázi OpenStreetMap uložené k určitému
datu na disk počítače.
Data vztahující se k území České republiky naleznete uložená
formátech. Jedná se o soubory:
- czech-republic-snapshot.osm.bz2 - data v textovém formátu XML,
- která jsou poté komprimované kompresí BZip2 (900MB, 13 GB před kompresí)
+ která jsou poté komprimovaná kompresí BZip2 (900MB, 13 GB před kompresí)
- czech-republic-snapshot.osm.pbf - data v binárním formátu Protocol Buffers (552MB)
Vytvořená aplikace musí umožnit zadat typ hledaných elementů
omezených kombinací jednoho klíče a jeho požadované hodnoty.
Například pro vyhledání všech úseků dálnic bude vstupním
-parametrem klíč highway a jeho hodnota motorway. Pro délu
+parametrem klíč highway a jeho hodnota motorway. Pro délku
vodních toků waterway=river, atd. Výstupem programu bude součet
délek všech úseků daného typu.
-Program může paramentry přijímat na příkazovém řádku nebo
+Program může parametry přijímat na příkazovém řádku nebo
s využitím grafického rozhraní, dialogu. Výstup může být
také pouze číslo vytisknuté na terminál.
služby nad aktuálními daty projektu OpneStreetMap.org. Odůvodnění
1) docházelo by k zbytečné zátěži komunitních serverů
-2) výsledeky pro novější, průběžně editovaná data nebude odpovídat
+2) výsledky pro novější, průběžně editovaná data nebudou odpovídat
referenčním hodnotám
-3) cílem je se seznámit a vyřešit práci s daty, ne jen zaslání
- dotazu do cizí služby
-
-Pokud budete k zpracování používat infsrastrukturu laboratoří,
-tak, prosím, nekopírujte data ani meziprodukty zpracování do svého
-domovského adresáře. Pokud budete pot5ebovat dočasné výsledky
-ukládat do souboru, použijte adresář /tmp. Do něj uložená data
-se ukládají pouze do pěměti RAM na dané stanici. Velikost je pak
-omezena přibližně na polovinu fyzické paměti stanice.
+3) cílem je se seznámit se s prací na velkými daty a ne jen zasílat
+ dotazy do cizích služeb
+
+Pokud budete ke zpracování používat infrastrukturu laboratoří, nekopírujte
+prosím data ani meziprodukty zpracování do svého
+domovského adresáře. Došlo by k překročení limitů přidělené kapacity na uživatele.
+Pokud budete potřebovat dočasné výsledky
+ ukládat do souboru, použijte adresář
+/tmp. Do něj uložená data se ukládají pouze do paměti RAM na dané stanici. Velikost
+je pak
+ omezena přibližně na polovinu fyzické paměti stanice.
Podpůrné informace pro řešení úkolu
===================================
Struktura dat projektu OpenStreetMap.org je ve své podstatě velmi jednoduchá.
-Svět je popsaný s využím následujících třech elementů
+Svět je popsaný s využitím následujících třech elementů
+:
- uzel (node) - definuje bod v prostoru (jeho zeměpisnou délku a šířku)
- cesta (way) - popisuje liniové objekty a hranice ploch/oblastí
(cesta přímo nedefinuje polohu, pouze se odkazuje na uzly, kterými prochází)
-- relace (relation) - sekupuje uzly a cesty podle určitého kritéria/příslušnosti
+- relace (relation) - seskupuje uzly a cesty podle určitého kritéria/příslušnosti
Ke každému elementu pak mohou být přiřazeny vlastnosti. Vlastnosti se definují
dvojicemi klíč, hodnota. Přitom pořadí klíčů nenese žádnou informaci, není
součástí databáze. Často se vlastnosti přiřazené k relaci týkají i všech
do ní zahrnutých cest a bodů.
-Pro jednoduchost nebude braný na tento přenos vlastností zřetel. Úkolem
+Pro jednoduchost nebude brán na tento přenos vlastností zřetel. Úkolem
je opravdu pouze vyhledat všechny cesty, které mají přímo nastavený
-daný klíč s požadovanou hodnotou. Délka se pak spočítá z rozílů poloh
+daný klíč s požadovanou hodnotou. Délka se pak spočítá z rozdílů poloh
všech bodů v rámci daného úseku.
K výpočtu rozdílu poloh, které jsou v databázi uloženy ve formě zeměpisných
souřadnic, je potřeba provést přepočet na vzdálenost mezi body pro nejkratší
-spojnici po zeském povrchu. Pro tento výpočet použijte některou vhodnou knihovnu.
+spojnici po zemském povrchu. Pro tento výpočet použijte některou vhodnou knihovnu.
Formát Protocol Buffers byl vytvořený firmou Google jako základní mechanizmus
pro předávání dat a požadavků mezi jejími službami. Jedná se o formát,