Jak zamienić spacer w commit i pomóc OpenStreetMap bez bólu
Czy kiedykolwiek spacerowałeś po swojej okolicy, zauważając, że Twoja ulubiona kawiarnia zamknęła się, ale nadal jest pokazywana na mapach? Albo że na Twoim podwórku zamontowano świetny plac zabaw, ale nawigacja nic o tym nie wie? Zazwyczaj na tym myślenie się kończy: zagłębianie się w otchłań edytorów OpenStreetMap (OSM) z ich tagami, warstwami i specyficzną składnią to wątpliwy sposób spędzania weekendowego wieczoru.
Projekt StreetComplete zmienia zasady gry. To aplikacja na Androida, która zamienia dopracowywanie danych mapowych w serię prostych zadań. Nie wymaga od Ciebie bycia specjalistą GIS ani znajomości tego, czym różni się amenity=cafe od shop=coffee.

Co to jest i dlaczego tego potrzebujesz
StreetComplete to open-source'owy edytor OSM zaprojektowany specjalnie do pracy w terenie. Główna idea polega na tym, że nie rysujesz geometrii budynków ani dróg (to łatwiej zrobić przy monitorze), ale zamiast tego wypełniasz mapę atrybutami.
Problem z większością map polega na tym, że szczegóły szybko się dezaktualizują. Nazwy ulic zmieniają się rzadko, ale takie rzeczy jak wyczuwalna nawierzchnia na przejściach dla pieszych, typ nawierzchni ścieżki w parku czy godziny otwarcia małego sklepu — te zmieniają się stale. StreetComplete znajduje takie „puste miejsca" i oferuje użytkownikom ich wypełnienie.
Jak działają zadania
Po otwarciu aplikacji pobiera ona dane o Twojej aktualnej lokalizacji i umieszcza na mapie ikony zadań. Każde zadanie to konkretne pytanie.
Na przykład:
- Czy ten budynek ma numer?
- Jaką nawierzchnię ma ta droga: asfalt, żwir czy kostka?
- Czy to przejście dla pieszych jest wyposażone w sygnał dźwiękowy?
- Czy to wejście ma podjazd dla wózków inwalidzkich?

Po prostu wybierasz odpowiednią opcję w interfejsie lub wprowadzasz tekst, a aplikacja sama tworzy poprawny changeset i wysyła go do bazy danych OSM w Twoim imieniu. Bez grzebania w XML czy skomplikowanych schematach tagowania.
Techniczna strona projektu
Projekt jest napisany w Kotlin i jest aktywnie rozwijany. Interesujące rzeczy w repozytorium:
- Architektura zadań. Każde zadanie to osobny moduł opisujący logikę pojawiania się pytania (filtr podobny do SQL na podstawie istniejących tagów) oraz formularz odpowiedzi.
- Praca offline. Aplikacja cache'uje dane, więc możesz spokojnie pójść do lasu, żeby mapować typy drzew czy nawierzchnie ścieżek, a edycje wysłać później w domu przez Wi-Fi.
- Pomiary AR. W najnowszych wersjach dodano możliwość mierzenia wysokości budynków lub szerokości dróg za pomocą rozszerzonej rzeczywistości.
Przy okazji, deweloperzy obecnie aktywnie przenoszą projekt na multiplatformę, żeby StreetComplete wreszcie pojawiło się również na iOS. To duża robota, którą możesz śledzić w zgłoszeniach repozytorium.
Dlaczego deweloperzy powinni na to spojrzeć
Jeśli szukasz projektu, do którego mógłbyś się przyczynić, StreetComplete to świetny kandydat. Po pierwsze, ma bardzo przejrzystą strukturę. Po drugie, próg wejścia jest niski: możesz zacząć od przetłumaczenia interfejsu lub stworzenia prostego zadania.
Dla tych, którzy po prostu chcą zrobić coś dobrego: to najszybszy sposób na ulepszenie OpenStreetMap. W przeciwieństwie do zastrzeżonych map, dane OSM należą do wszystkich. Twoje edycje trafią do Maps.me, Organic Maps, OsmAnd i tysięcy innych serwisów.
Kto to wykorzysta
Aplikacja najbardziej przypadnie do gustu tym, którzy dużo chodzą lub jeżdżą rowerem. Zamienia rutynową trasę w małą grę.
Oczywiście są ograniczenia. Nie będziesz w stanie dodać całkowicie nowego obiektu, którego jeszcze nie ma na mapie (na przykład domu, który właśnie został zbudowany). Do tego nadal będziesz musiał użyć pełnoprawnego edytora jak JOSM czy iD. Ale do „porządkowania" i aktualizowania danych w swojej okolicy, StreetComplete nie ma sobie równych.
Aplikację możesz pobrać ze Sklepu Google Play lub F-Droid. Jeśli chcesz zajrzeć do kodu lub zaproponować własne zadanie, zajrzyj do repozytorium na GitHub. Projekt żyje, commity pojawiają się codziennie, a społeczność chętnie pomaga nowicjuszom.
Powiązane projekty