Bałagan w szlakach

Popej wiele razy dawał linki do swoich produkcji o papierowych raczej nie wspominał.
Robi różne kompilacje i to całkiem dobre. Jego mapy na bazie OSM dla urządzeń garmina deklasują tutejszą OSMapę.
A że robi też mapy turystyczne to zapewne stąd zainteresowanie szlakami.

W tym wypadku chodzi o mapy dla Locusa:
http://www.gmaptool.eu/pl/content/locus-polska-osm

Narzędzia do robienia takich map nie przetwarzają relacji, dlatego muszę sam napisać odpowiedni program. I mam wątpliwości, jak użyć superrelacji szlaków.

Następne dziwne przykłady, szlaki zawierające niektóre linie wielokrotnie:
http://www.openstreetmap.org/relation/2168030
http://www.openstreetmap.org/relation/214998
http://www.openstreetmap.org/relation/1439897
http://www.openstreetmap.org/relation/1507196
http://www.openstreetmap.org/relation/1450065
http://www.openstreetmap.org/relation/161122
http://www.openstreetmap.org/relation/171044

co w tym dziwnego? spotkałem się z takimi szlakami. Wspólny przebieg wyprowadza szlak z miasteczka i dopiero dalej zaczyna się zamknięta pętla. Jak to zmapować inaczej niż dublując linie w relacji?

grelus

Nie jestem pewien czy to jest poprawne podejscie. Gdyby wygenerowac GPXa z tej relcji to wyszłoby, że ktoś krąży.

To jest gorzej. W tym pierwszym to rzeczywiście wygląda, jakby szlak był pętlą prowadzącą przez te same ulice. W innych wygląda na zwykły bałagan. Tak, czy inaczej, IMHO wstawienie do relacji 2x tego samego członka nie ma sensu. Można się zastanowić nad dopisaniem do linii jakieś specyficznej roli (np. coś w rodzaju “dwukierunkowa”).

Ale tak jest przy każdym szlaku roundtrip=yes, niezależnie czy ma podwójne wpisy czy nie.

Chyba wszystkie przykłady, które podałeś, to były szlaki, które gdy je oglądałem, wyglądały na źle naniesione (czy też - bałagan). Natomiast zarówno JOSM jak i Relation Analyzer dzięki podwójnemu wprowadzeniu członka do relacji, ładnie pokazuje ciągłośc. Co więcej - jest to rozwiązanie, które jest jednoznaczne. Skoro to działa, to po co to zmieniać?

no tak, moze podane przykłady były dość bałaganiarskie. Tu jest przykład szlaków które ostatnio analizowałem:

Szczecinek: http://www.openstreetmap.org/relation/4005432

No i spójrzcie na szlak Greenway. Wokół Polanowa szlak robi małe kółko, i w tego wyniku krótki odcinek drogi (1 linia) pokonuje 2 razy. Aby to zmapować z ciągłością trzeba ten odcinek wrzucić do relacji 2 razy w dwóch róznych miejscach.

tu link do fragmentu greenwaya: http://cycling.waymarkedtrails.org/es/relation/174302?zoom=13&lat=54.11312&lon=16.74052&hill=0&base=0.685&route=1

grelus

To chyba docieramy do sedna problemu: czy relacja szlaku opisuje obiekt fizyczny, czyli oznaczenia szlaku w terenie, czy też opisuje obiekt wirtualny, czyli proponowaną trasę wycieczki?

Sądziłem, że relacja szlaku to jest to pierwsze, dlatego dziwne wydaje mi się podwójne prowadzenie szlaku przez tę samą drogę. Przy algorytmach, które stosowałem do analizy, szlak był malowany na mapie wielokrotnie. Podobny problem widać też w prezentacji OSM, np. ta droga należy 3 razy do relacji (tu akurat to chyba tylko bałagan):
http://www.openstreetmap.org/way/38774035

Jeżeli relacja określa tylko fizyczną obecność szlaku, to po co jest wogóle relacją? Mogła by być tagiem dodawanym do konkretnej linii. No i po co ta cała zabawa z zachowaniem ciągłości?

No niestety sposób budowania relacji jest dość pracochłonny i zawiły. Sam się ciągle uczę co i jak. Długi czas zupełnie nie zwracałem uwagi na znaczki sygnalizujące ciągłość szlaku. Ideałem byłby dla mnie program, w którym wyznaczamy szlak na zasadach routingu, gdzie określamy tylko punkty a reszta się “robi sama”. Ręczne dzielenie linii, dodawanie kierunkowości na rondach, itp itd. jest bardzo żmudne i czasochłonne.

grelus

