Propozycja automatycznej edycji: usunięcie proposed=x jeśli highway=x

Przy okazji budowy tramwaju na Kasprzaka okazało się, że część osób nie usuwa tagów proposed=* oraz construction=* na już wybudowanych drogach. Z ciekawości postanowiłem sprawdzić, jak często się to zdarza. @NieWnen na Discordzie pomógł mi skonstruować następującą kwerendę w Overpass turbo:

[out:json][timeout:60];
{{geocodeArea:Poland}}->.searchArea;
nwr["proposed"](area.searchArea)(if: t["highway"] == t["proposed"]);
out geom;

Wyszukuje ona wszystkie sytuacje, gdzie tag proposed=x nadal wisi, mimo że droga jest wybudowana i ma już docelowy tag highway=x. Szuka również po wszystkich elementach, a nie po samych liniach, bo okazało się, że załapały się jakieś pojedyncze motorway_junction, traffic_signals oraz turning_circle.

Czy ktoś ma coś przeciwko, żeby usunąć od razu wszystkie błędne tagi proposed=* w całej Polsce z pomocą tej kwerendy? Jest ona dość konserwatywna (ale o tym niżej) i ma jasny plan przeprowadzenia. Wystarczy wykonać kwerendę po lekkiej modyfikacji pod kątem edycji ([out:xml] oraz out meta;), wyeksportować do Level0 ignorując ostrzeżenia o brakujących danych (do edycji tagów drogi nie potrzebujemy pobierać jej węzłów), w Notepad++ usunąć wszystkie linie zawierające proposed = i puścić na serwer.

Czemu zmiana jest konserwatywna? Bo celowo pomija inne sytuacje z tagiem proposed=*. Pierwotnie, przed zadaniem pytania na Discordzie, użyłem kwerendy pokazującej wszystkie sytuacje, gdzie istnieje tag proposed=* mimo faktu, że droga istnieje (highway!=proposed oraz highway!=construction).

[out:json][timeout:60];
{{geocodeArea:Poland}}->.searchArea;
nwr["proposed"]["highway"]["highway"!="proposed"]["highway"!="construction"](area.searchArea);
out geom;

Czym się to różni od powyższej komendy? Okazuje się, że są sytuacje m.in. w Warszawie, gdzie jest highway=service, ale jest proposed=residential, bo droga istnieje, ale prowadzi do (jeszcze) nieistniejącego osiedla. @NieWnen zasugerował przetagowanie tego na np. proposed:highway=residential, ale nie zawsze jest to dobre rozwiązanie z automatu, bo takie tagi mogą być tam z zupełnie innego powodu. Mianowicie: pasaż Zbigniewa Zapasiewicza. Na początku był to highway=proposed + proposed=footway, potem oznaczono go jako wybudowanego zapominając o usunięciu tagu proposed, aż w końcu droga zmieniła rodzaj na highway=pedestrian. Tutaj przetagowanie na proposed:highway=footway byłoby błędne, gdyż należałoby w ogóle usunąć tag proposed. Są to zatem sytuacje, które warto sprawdzić manualnie. Właśnie dlatego celowo ograniczyłem zakres edycji kompletnie automatycznej wyłącznie do sytuacji, gdzie wartość tagu highway=x oraz proposed=x się zgadzają, bo na 99,9999% ktoś po prostu zapomniał go usunąć.

Zapomniane tagi construction=x to bliźniaczy temat, ale już do ogarnięcia osobno. Najpierw zobaczmy, co będzie z proposed=*, no chyba że ktoś chce na odwrót, czyli najpierw jednak ogarnąć construction=*.

Jeśli ktoś ma coś przeciwko, niech wypowie się teraz albo zamilknie na wieki.

Jeśli ktoś umiałby napisać bota, który sam pisze komentarz do zestawu zmian, gdzie ktoś zapomniał usunąć tag proposed przy zmianie wartości tagu highway, to niech też się wypowie.

5 Likes

Przyznaje się do tego tagowania :slight_smile: Nie wiem, czy jest w pełni poprawne więc może wymagać poprawki. W tej sytuacji planowana jest droga dojazdowa do osiedla (residential) i początkowo oznaczyłem ją w ten sposób

highway=proposed
proposed=residential

Gdy rozpoczęto budowę osiedla droga została wyłożona płytami betonowymi i służy jako dojazd na budowę, dlatego zmieniłem na highway=service, ale zostawiłem proposed=residential jako docelową drogę w tym miejscu. Jeśli uważacie to za niepoprawne nie mam nic przeciwko, żeby poprawić to tagowanie. Podobny przypadek mojego autorstwa jest tutaj droga

1 Like

Popieram przeprowadzenie takiej zmiany, fajne znalezisko na automatyczną edycję!

Też do poprawki, moim zdaniem również można automatem, tylko tutaj więcej tagów, np. landuse=residential + construction=residential

Spróbuję może dopisać warunek do bota który uruchomił @NorthCrab i teraz sprawdza głównie adresy

1 Like

Popieram przeprowadzenie takiej zmiany, dobry pomysł na automatyczną edycję!

I dzięki za zapytanie się przed jej wykonaniem.

1 Like

Ja uważam, że wszystkie pozostawione construction=* lub proposed=* bez odpowiedniego landuse, highway można w pełni automatycznie usuwać. Takie tagi bez pełnej kombinacji podchodzą w mojej opinii pod kategorię discardable. Nie wnoszą one żadnej informacji a są jedynie pozostałością historyczną - a od tego mam historię wersji obiektów.

1 Like

construction=minor niekoniecznie jest całkowitym śmieciem, jest też sporo construction=yes którego fanem nie jestem ale wykasowanie go bez przejrzenia nie będzie pomagało

1 Like

Chodzi chyba wyłącznie o przypadki gdzie wartość construction jest dokładnie taka sama jak na highway/itp.

W tej automatycznej edycji? Tak.

Zrozumiałem że w

proponujesz rozszerzenie.

1 Like

Dla mnie edycja w proponowanym zakresie jest ok, również w wersji z construction.

Warunki są już dodane do bota :slight_smile: