maxspeed w Polsce

W raportach z OSMonitora (opisanego w wątku http://forum.openstreetmap.org/viewtopic.php?id=17439)) pojawiły się informacje dotyczące ograniczeń prędkości na naszych głównych drogach (chodzi o procentowy udział dróg opatrzonych odpowiednim tagiem).

W związku z tym postanowiłem poruszyć temat tagowania tegoż w OSM.
Główne pytanie, jakie się pojawiło dotyczyło uzupełnienia dróg o tag maxspeed w celu uzyskania stuprocentowego pokrycia. Uznałem, że podawanie wartości domyślnych jest trochę sztuką dla sztuki (np. 140 km/h dla autostrady). Zmiany wprowadzone w tagowaniu maxspeed powodują, że ważne mogą okazać się informacje dotyczące np. źródła wprowadzonej prędkości (np. w celu weryfikacji czy globalnych modyfikacji).

Na początek przetłumaczyłem strony wiki dla:
maxspeed - http://wiki.openstreetmap.org/wiki/Pl:Key:maxspeed
source:maxspeed - http://wiki.openstreetmap.org/wiki/Pl:Key:source:maxspeed

Na podstawie zawartych tam informacji dobrze byłoby ustalić jakieś wytyczne dla Polski (wątpliwości mogą dotyczyć głównie tzw. domniemanych ograniczeń prędkości - np. maksymalna prędkość w obszarze zabudowanym, na autostradzie).
Niestety analogicznie do OSM, w przepisach mamy niejednoznaczności. Prędkość zależy od godziny albo od ilości jezdni tagowanej drogi (http://pl.wikipedia.org/w/index.php?title=Plik:Speedlimitsinpoland.png).
Dla dróg jednojezdniowych czy dwujezdniowych możemy wykorzystać angielskie nsl_single i nsl_dual (podane w przykładach na wiki, nsl - national speed limit). Jeśli chodzi o prędkość zależną od godziny, może jest ktoś, kto się z tym spotkał w OSM (Marku, wiem, że świetna robota :wink: - zapytaj może społeczność poza Polską co z tym fantem zrobić).

A może zrezygnować z dodawania na siłę domniemanych ograniczeń prędkości. Nie wiemy jak działają w tym względzie nawigacje (Marku ;)).
Z jednej strony wprowadzający może to robić na czuja i nie ma gwarancji, że tam faktycznie jest np. 90 km/h. Z drugiej strony nie będziemy też wiedzieli czy ograniczenie jest domniemane czy po prostu nikt go nie wprowadził.
Jeśli jednak ktoś się zdecyduje na dodawanie maxspeed=90 czy maxspeed=140, proszę pamiętać o source:maxspeed. W przypadku zmiany przepisów drogowych może to się okazać niezbędną informacją.

Jeszcze jedna informacja: jeśli tylko posiadamy dość szczegółowe informacje, tagujmy odpowiednie odcinki dróg.

Nie ma profesjonalnej nawigacji bez maxspeed, przy czym WSZYSTKIE wektory po których odbywa sie nawigacja maja ta wartosc. Wprowadza soie wartosci domyslne pilnujac aby w razie watpliwosci wprowadzona byla wartosc nizsza tak, aby mapa nigdzie nie podala wartosci wyzszej od wartosci faktycznie dopuszczalnej. Taka pomylka moze kosztowac ludzkie zycie wiec trzeba sie temu przyjrzec.

W przypadku wartosci generycznych uwzglednia sie tez krzywizne drogi wprowadzajac ograniczenia predkosci wynikajace z krzywizny drogi.

Co do zmian w czasie: jesli mamy 50/60 kmgodz w zaleznosci od pory dnia czy nocy, to wprowadza sie dwie maxspeed z podaniem kazdorazowego przedzialu czasowego. Dyskusja na ten temat sie toczyla.

Serdecznie dziekuje Marimil, ze podejmujesz ten szalenie istotny temat! To jeden z podstawowych elementow przeksztalcania OSM w prawdziwie profesjonalna baze danych do nawigacji.

Z tego co pamiętam, kiedyś ktoś na IRCu zaproponował mi by w mieści ulice o domyślnej prędkości mapować jako maxspeed=urban czy jakoś tak.

Ogólnie wydaje się dobrym pomysłem by defautowe prędkości na autostradach itp podawać jako zmienne. Wtedy wystarczy by jakiś program do nawigacji zmienił sobie wartość zmiennej, niż przekodowywać cały kraj.

Moze by ktos spytal kolegów zza miedzy, do jakich wniosków praktycznych w tym temacie doszli - oni tam sie sprzeczali baaaaaardzo dlugo. Mysle ze SunCobalt siedzi w temacie.

W przypadku maxspeed=signals ja bym jeszcze dodawał jeszcze jakoś defautową wartość dla danego odcinka. Bo najczęściej takie znaki mają ograniczać prędkość przy złych warunkach drogowy, ale nie powodują one iż nagle w mieście przestaje obowiązywać 50/60 jak znak nic nie wyświetla.

Pewnie ja podałem taki przykład.

W czasie analizy wytycznych okazało się, że się zmieniły. Rzeczywiście sensowne jest podawanie konkretnej wartości w maxspeed (z podaniem source:maxspeed oczywiście). W przeciwnym przypadku nawigacje musiałyby znać wszystkie “narodowe” ograniczenia prędkości.

To co jest na wiki jest obowiązujące. maxspeed=PL:urban (na przykład) jest wycofane.

Generalnie to nie problem wprowadzic “narodowe” ograniczenia predkosci, jest taka klasa nawet z tego co pamietam, ale najlepsze sa oczywiscie wartosci absolutne.

Znalazłem maxspeed=* dla dnia i maxspeed:night=* dla nocy (bez podawania godzin).
Znalazłem też dość świeżą dyskusję: http://wiki.openstreetmap.org/wiki/Talk:Proposed_features/Conditional_restrictions#Different_values_depending_on_different_conditions
To akurat też podejdzie pod signals.

Dyskusja w RFN toczy sie tu:
http://forum.openstreetmap.org/viewtopic.php?id=17700
Moza zerknac na linki jakie podaja.
Fajnie by bylo wypracowac jeden standard bo przejeli by go takze Szwajcarzy i Austriacy a potem zdaje sie wszyscy. Moze móglbys Marimilu napisac do uzytkownika Tordanika. To lebski facet i chyba sledzil ta dyskusje.

Ponieważ w innym wątku pojawiła się wzmianka o wizualizacji braku maxspeed, przypominam o tagu source:maxspeed (informacje wyżej). Piszę to, aby uniknąć masowego dodawania dla obszarów zabudowanych maxspeed=50 itp. bez dodatkowych informacji.

W przypadku ustalenia tagowania ograniczeń prędkości zależnych od dodatkowych warunków (godzina/rodzaj pojazdu), przy posiadaniu source:maxspeed, będziemy mogli te informacje uzupełnieć automatem.

W jaki sposób podać source:maxspeed w przypadku, gdy np. w jedną stronę obowiązuje znak ograniczenia prędkości do 70 (w kierunku skrzyżowania, zgodnym z kierunkiem drogi), a od skrzyżowania jest 90 (teren niezabudowany).

Czy powinno to zostać otagowane w poniższy sposób?

maxspeed:forward=70
source:maxspeed:forward=sign
maxspeed:backward=90
source:maxspeed:backward=PL:rural

Dokładnie tak.

Na stronie http://josm.openstreetmap.de/wiki/Presets/maxspeed_PL umieściłem wersję roboczą preset’u dla JOSM’a zawierający szablony dla ograniczeń prędkości w Polsce. Uwzględnia on tagi forward/backward.
Opracowałem go na podstawie stronki marimila - http://wiki.openstreetmap.org/wiki/Marimil/maxspeed. Proszę o ewentualne uwagi i modyfikacje.

Czy na stronie marimila wartość tagu dla strefy zamieszkania source:maxspeed=living_street nie powinna być poprawiona na PL:living_street?

@sznik

Preset pewnie się przyda, bo jest z tym trochę dłubaniny. PL:living_street na stronie poprawione. Dzięki.

Kolejna sprawa, która nie została uwzględniona na stronce - w przepisach mamy “nieprzekraczającej 3,5 t”. W związku z tym przy warunkach dotyczących masy, w presecie oraz przy wprowadzaniu danych należy zamiast “<3.5” użyć “<=3.5”.

Dodatkowo “na drodze ekspresowej dwujezdniowej – 120 km/h” sugeruje, że w tym przypadku nieistotna jest ilość pasów. Na razie nie poprawiam - proszę o analizę i komentarz jakiegoś prawnika :wink:

Zmodyfikowałem preset uwzględniając powyższe. Okna dialogowe uzupełniłem o wyświetlanie wartości dodatkowych tagów. Dodałem także w kodzie komentarze, aby był łatwiejszy do przeanalizowania.

Ja się może nie znam, ale po co są presety?

Presety to inaczej szablony w JOSM, czyli te okienka, w których można wybrać sobie poszczególne tagi, zamiast wpisywać wszystko z głowy.

Przy tagowaniu prędkości korzystam z presetu Sznika. Dzięki temu za jednym razem dodawane są informacje o prędkościach dla różnych typów pojazdów. Przyspiesza to prace.

Mam problem z tagowaniem prędkości dla drogi ekspresowej na odcinku, gdzie prawy pras służy do skrętu i tylko dla niego dla niego są znaki B-33.
Przykłady na wiki ograniczają się do maxspeed, wówczas tagujemy:
**maxspeed:lanes=120|120|70 **

Jak poprawnie zrobić to dla maxspeed:bus, maxspeed:hgv:conditional?
maxspeed:bus:lanes=80|80|70 czy maxspeed:lanes:bus=80|80|70
maxspeed:hgv:conditional:lanes=…|…|70 to już w ogóle kawał stringa się robi.

Dobrze by było umieścić wszystkie przykłady jakie są w presecie na stronie (np. w formie tabelki) http://wiki.openstreetmap.org/wiki/Pl:Key:source:maxspeed.
Wówczas mniej zaawansowani użytkownicy (jak ja) łatwiej by mogli dobrze temat przyswoić.

preset został poprawiony, zmieniona jest kolejność conditional:forward na forward:conditional (także dla backward) - tak jak opisane jest na wiki

Czyli na przykład teraz to poprawnie tak wygląda:

http://osm.mapki.com/history/way.php?id=219012152
Także w josm należy ten preset “przeładować”.

Oczywiście są do poprawienie wszystkie drogi w Polsce z tym złym ustawieniem kolejności, jeśli ktoś chciałby poprawić, ale fajnie jakby dał tutaj odpowiedź.