Jeśli chodzi o szlaki turystyczne, to nie za bardzo sobie wyobrażam, aby była możliwość takiego oznakowania szlaku w terenie, aby dodanie drogi podwójnie miało sens. Tutaj przykłady pętelek z dojściem/dojazdem do nich:
http://waymarkedtrails.org/pl/relation/3874938?zoom=15&lat=50.78087&lon=16.30187&hill=0
http://mtb.waymarkedtrails.org/pl/relation/3867408

Na zdrowy rozum - jeśli jakiś odcinek jest w relacji podwójnie, to mogę wejść na niego z jednej strony z dwóch kierunków (i to niby nie jest problem w trakcie wędrówki) i wędrując dalej mam możliwość opuszczenia go na dwa sposoby - tylko skąd mam wiedzieć, kiedy który wybrać?

Zupełnie inaczej może być natomiast z liniami komunikacji miejskiej - tutaj niejednokrotnie zdarza się, że autobus zjeżdża na przystanek na np. osiedlu i potem tą samą uliczką wraca na główną drogę i jedzie dalej. Ale szlak rowerowy/turystyczny to nie jest taki przypadek.

Moim zdaniem fragment początkowy, który jest zarazem końcowym, powinien być po prostu zmapowany tylko jeden raz (tylko na początku albo ewentualnie tylko na końcu relacji szlaku).

Greenway - a jak to jest niby oznakowane w terenie, że jadąc tym krótkim odcinkiem w którąkolwiek stronę wiem, czy mam skręcać, czy jechać prosto? Zapewne w zależności od tego, skąd przyjechałem?!?

Np. po to, żeby można było sprawnie opisać kilka różnych szlaków prowadzących po jednej drodze.

A mogę prosić o przykład? Bo może po przeanalizowaniu przypadku uda się go opisać bez powielania dróg. Np. wydzielając alternatywny przebieg szlaku.

Rota Vincentina ma np. takie fragmenty:
http://hiking.waymarkedtrails.org/pl/?zoom=16&lat=37.75315&lon=-8.71051&hill=0#routes

Gdzie po prostu jest odbicie na jakiś punkt widokowy lub pod innymi względami interesujący. Można to narysować poprzez tylko jednokrotne włączenie drogi do relacji, ale wtedy ani JOSM, ani Relation Analyzer nie potwierdzi (bo nie ma jak) tego, że szlak jest wprowadzony poprawnie i nie ma błędów nieciągłości - czy też inaczej - nie odróżni tej sytuacji, od sytuacji, gdy ktoś przypadkowo przedłuży drogę która jest w relacji tak, że szlak stanie się nie ciągły.

Jeżeli chcemy mieć możliwość weryfikacji ciągłości, to musimy mieć w relacji odwzorowaną “idealną” drogę, którą porusza się wędrowiec. Pozwala to na bardzo łatwe wykrywanie błędów, że ktoś coś zepsuł w szlakach (zresztą - w tej chwili Rota Vincentina jest “zepsuta”, jak podpowiada Relation Analyzer i wiem to właśnei dlatego, że niektórych członków dodałem wielokrotnie). I wydaje m się, że jest to lepsze rozwiązanie, niż odwzorowywanie tego, ile razy znak był malowany na ścieżce.

A odnośnie alternatyw, to ten szlak w tym miejscu:
http://hiking.waymarkedtrails.org/pl/?zoom=13&lat=37.47623&lon=-8.71961&hill=0#routes

Pomiędzy Sao Teotonio a Odeceixe ma też alternatywny przebieg (bardziej na zachód od naniesionego), ale ze względu na to, że nim nie szedłem, oraz brak dróg w OSM, które by mogły służyć za podkład - to tej alternatywy nie nanosiłem. Przytaczam to, jako przykład, gdy wydaje mi się, że słusznym by było zastosować alternatywne przebiegi szlaku.

Projektant szlaku założył jakiś podstawowy kierunek, a program powinien prowadzić właśnie według kolejności ułożenia linii w relacji, dlatego potrzeba powielać relację. Inaczej była by po prostu dziura.

No właśnie wydaje mi się że to ten sam przypadek, ponieważ turysta korzystający ze szlaku porusza się jak taki autobus, po z góry określonej trasie, i nie ma możliwości wyboru gdzie skręcić.

Szczerze mówiąc to niewiem jak to jest w terenie. Myślę, że przy najbliższej okazji się tam wybiorę. Możliwe, że tak naprawdę przebiega inaczej i pętla się nie przecina. Sam jestem ciekawy jak to mogli oznaczyć, bo jeszcze takiego szlaku nie widziałem.

odnośnie “ślepych” odbić od szlaku głównego np. Szlaki wokół Twierdzy Przemyśl również są w ten sposób zbudowane:

http://cycling.waymarkedtrails.org/es/relation/3089289

