area:highway

https://wiki.openstreetmap.org/wiki/Tag:area:highway%3Dfootway
https://wiki.openstreetmap.org/wiki/Tag:area:highway%3Dcycleway

Proszę o przejrzenie i informację zwrotną czy jest to wszystko zrozumiałe. Moim celem jest przeforsowanie na Githubie renderowania area:highway=footway/ cycleway na stylu domyślnym w ten sam sposób, w jaki obecnie wyświetlana jest kombinacja highway=footway + area=yes, dzięki czemu w przyszłości być może to nieprawidłowe tagowanie zniknie.

Pewnie pamiętacie tę wielką bitwę na posty z zeszłego roku pomiędzy @Maraf24 a @Rowers2, gdzie wykłócali się oni czy drogi pieszo-rowerowe tagować za pomocą jednej linii czy dwóch. Stanęło na tym, że można i tak i tak, dlatego dodałem do tabelki obie metody :slight_smile:

@d3mol3k
Błagam, tylko nie area:highway=path! :wink: Zawsze byłem za tym aby highway=path zostawić dla wydeptanych dzikich dróżek (do tego przecież służy ten tag), wykorzystanie go do dróg pieszo-rowerowych jest dla mnie jakimś dziwacznym, niezrozumiałym wymysłem. Nie rozszerzajmy tego problemu przy okazji area:highway=*. Jeżeli drogi z dopuszczonym ruchem rowerowym oznaczamy jako “area:highway=footway” + “bicycle=yes”, to nie mam żadnych wątpliwości że prawidłową kombinacją dla dróg z powyższym znakiem powinno być “area:highway=footway” + “bicycle=designated”

Zaraz bo pewnej rzeczy nie rozumiem:
w josm korzystamy z tagów dla współdzielonych dróg dla pieszych i rowerów w taki sposób:
bicycle=designated
foot=designated
highway=path
segregated=no

to adekwatnie wychodziłoby dodawać taki tag w area:highwey=path (jak wyżej napisałem)

Kwestia tego, że tag “footway” jest w przypadku tych współdzielonych dróg dużo bardziej intuicyjny niż “path” oraz tego, że łatwiej jest dodać do obszaru 2 tagi niż 4.

Myślę że najlepiej będzie jeśli @Marek Kleciak się wypowie w tej kwestii jako autor specyfikacji. Jak wszystko ustalimy, dodam do obu stron tabelki z “example tagging”.

I jeszcze jedna kwestia - skoro uznajemy że kombinacja “highway=footway” + “area=yes” jest błędna, bo poprowadzenie linii highway po obrysie rozwala routing, to chyba to samo powinno tyczyć się tagu highway=pedestrian, gdzie jednak tagowanie jako obszar jest dozwolone? Mogę zrobić na Wiki OSM stronę dla tagu area:highway=pedestrian, ale lepiej byłoby, gdyby ktoś najpierw wyjaśnił tę kwestię na liście Tagging. Może ktoś z Was się tym zająć?

Już zostało dawno ustalone, że highway=path nie jest dla wydeptanych ścieżek. To określa surface.

Wszystkie te 3-4 tagi czyta się razem, a nie osobno. Ogólniej - interpretowanie tagów poprzez trzymanie się słownikowego znaczenia słów użytych w nazwie klucza i jego wartości jest w wielu przypadkach skazane na porażkę. To nie tak działa w OSM.

W ramach area:highway te drogi sobie można oznaczać jak się chce, nie ma obowiązku trzymania się wartości z klucza highway. Osobiście wybrałbym coś jak “footway_and_cycleway”, “shared_path” itp.

Nie uznajemy tego tagowania ze błędne, chyba że przepchniesz taką propozycję na liście tagging.
Jeśli rozwala to gdzieś routing, to jest to problem routera, który widocznie nie rozumie lub celowo ignoruje tag area=yes.

Obszarowy footway, pedestrian, service a nawet zdarza się residential nie jest ani dozwolone, ani zabronione- to jest po prostu stosowany przy wielu mapujących sposób tagowania takich obszarów “uświęcony” poprzez rendering na osm-carto. Choćby z tego ostatniego powodu jest to nie do ruszenia.

Nie jestem pewien ale jeśli area:highway będzie miało inny tag niż linia highway z która musi się przeciąć - wywalało będzie informację że jest błąd w tagowaniu tego area.

Oraz czy mógłby ktoś wyjaśnić, jaką korzyść mielibyśmy, mając różne wartości highway i area:highway dla tej samej drogi?

