Cs:Develop

From OpenStreetMap Wiki
Jump to navigation Jump to search


OpenStreetMap nejsou jen otevřená data – je to také open source projekt a můžete se zapojit!

Do OpenStreetMap se můžete zapojit dvěma hlavními způsoby:

Kontakt

Máte otázky, nápady nebo se chcete spojit s dalšími vývojáři? Vývojářskou komunitu OpenStreetMap můžete kontaktovat přes následující kanály:

 ** kanál #osm-dev na síti OFTC
 ** [[1](https://lists.openstreetmap.org/listinfo/dev) Obecná vývojářská konference]
 ** [[2](https://lists.openstreetmap.org/listinfo/rails-dev) Vývoj webu OpenStreetMap.org]

Návody

Projekt https://github.com/bmgru/osmhike-tileserver obsahuje kompletní návod pro začátečníky, od základních principů až po pokročilé funkce.

Jde o zdokumentovaný krok-za-krokem příklad vytvoření vlastního tile serveru založeného na datech OSM, včetně vrstevnic a stínování reliéfu (hillshade).

Jak do sebe části zapadají

Kód, který pohání openstreetmap.org, je složen z nezávislých komponent, které společně poskytují API, Slippy Map a další funkce.

Rails port je aplikace v Ruby on Rails, která pohání openstreetmap.org – zde vznikají webové stránky OSM. CGImap obsluhuje API. Data OpenStreetMap („planet“) jsou uložena v PostgreSQL s rozšířením PostGIS a do mapových dlaždic je vykresluje Mapnik. Rozhraní Slippy Map – tedy možnost posouvat a přibližovat mapu – zajišťuje Leaflet.

Interně jsou nástroje jako osm2pgsql a osmosis nebo osmium klíčovou infrastrukturou pro převod OSM XML do PostGIS. Pracují s daty Planet.osm a dalšími výřezy, které umožňují dalším webům používat a šířit OSM data.

Uživatelé mohou přidávat a upravovat data díky open-source editorům jako iD, JOSM, Vespucci, Go Map!!, StreetComplete a dalším.

Existuje mnoho nezávislých projektů – například editor iD je [[3](https://github.com/openstreetmap/iD) samostatný projekt], jeho [[4](https://github.com/openstreetmap/id-tagging-schema) tagging schema] je oddělený repozitář. Toto schéma používá například [[5](https://github.com/streetcomplete/StreetComplete/blob/master/CONTRIBUTING.md#dependencies) StreetComplete] (přes projekt [[6](https://github.com/westnordost/osmfeatures) osmfeatures]) nebo [[7](https://github.com/bryceco/GoMap#external-assets) Go Map!!].

Různé projekty mohou spravovat různé týmy. Například MapComplete, RapiD a osm2pgsql mají odlišné vývojové týmy, plány i styl práce, i když se někteří přispěvatelé mohou překrývat.

Pozadí

Pro pochopení fungování OpenStreetMap je dobré seznámit se s jeho způsobem ukládání a úprav geografických dat. Projděte si XML schema, Data Primitives a Downloading data, pokud chcete pracovat s daty.

OpenStreetMap běží vzhledem ke své velikosti na relativně malé serverové infrastruktuře – podrobnosti najdete na stránce Server Hardware. K dispozici jsou také zrcadla API v0.6 a [[8](https://apis.dev.openstreetmap.org) vývojová a testovací API] pro testování aplikací komunikujících s OSM API.

Jak se zapojit

Mnoho projektů OpenStreetMap používá Git ([9](https://github.com/openstreetmap/) a [10](https://github.com/osmlab) hostují některé hlavní projekty), takže můžete jednoduše [[11](https://help.github.com/articles/fork-a-repo) forknout repozitář] a přispět změnami.

U větších úprav se může hodit získat účet na vývojovém serveru a provést důkladné testování.

Hlavní projekty

Web OSM Rails Port (Ruby)

Pohání web [12](https://www.openstreetmap.org/). Stránka Rails port obsahuje mnoho užitečných informací pro začátek. Je zde potřeba i pomoc s designem – viz Rails_port/UI pro rychlý úvod pro designéry. Noví uživatelé mohou také [[13](https://github.com/openstreetmap/openstreetmap-website/pulls) kontrolovat pull requesty] jako cvičení. Pomoci lze i s [[14](http://translatewiki.net/w/i.php?title=Special):Translate&group=out-osm-site překlady].

CGImap (C++)

Obsluhuje editing API.

Vyhledávání a geokódování Nominatim

Desktopový editor JOSM (Java)

JOSM je jeden z nejpopulárnějších a nejvýkonnějších editorů OSM.

Online editor iD (JavaScript)

iD je výchozí editor OpenStreetMap. Pomoci lze testováním, hlášením chyb nebo řešením úloh označených jako „new contributor opportunity“.

Výchozí styl mapy na OSM.org

Hlavní článek: Standard tile layer

Osmium (C++)

Osmium (Libosmium) je univerzální nástroj pro zpracování dat OSM. Umožňuje čtení a zápis dat a tvoří základ pro další projekty jako Osm2pgsql.

  • Dokumentace knihovny a zdrojový kód na GitHubu

Osmium Tool je příkazový nástroj pro převod mezi formáty, kontrolu souborů, aplikaci aktualizací a tvorbu výřezů dat.

[[21](https://osmcode.org/pyosmium/) Pyosmium] poskytuje Python vazby na Osmium a umožňuje snadnou aktualizaci lokálních kopií planet dumpů.

Osmosis (Java)

Univerzální nástroj pro zpracování OSM dat. Zvláště vítána je pomoc s dokumentací a testováním.

  • Zdrojový kód a mailing list pro hlášení problémů

osm2pgsql (C++)

Výkonný nástroj pro import OSM XML do PostGIS databází. Pomoc s dokumentací a testováním je velmi vítaná.

  • Zdrojový kód a hlášení chyb na GitHubu

GeoDesk (Java, Python, C++)

Rychlý a úsporný databázový engine pro analýzu OSM dat. Nabízí nástroje příkazové řádky i API pro více jazyků.

  • Zdrojové kódy a dokumentace dostupné online

Leaflet (JavaScript)

Poskytuje rozhraní Slippy Map. Vývojáři JavaScriptu mohou pomoci s optimalizací výkonu map na hlavní stránce.

  • Domovská stránka a GitHub projektu

Mapnik (C++)

Hlavní backend pro vykreslování map z OSM dat.

  • Domovská stránka, zdrojový kód a hlášení chyb online

Tirex

Systém pro vykreslování mapových dlaždic.

  • Zdrojový kód a dokumentace na GitHubu

A další…

Ekosystém OpenStreetMap zahrnuje mnoho dalších open-source projektů, které vítají přispěvatele. Ne všechny jsou zde uvedeny – podrobnější přehled najdete na stránce Software. Podívejte se také na stránku „About“ vašeho oblíbeného OSM nástroje – často tam najdete odkaz na repozitář, kde můžete přispět. Můžete také navštívit repozitáře české komunity OpenStreetMap:

Související témata

Externí odkazy