Dla mnie to jest juz bubel na etapie projektowania szlaku. Ktoś ma wytyczne “idź niebieskim szlakiem”, a tu nagle zonk bo pojawiają się 3 niebieskie kierunki na skrzyżowaniu. :confused:

Jeżeli mamy układ szlaku z rozgałęzieniem w kształcie litery Y, to tego nie da się narysować w postaci jednej ciągłej linii. Powielenie dróg jest takim naciąganiem rzeczywistości, żeby narzędzie weryfikacyjne przeoczyło problem. Moim zdaniem to pasuje pod naruszenie dobrej zasady OSM “nie mapujemy pod…”.

Wydaje mi się, że aby zachować poprawne relacje dla szlaku z odgałęzieniem, można go podzielić na 2 relacje i połączyć w superrelację (przy okazji znajduje się sensowne zastosowanie dla superrelacji).

Nie znalazłeś dobrego przykładu? Nie dziwię się, ja też nie znam oprogramowania, które prowadziłoby wzdłuż relacji OSM. Każde jakie znam (BRouter, OsmAnd w trybie pieszym czy rowerowym, http://bikeroutetoaster.com/ czy garminowe mapy openmtbmap i velomap) działa w ten sposób, że droga z relacją szlaku dostaje niższy koszt podróży więc jest preferowana przy wyliczaniu trasy z punktu do punktu. Czy ktoś zna oprogramowanie prowadzące wzdłuż relacji? Jeśli nie, to może niepotrzebnie komplikujemy sobie i Popejowi życie próbując układać pętle? Zresztą niewiele jest przypadków, gdy taka nawigacja po całości szlaku byłaby przydatna. To głównie ścieżki edukacyjne, które mają umiarkowaną długość i gdzie warto odwiedzić wszystkie punkty. Osobiście powątpiewam czy powstanie nawigacja do tak specyficznego przypadku. Użycie dostępnych nawigacji i ułożenie trasy z jednym czy kilkoma punktami via da przecież taki sam efekt.

Posługiwanie się nawet pojedynczą relacją zniechęca wielu ludzi do edytowania szlaków. Jeśli dodamy superrelację to jeszcze więcej edytorów będzie się trzymać od nich z daleka a na dodatek wzrośnie liczba błędów. Ja byłbym zdecydowanie przeciw.

Aktualny układ szlaków nie jest specjalnym problemem dla oprogramowania. Istota problemy polega na tym, że stosowane kombinacje nie są oczywiste i nie są nigdzie opisane. Ja, jako autor oprogramowania, zdobywam wiedzę o faktycznym stanie dopiero po analizie problemów w kodzie. Tak nie powinno być. Moim zdaniem należałoby albo szlaki uporządkować zgodnie z rzeczywistością i wymaganiami struktur OSM albo opisać stosowane kombinacje, “zalegalizować” w wiki i dzięki temu pozwolić na efektywne wykorzystanie w oprogramowaniu.

Co do superrelacji, zobacz np. ten szlak:
https://www.openstreetmap.org/relation/1474128

I porównaj z takim wariantem:
https://www.openstreetmap.org/relation/4009588

Ani jedna ani druga metoda nie jest prosta.
W tym drugim przypadku nie ma trików z powielaniem dróg i Relation Analyzer nie zgłasza zastrzeżeń. Po co więc powielać drogi?

w starym ale jarym Trekbuddy możemy jechać wzdłuż GPXa. Najpewniej inne aplikacje też posiadają taką funkcję. Dlatego zależy mi na tym, żeby gpx szlaku który można ściągnąć był ciągły.

Również gdy tworzę relację, chcę, żeby była zamknięta, dopracowana, i bez dziur. Osoba, która otworzy ją po mnie nie będzie wiedziała, czy dziury są efektem dublowania się przebiegów szlaku, czy nie dokończoną edycją.

Mechanizm OSM pozwala dublować linie w relacji (tylko ostrzega, że tak się dzieje) więc nie widzę powodu żeby tego nie robić. Podoba mi się przykład, który mówi, że relacja szlaku przedstawia idealną drogę którą pokonuje osoba idąca szlakiem (a więc również idzie 2x tą samą drogą jeżeli jest ona ślepa)

To co proponuje popej wydaje mi się działaniem tylko i wyłącznie pod jego problemy w oprogramowaniu. Z resztą i tak wcześniej czy później będzie musiał przewidzieć w kodzie dublowanie się linii w relacji, ponieważ zawsze ktoś kiedyś tak zrobi (a nie przeczyta tego wątku).

Wreszcie moje pytanie: jak to się robi za granicą gdzie szlaki są już od dawna zmapowane? Z pewnością tam występują takie ślepe szlakowe uliczki, ponieważ tak to już jest z ciekawymi miejscami, że czasem prowadzi do nich tylko jedno dojście.