Cs:Develop
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:
- Vývojem samotné platformy OpenStreetMap. To zahrnuje web OpenStreetMap.org a související komponenty a služby.
- Využíváním OpenStreetMap. Data a služby OSM můžete kombinovat se softwarem a nástroji komunity a vytvořit prakticky cokoliv.
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]
- Další kontaktní kanály, včetně oficiálního fóra
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].
- [[15](https://github.com/openstreetmap/openstreetmap-website) Zdrojový kód]
- Hlášení chyb: [[16](https://github.com/openstreetmap/openstreetmap-website/issues) GitHub] (pro provozní problémy viz Contact#Systems administrators)
CGImap (C++)
Obsluhuje editing API.
- [[17](https://github.com/zerebubuth/openstreetmap-cgimap) Zdrojový kód]
- Hlášení chyb: GitHub repozitář projektu
Vyhledávání a geokódování Nominatim
- Domovská stránka
- Zdrojový kód
- Hlášení chyb na GitHubu projektu
Desktopový editor JOSM (Java)
JOSM je jeden z nejpopulárnějších a nejvýkonnějších editorů OSM.
- [[18](https://josm.openstreetmap.de/wiki/DevelopersGuide) Průvodce pro vývojáře]
- Zdrojový kód a systém pro hlášení chyb na webu projektu
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“.
- [[19](https://github.com/openstreetmap/iD) Zdrojový kód]
- Hlášení chyb na GitHubu
Výchozí styl mapy na OSM.org
- Hlavní článek: Standard tile layer
- [[20](https://github.com/gravitystorm/openstreetmap-carto) Zdrojový kód]
- Hlášení chyb na GitHubu
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:
- Neoficiální repozitář komunitních projektů: https://codeberg.org/osmcz
- Oficiální forge server: https://openstreetmap.cz/git/explore/repos
- Komunitní GitHub organizace: https://github.com/osmcz
- a další....
Související témata
- Google Summer of Code a NLnet – programy, které mohou finančně podpořit přispěvatele open-source projektů včetně OSM.
- Vývoj OpenHistoricalMap, který vychází z forků mnoha výše uvedených projektů.
Externí odkazy
- [[22](https://community.openstreetmap.org/t/good-open-source-projects-for-new-contributors/104479) Diskuze o vhodných open-source projektech pro nové přispěvatele]