Dobrze byłoby gdyby ktoś obyty z a:h=* przejrzał cały zestaw i wskazał co ewentualnie można by poprawić:

Wątpliwości mam w 4 kwestiach:

  • Czy strony nie są aż za bardzo przeładowane obostrzeniami, tak, że odniesie to skutek odwrotny do pożądanego (dla przeciętnej osoby będzie to “tl:dr”?)
  • Duplikowanie tagów z linii do obrysów (np. poprawnie otagowana nierozdzielona ścieżka dla pieszych i rowerów to co najmniej 4 tagi - czy wszystkie one powinny pojawić się też w obrysie? We wstępnej wersji artukułu jako poprawne dałem sam tag a:h=path)
  • Rozróżnienie pomiędzy nierozdzieloną ścieżką dla pieszych i rowerów, a chodnikiem z dopuszczonym ruchem rowerowym (dla pierwszego przypadku przewiduję tag a:h=path, dla drugiego kombinację a:h=footway + bicycle=yes)
  • Poprawność językowa

Konsument danych chciałby mieć te tagi dostępne od razu i za darmo - czyli na obrysie.
Mapujący nie chcialiby tak duplikować danych i potem pilnować, czy się nie zdeaktualizowały.

Nie ma tu dobrego rozwiązania.

Jak dla mnie, logiczne jest:

  • highway=footway + bicycle=yes - chodnik z dopuszczonym ruchem rowerów (znak C-16 z tabliczką T-20)

  • highway=footway + bicycle=designated - droga dla rowerów i pieszych (znak C-13/C-16) z poziomym podziałem)

@rmikke

ok

