OpenStreetMap

kubahahaha's Diary

Recent diary entries

Przegląd

W OSM mamy dokładne zasady opisywania szlaków turystycznych. Używamy tagu route=hiking. Postanowiłem się przyjrzeć szlakom w swojej okolicy.

Znam dwie aplikacje, które renderują wprowadzone szlaki, ale obie mają jakieś wady:

  1. mapy.cz (podkład turystyczny)
  • rzadko aktualizowane (czas trzeba liczyć w tygodniach)
  • szlaki renderują się tylko w dużym przybliżeniu
  • nie można wyświetlić szczegółów.
  1. hiking.waymarkedtrails.org.
  • szlaki nie wyświetlają się w swoich kolorach, tylko w zależności od ważności (tag network=lwn/rwn/nwn/iwn).

Stwierdziłem, że trzeba spróbować zrobić to w Overpassie :D

Renderowanie w Overpass

W pierwszej kolejności wybrałem wszystkie szlaki w jednym województwie: relation[route=hiking](area.searchArea);

Ale taki wygląd w niczym nie był lepszy, dlatego użyłem MapCSS i posłużyłem się tagiem colour=*

Wciąż nie byłem zadowolony - brakowało mi symbolu szlaku (tag osmc:symbol), no i te kółka w miejscu krótkich odcinków…

Za pomocą Overpass można wyświetlać jeden obiekt na wiele sposobów - za pomocą operatora out. Na Wiki jest ładna tabelka, która opisuje różne możliwości. Zastąpiłem out geom; przez out geom center; - w ten sposób każda relacja oprócz swojej geometrii jest reprezentowana przez środek ciężkości - to ten dodatkowy punkt chciałem wykorzystać:

node[route] {

text: eval("concat(tag('name'), ' - (', tag('from'), ' - ', tag('to'), ') - ', tag('ref'))");

icon-image: eval("concat('url', '("', 'http://osm.mueschelsoft.de/osmc/generate.pl?osmc=', tag('osmc:symbol'), '")')");

}

Nie spotkałem się do tej pory z takim użyciem Overpassa, ale za pomocą funkcji eval i concat można podstawiać do wartości dane z tagów. Używając narzędzia od Jana Michela udało mi się podstawić tag we fragment linku do ikony. Dołożyłem jeszcze etykietę z podstawowymi informacjami o szlaku i po uruchomieniu wszystkiego dostałem efekt o jaki mi chodziło.

Link do Overpass (wyświetlam tutaj tylko szlaki prowadzone przez różne oddziały PTTK).

Pisanie w Overpass nie jest proste, ale możliwości są bardzo duże.

Zabrałem się ostatnio za porządkowanie relacji stref płatnego parkowania. Zazwyczaj w uchwałach są one opisywane w np. taki sposób:

Od Mostu Kotlarskiego wzdłuż rzeki Wisły do linii kolejowej PKP PLK nr 91, wzdłuż linii kolejowej PKP PLK nr 91 do ul. Lubicz, wzdłuż ul. Lubicz (z wyłączeniem niniejszej ulicy) do Ronda Mogilskiego, od Ronda Mogilskiego wzdłuż al. Powstania Warszawskiego (z wyłączeniem niniejszej ulicy), wzdłuż ul. Kotlarskiej (po stronie numerów nieparzystych) do Mostu Kotlarskiego.

Brzmi jak coś dobrego do zaznaczenia na mapie. Odpowiednie tagowanie to relacja type=boundary, boundary=zone, zone=parking - w tej chwili 34 wystąpienia, wszystkie w Polsce.

Strefa B12 w Krakowie

Strefy często oznaczane są różnymi kolorami - jeśli uzupełnimy tagi colour=* możemy łatwo podejrzeć je na takiej mapce.

Bawiąc się tą mapką zauważyłem że ktoś już otagował w dokłądnie ten sam sposób Białystok. Można spróbować też z np. Lublinem, Szczecinem.

Walidacja danych

W Polsce wewnątrz stref zamieszkania wszystkie miejsca parkingowe muszą być w strefie. Oznaczone strefy możemy wykorzystać do poprawy tagowania przystanków, np. na takiej mapce:

na czarno zaznaczone będą parkingi z niepełnym tagowaniem, a na czerwono błędne - w tym przykładzie fee=no i access=yes na terenie strefy parkowania.

Poprawa przystanków ze starego tagowania

Posted by kubahahaha on 21 January 2022 in Polish (Polski). Last updated on 3 February 2022.

Zabrałem się ostatnio za poprawę przystanków oznaczonych dawno temu. Z dzisiejszej perspektywy błędne jest tagowanie węzłów highway=bus_stop na drogach - powinny być w miejscu oczekiwania.

W Polsce miejscem z wieloma takimi błędami jest Metropolia GZM. Poniżej opiszę jak ja poprawiam te błędy.

  1. Używam programu JOSM z wtyczkami CustomizePublicTransportStop i TODO list. Zaczynam bez żadnych danych w aktywnej warstwie JOSM.

  2. Pobieram błędne przystanki wybrane tym zapytaniem Overpass (Eksport -> załaduj do JOSM). Zapytanie może zwrócić za dużo wyników, każdy punkt trzeba przejrzeć ręcznie.

  3. W JOSM zaznaczam wszystkie pobrane punkty (ctrl+a) i dodaję je do zadań w oknie wtyczki TODO list.

  4. Nie zmieniając zaznaczenia wybieram plik -> Pobierz nadrzędne linie/relacje (ctrl+alt+d).

  5. Pobieram pozostałe elementy do edycji przystanków - tym zapytaniem Overpass (Eksport -> załaduj do JOSM).

  6. Przechodzę po kolei przez przystanki edytując je według tego schematu:

typ Obiekt tagi relacje
węzeł przystanek bus=yes
highway=bus_stop
name=…
public_transport=platform
wchodzi w skład relacji stop_area (platform)
i trasy autobusów (platform).
linia/obszar peron przystankowy highway=platform nie w żadnej relacji
węzeł punkt zatrzymania bus=yes
name=…
public_transport=stop_position
wchodzi w skład relacji stop_area (stop)
i trasy autobusów (stop).
relacja stop_area name=…
public_transport=stop_area
type=public_transport
 

Zaznaczanie peronu przystankowego jako obszaru lub linii nie jest konieczne. Piszę o tym tylko dlatego, że wiele przystanków korzysta z tego starego tagowania.