]> rtime.felk.cvut.cz Git - edu/osp-wiki.git/commitdiff
OSM: Drobné (převážně kosmetické) úpravy
authorMichal Sojka <sojkam1@fel.cvut.cz>
Wed, 15 Apr 2015 17:15:57 +0000 (19:15 +0200)
committerMichal Sojka <sojkam1@fel.cvut.cz>
Wed, 15 Apr 2015 17:15:57 +0000 (19:15 +0200)
cviceni/osm.mdwn

index bb6b6a345f24a50ba0c2b56c4284c797779a7a97..e8a052e591d0d65d94062862fa0eaf477671261b 100644 (file)
@@ -1,30 +1,33 @@
-[[!meta title="OpenStreetMap - Otevřená Geo Data"]]
+[[!meta title="OpenStreetMap  Otevřená Geo Data"]]
 
 [[!toc]]
 
 O projektu
 ==========
 
-Projekt OpenStreetMap.org byl inspirován úspěchem projektu Wikipedie,
+Projekt [OpenStreetMap.org][osmo] byl inspirován úspěchem projektu [Wikipedie][wp],
 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
+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čitá 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.
+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.
 
+[osmo]: https://www.openstreetmap.org/
+[wp]: https://www.wikipedia.org/
+[ODbL]: http://opendatacommons.org/licenses/odbl/
 
 Motivace úkolu
 ==============
 
 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ů.
+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.
 S výhodou lze použít otevřených knihoven a nástrojů, které komunita
@@ -42,36 +45,36 @@ určitého typu liniových staveb, vodních toků nebo železnic na území
 datu na disk počítače.
 
 Data vztahující se k území České republiky naleznete uložená
-v adresáři /opt/osm/data síťové instalace systému GNU/Linux
-na počítačích laboratoři. Snímek dat je k dispozici ve dvou
+v adresáři `/opt/osm/data` síťové instalace systému GNU/Linux
+na počítačích laboratoři. Snímek dat je k dispozici ve dvou
 formátech. Jedná se o soubory:
 
-- czech-republic-snapshot.osm.bz2 - data v textovém formátu XML,
+- `czech-republic-snapshot.osm.bz2` – data v textovém formátu XML,
   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)
+- `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élku
-vodních toků waterway=river, atd. Výstupem programu bude součet
+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 parametry přijímat na příkazovém řádku nebo
-s využitím grafického rozhraní, dialogu. Výstup může být
+s využitím grafického rozhraní. Výstup může být
 také pouze číslo vytisknuté na terminál.
 
 
 Požadavkem je, že hodnota bude spočtena z předložených dat.
 S daty je možné pracovat a program předvést i na svém počítači
 nebo vzdáleném systému. K výpočtu však nesmí být použité online
-služby nad aktuálními daty projektu OpneStreetMap.org. Odůvodnění
+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ýsledky pro novější, průběžně editovaná data nebudou odpovídat
-   referenčním hodnotám
-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
+1. docházelo by ke zbytečné zátěži komunitních serverů,
+2. výsledky pro novější, průběžně editovaná data nebudou odpovídat
+   referenčním hodnotám,
+3. cílem je si vyzkoušet práci s 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
@@ -85,14 +88,16 @@ je pak
 Podpůrné informace pro řešení úkolu
 ===================================
 
+Struktura dat
+-------------
+
 Struktura dat projektu OpenStreetMap.org je ve své podstatě velmi jednoduchá.
-Svět je popsaný s využití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í
+- 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) - seskupuje 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í
@@ -104,10 +109,16 @@ 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 rozdílů poloh
 všech bodů v rámci daného úseku.
 
+Výpočet vzdálenosti
+-------------------
+
 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 zemském povrchu. Pro tento výpočet použijte některou vhodnou knihovnu.
 
+Protocol Buffers
+----------------
+
 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,
 který umožňuje serializovat datové struktury existující v paměti nějakého
@@ -118,22 +129,20 @@ struktur. Pro efektivní uložení dat formát přímo s daty nepřenáší pojm
 a popis struktury dat. Proto, aby data mohla být uložena a poté správně
 interpretovaná musí obě strany znát schéma/strukturu datového modelu.
 
-Více o vlastním formátu na Wikipedii
-
-  http://en.wikipedia.org/wiki/Protocol_Buffers
+[Více o vlastním formátu na Wikipedii](http://en.wikipedia.org/wiki/Protocol_Buffers).
 
 Použití formátu Protocol Bufferes pro data projektu OpenSteerMap.org
-je popsané na stránce
-
-  http://wiki.openstreetmap.org/wiki/PBF_Format
+je popsané na [wiki projektu OpenSteerMap](http://wiki.openstreetmap.org/wiki/PBF_Format).
 
-Strojově čitelné schéma popisující konkrétní strukturu dat OSM
-je spravované v rámci projektu OSM-binary na serveru GitHub
+Strojově čitelné schéma popisující konkrétní strukturu dat OSM je
+spravované v rámci projektu
+[OSM-binary na serveru GitHub](https://github.com/scrosby/OSM-binary/tree/master/src).
 
-  https://github.com/scrosby/OSM-binary/tree/master/src
+XML
+---
 
 K dispozici jsou i data ve formátu XML. Zpracování/načtení přibližně
-20x většího objemu dat a převod z textové reprezentace do interní
+20× většího objemu dat a převod z textové reprezentace do interní
 reprezentace může práci s daty v tomto formátu výrazně prodloužit.
 Limit pro získání výsledku od zadání požadavku během cvičení bude
 omezený (předběžný předpoklad půl hodiny).