liniowo dla takiego przypadku przewidziana jest kombinacja highway=path z 3 innymi tagami (zobacz: https://wiki.openstreetmap.org/wiki/Tag:highway=path#Usage_as_a_universal_tag)), więc dla obrysu również powinien być to tag area:highway=path. I tutaj znowu powracamy do kwestii czy duplikować z linii do obrysu te pozostałe 3 tagi.

Odpowiedzią na to pytanie będzie ustalenie, czy docelowo te obrysy a:h=* mają mieć wyłącznie funkcję wizualną, czy też routing (np. sygnalizowanie korzystającemu z gps rowerzyście, że jedzie po chodniku, kiedy tuż obok ma ścieżkę rowerową). Bo:

  • jeżeli uznajemy że ma to tylko ładnie wyglądać, to wystarczy do tego jeden tag (a:h=footway/cycleway/path/pedestrian)
  • jeżeli ma to służyć również do routingu po obszarze, to program musi skądś wiedzieć jakie panują na nim zasady, a więc potrzeba zduplikowania tagów z linii

Co o tym sądzicie?

Z tego co wiem i do tej pory stosowałem to:

area:highway=highway - bez zbędnych atrybutów. Ważne by linia area:highway przecinała się z każda linią highway. Kiedy przecinała się tylko z linią highway w dwu punktach (musi) zostawiamy tylko tag area:highway=highway, jeśli natomiast przecinała się z inną linia highway (drugą i więcej) otrzymywała tylko dodatkowo tag junction=yes/y_junction/roundabout - dla ronda i mini ronda.
Dla przejść dla pieszych - w ich miejscu nie stosowałem oddzielnego pola area:highway=highway - pasy rysuje dodanie do lini highway=footway tagu footway=crossing, wydzielałem tylko przejazdy dla rowerów gdzie do pola area:highway=highway dodawałem tagi bicycle=yes + dla linii highway=cycleway dodawałem cycleway=cossing. Pierwsze dodaje do area:highway kolor lekko czerwony “asfaltu” drugi (crossing) oznakowanie poziome przejazdu rowerowego lub pasów zebry przy footway.

nierozdzielona droga dla rowerów i pieszych oznaczona znakiem z poziomą kreską - area:highway=path + bicycle=yes. Na skrzyzowaniach z zaznaczonymi podjazdami do posesji (highway=service) gdzie obie linie się przecinają area:highway=service + bicycle=yes + junction=yes. Dla dróg rozdzielonych oznaczonych znakiem z linią pionową to samo co powyżej. Informacja o rozdzieleniu i inne pozostają w linii highway a nie w area:highway.

tego nie praktykowałem i nie wiem jak to się będzie renderowało i nigdzie czegoś takiego nie widziałem dla area:highway=footway

Tak właściwie, to gdyby mnie ktokolwiek pytał, to doradziłbym używanie wyłącznie
area:highway=
gdzie byłoby identyfikatorem krechy, którą dany kawałek a:h przykrywa (highway) i renderer brałby sobie tagi ze wskazanej krechy. A do a:h oprócz wyżej wspomnianego dawałoby się tylko tagi, wskazujące, jak to renderować (kolor? kierunek kostki? co tam jeszcze było?). Normalizujmy dane w bazie, do jasnej…

Można jeszcze prościej: area:highway=yes i renderer brałby sobie tagi z krech objętych tym obszarem.

Ale tak chyba jest:

  • area:highway= najwyższej krechy pod nim. Dodatkowo dawało się junction=właściwy tag dla skrzyżowań/przecięć dróg: highway;footway;cycleway czy to na jezdni czy to na chodniku czy drodze rowerowej. Surface area:highway bierze sobie z danych zapisanych w głównej linii highway tego pola, bicycle=yes dodawało tylko czerwonawy kolor nawierzchni w takim polu area:highway i nie dodajemy go do area:highway=cycleway bo tu kolor czerwony jest przypisany do tego tagu jak i kostka brukowa czerwona renderingu w zależności od surface przypisaneg do linii highway -z niej właśnie area pobiera dane. Dodawanie piktogramów roweru, przejazdu rowerowego i przejścia dla pieszych - pobiera także z linii highway im odpowiadających.

  • area:highway=emergency - dodajemy tylko jeszcze kąt pod jakim maja być wyrysowane linie martwego pola.

W sumie tak jest. Dane do renderingu brane są z tych głównych linii highway. Ważne dlatego jest by area:highway= = highway= !

To jest prościej tylko do momentu, kiedy krechy pod spodem mają wszystkie ten sam zestaw tagów. Czyli BARDZO krótko.

Gdyby tak było, to nie byłoby problemów:

  • “czy wartość a:h musi odpowiadać wartości highway” - nie, zawierałoby osmID tego highway

  • “czy trzeba powtarzać tagi z highway” - nie, wartości tych tagów wyciągałoby się z highway

Natomiast zaczynam mieć wątpliwości co do tego powiązania a:h z krechą. Jaka krecha byłaby pod tym, co obecnie jest tagowane jako a:h=emergency właśnie?

Co do pierwszego primo: - area:highway odnosi sie do najważniejszej krechy pod nim. Czyli jeśli jest tam highway=secondary którą przecina czy to highway=footway czy cycleway czy service z przypisanymi sobie tam jakimiś tagami odnośnie surface to i tak skoro area:highway pobiera resztę tagów do renderingu z tej samej linii highway=secondary - najwyższej kategorii. Jeśli secondary będzie miało surface=asphalt a załóżmy przecinający ją footway kostkę brukową to i tak area przyjmnie do renderowania surface najwyższej opisującej je highway.

Co do drugiego primo - area:highway=emergency nie przyjmuje żadnych tagów z żadnej linii pod spodem. można je wyrysować w drodze: osobno lub jako multipolygon - relację (chyba dobrze napisałem) albo wyrysować oddzielnie na area:highway jako mniejszy element który osmapa wyświetli na wyższym poziomie - nad area:highway=secondary (na ten przykład).

Czy temat "area=yes vs area:highway=" był kiedykolwiek poruszany na liście Tagging? Jeśli tak to poproszę linki z dyskusją/ dyskusjami. Chciałbym dodać na Github bilecik z propozycją renderowania chodników/ dróg rowerowych w a:h=, ale wcześniej warto wszystko wyjaśnić na etapie samego tagowania.

A gdzie chciałbyś mieć to renderowanie, bo na githubie jest trochę tych renderów? Ostatnio widziałem support dla tego na Osmandzie, nie wiem jednak, czy skończony.

osm-carto, renderowanie area:highway=footway/cycleway/path/pedestrian w ten sam sposób jak teraz renderowane jest highway=footway + area=yes

Zapytałem o zdanie innych na liście tagging: https://lists.openstreetmap.org/pipermail/talk/2018-August/081102.html
Generalnie większość nie widzi żadnego problemu ze stosowaniem kombinacji z area=yes. Są jakieś próby rozgraniczenia tych obszarów na pochodzące od linii (chodników) lub placów. Prawdę mówiąc już się w tym wszystkim powoli gubię, no ale w każdym razie zachęcam do zabrania głosu :slight_smile: