[bot] - automatyczna zmiana ograniczeń prędkości w obszarze zabudowany

Hej wszystkim!

Watek powstal w wyniku rozmow na discord (https://discordapp.com/channels/783754873861963786/783766269707026483/854630114323464212). Temat tez jest spolecznosci juz dobrze znany, byl juz poruszany tu, na forum - https://forum.openstreetmap.org/viewtopic.php?id=69732. Niemniej – tworzymy nowy watek dotyczacy juz bezposrednio automatycznej edycji – przygotowanego przez nas bota.

Dla porzadku, w skrocie, o co chodzi: nastapila zmiana przepisow prawa ruchu drogowego – obnizenie predkosci pojazdow w obszarze zabudowanym w godzinach nocnych do 50 km/h (http://isap.sejm.gov.pl/isap.nsf/DocDetails.xsp?id=WDU20210000463).

W zwiazku z tym, opierajac sie na zasadach “Automated Edits code of conduct” (https://wiki.openstreetmap.org/wiki/Automated_Edits_code_of_conduct) przygotowalismy automatyczna zmiane w postaci usuwania znacznikow maxspeed z wartosciami ‘60 @ (23:00-05:00)’ albo ‘50 @ (05:00-23:00)’ (albo kombinacji obu).

Wszystkie szczegoly na temat bota (uzyte query, lista tagow itp.) sa opisane na dedykowanej wiki page: https://wiki.openstreetmap.org/wiki/Automated_edits/TTmechanicalupdates/Remove_night_time_conditional_speed_restriction_in_urban_areas_in_Poland.
Link do github https://github.com/tomtom-international/osm-bots/blob/main/Poland/remove_conditional_maxspeed.py

Chcielibysmy w pierwszej kolejnosci zaczac z test runem w powiecie pabianickim, ale zanim to zrobimy - bardzo prosimy o komenatrze i uwagi :slight_smile:

Dodatkowo warto nadmienic, ze bot rozwiaze zdecydowana wiekszosc probelmow, ale nie wszystkie – podczas analiz natknelismy sie na sytuacje gdzie np. (nieobowiazujacy juz) maxspeed byl jedynym nadanym na wayu/relacji. Takich znacznikow nie bedziemy usuwac automatem teraz. Proponujemy dzialac w iteracjach – po runie bota przeprowadzic szybka analize ile blednych sytuacji pozostalo i wtedy zdecydowac w jaki sposob je poprawic.

Dzieki za uwage i czekamy na komentarze!
Paulina.

A czy jakakolwiek nawigacja korzysta w ogóle z tagu maxspeed:conditional?

Na pewno korzysta z tego osmand :slight_smile:

Wrzuciłem do Overpassa takie zapytanie, jakie jest w kodzie skryptu, zmieniając „powiat pabianicki” na „Rybnik”. Przykładowo ten odcinek nie został znaleziony, a jest tam tag maxspeed:forward:conditional=60 @ (23:00-05:00). Zgaduję, że nie został znaleziony dlatego, że nie ma tam tagu maxspeed?

Hej!

Tak, to co piszesz sie zgadza. Nasza logika jest taka, zeby botem w pierwszej kolejnosci usunac wszystkie “pewne” sytuacje, stad zalozenie, ze musi byc maxspeed. Po przebiegu bota chcemy przeanalizowac wszystkie pozostale sytuacje i wtedy je rozwiazac (albo druga iteracja bota, albo bardziej manualnie - w zaleznosci co i ile tego zostanie). Takze z pewnoscia takich miejsc nie zostawimy, po prostu rozwiazemy je w kolejnych etapach.

Wydaje mi się, że dodanie („lub”) maxspeed:forward=50 i maxspeed:backward=50 by nie zaszkodziło. Poza tym „+1” :slight_smile:

Hej, Dzieki! :slight_smile:

W takim razie biorac pod uwage komentarze zarowno tu, na forum, jak i na discord – dodalismy do naszej querry zalozenie z maxspeed:forward i maxspeed:backward. Tutaj znajdziecie zaktualizowane szczegoly: https://wiki.openstreetmap.org/wiki/Automated_edits/TTmechanicalupdates/Remove_night_time_conditional_speed_restriction_in_urban_areas_in_Poland

Dla pozostalych sytuacji (ktorych nasze zapytanie w overpassie nie pokrywa) podejscie pozostanie jak poprzednio: przeanalizujemy je po przebiegu bota i wtedy zdecydujemy jak je rozwiazac. Czy zgadzacie sie z takim planem?

Czesc!

Po krotkiej rozmowie z Cristoffs na discord wspolnie postanowilismy przeprowadzic (wczesniej juz wspomniany) test run.

Link do changesetu: https://www.openstreetmap.org/changeset/107142426#map=11/51.6632/19.3044&layers=D
Historia: https://osmhv.openstreetmap.de/changeset.jsp?id=107142426

Zgodnie z zalozeniami 32 tagi w powiecie pabianickim zostaly usuniete. Z naszej strony wyglada, jakby bot dzialal prawidlowo, ale bardzo prosimy rowniez Was o weryfikacje.

Czekamy na informacje czy test run wypadl satysfakcjonujaco i czy mozemy zaczac z procesowaniem calej Polski.

Pozdrawiam,
Paulina.

Test wygląda OK.

Jeśli nie ma sprzeciwów w poniedziałek (5-ego lipca) rano zapuścimy bota na całej Polsce

A jak duże zestawy zmian planujesz? Jeden duży czy np. gminami?

Стреляй!

Planujemy zmiany robić województwami. W pierwszej kolejności podkrapackie, lubelskie, podlaskie.
Pojedyńczy changset nie większy niż 500 zmian tagów.

Zminy zaczeliśmy już wprowadzać.

Aktualizacja się skończył. Zostało 3163 way i 8 relacji w całym kraju.
Zaktualizujemy jeszcze “maxspeed:bus:conditional”=“50 @ (05:00-23:00); 60 @ (23:00-05:00)” na “maxspeed:bus”=“50”.
Dla pozostałych sytuacji zrobimy dodatkowy przegląd i zdecydujemy co dalej. Czy można jeszcze automatem coś poprawić czy trzeba ręcznie przejrzeć i naprawić. W takiej sytuacji dodamy challenge do MapRoulette.

Po weryfikacji pozostałe 540 przypadków zostały wypuszczone jako challenge w MapRoulette do manualnej weryfikacji i poprawy: https://maproulette.org/admin/project/45565/challenge/19343

Na takie coś trafiłem i poprawiłem:

maxspeed:conditional=50 @ (5:00-23:00)
maxspeed=60

Maybe time to adopt PL:rural / PL:urban metavalues for maxspeed?

How does it work exactly? Where those values would be defined?

Something like https://github.com/osmandapp/OsmAnd-resources/blob/46ebdd9bff48daa16bdf11d8672ced79c0ae4ef4/obf_creation/rendering_types.xml#L6068-L6100 I suppose.

If so, then every app needs similar config file which has to be updated separately in case of any change.
I don’t like it.

Why not hardcode only objects in OSM that contain various defaults for the area?
Like, we only configure in the app that defaults for “pl” are in the object https://www.openstreetmap.org/relation/49715
and in this object we store in tags things like:
default:pl:urban=50
?