Nowe narzedzie do lapania bledów. Prosba o pomysly.

Panowie,
zglosil sie do mnie jeden uniwerek z … Rumunii. Moge byc u nich promotorem paru prac bachelor/master z informatyki.

Mysle o napisaniu narzedzia do wylapywania bledów w OSM. Oczywiscie, mamy Keepright i jest to bardzo dobre narzedzie.
Jest tez kilka innych które mozna znalezc na wiki.

Nie ma jednak np. takiego czegos:
Robie edycje, klikam na save. Jako feedback dostaje od tego narzedzia które zamelduje co zrobilo sie zle. Np.: W twojej edycji zostawiles 12 punktów bez atrybutów.
Jest 5 dróg które przecinaja sie nie majac punktów wspólnych.
Mysle ze ludzie chetniej poprawia kilka swojich bledów niz setki bledów zrobionych przez innych. Poza tym narzedzie bylo by “pedagogiczne” uczac na konkretach nowych co chrzania. Co myslicie?

No i prosba: jakie bledy zdarzaja sie najczesciej, jaki móglby byc zakres pracy? Szczególnie pytanie do Zbigniewa wykonujacego od lat tytaniczna prace z nowymi. Mysle ze malo kto ma u nas takie doswiadczenie w lapaniu byków jak Ty.

“Robie edycje, klikam na save. Jako feedback dostaje od tego narzedzia które zamelduje co zrobilo sie zle.” - JSOM już to robi, choć dokładniejsze, lepsze i bardziej zrozumiałe raporty byłyby fajne. Najlepiej by to rozbudowali, może jako wtyczkę - bo jak zrobią jeszcze jedno narzędzie to mało kto to użyje.

Mnie najbardziej irytują drogi połączone do landuse/natural. Dzisiaj odklejałem tertiary od building nawet!! (nie wspominając, że uzytkownik poprowadził niektóry odcinki tertiary **przez **budynki).
To przyklejanie jest najgorsze, bo potem ktoś odkleja i zostawia niepołączone drogi :confused:
Narzędzie ma być niezwiązane z żadnym edytorem?

Teoretycznie, nie powinien nastąpić upload z żadnego edytora, dopóki się nie rozwiąże błędów.

No wlasnie, jak to ugyzc? Na razie jest ogólny pomysl. Wszystko jest mozliwe. Proponujcie.

Trochę żartem: poniżej masz listę :wink:

Na poważniej, czyli moja prywatna lista irytujących błędów:

  • niestyki, czyli prawie łączące się drogi bez punktu wspólnego
  • przecięcia dróg bez węzła wspólnego
  • przyklejanie do highway landusów i budynków

Oczywiście rodzajów błędów jest więcej, ale można zacząć od tego.

Dzieki Zbigniew! Przejmuje w opisie projektu.

Wiesz, to jest tak - jak ktos jest dociekliwy, to oczywiscie te funkcje znajdzie. Niestety, wiekszosc dociekliwa nie jest i pracuje na róznych edytorach. Dlatego pytanie:
Moze zrobic to jako narzedzie które z automatu meczylo by uzytkownika wyslajac mu feedback, niezaleznie odd tego, w jakim edytorze pracuje?

Wg mnie dobry pomysł :slight_smile: po pierwsze nie każdy używa JOSM, a po drugie jeśli ktoś dostanie maila na skrzynkę "Kolego, ostatnio wysłałeś zestaw zmian numer: … z takimi błędami: "

Ważne aby tam były wypisane błędy, a nie ostrzeżenia typu “ulica bez nazwy” bo wtedy użytkownik będzie ignorował te informacje. Przy okazji chętnie sam bym dostawał takie maile jeśli w mojej okolicy ktoś wyśle changeset z błędem :slight_smile: lepiej poprawić od razu niż czekać, aż się pojawi na keepright.

Preferowal bys “moje” bledy, czy “nowe” bledy na “Twoim” obszarze
Pozdrowienia,
Marek

I jedno i drugie. Np. mapowicz dostaje informację o błędach, ale równocześnie można sobie podpiąć RSS dla wybranego obszaru i dostawać informację o tym, że ktoś narysował niepołączoną drogę. Znając marimila :wink: pewnie bot na kanale IRC będzie to wspierał :smiley:

Miałem kiedyś taki pomysł dla keeprighta aby pokazywał na żądanie nasze błędy.
Ceną za wskazanie naszych błędów byłoby skasowanie błędów innych.
Proporcje byłyby w zależności od dorobku np stary user musiałby skasować 10 błędów za wskazanie 1 swojego.
Nowy widziałby od razu swoje.
Średniak w stosunku 1:1.
Błędy do skasowania byłyby podsuwane według chronologii powstania aby nowe błędy czekały aż usunie je ten kto je zrobił.

Szczególnie ważne jest aby nowy widział ile narozrabiał poprzez porównanie ilości swoich błędów z ilością starych błędów innych userów na obszarze działania.
Filtrowanie błędów według daty pozwoliłoby szybko wyłapać nowego usera i służyć mu pomocą w zrozumieniu jak mapować.

Dorzucę trzy grosze:
: sprawdzanie kompletności adresów addr:*
: odległość od budynku/punktu adresowego do najbliższej drogi < niż xxx m (to za chwil parę będzie zwizualizowane, prawda, antblant? :))

I tak, propozycja sprawdzania changesetów i wysyłania powiadomienia do użyszkodników podoba mi się.

G.

A ja bym proponował coś takiego jak jest w Waze, wteczkę do JOSMa która skanowała by ślady i patrzyła czy są one możliwe wg siatki dróg… Tzn jeśli by ślad skręcił w lewo a tam nie było drogi, albo nie byłaby podłączona to by zaznaczał błąd…

I też by w tym musiał być wmontowany system rozpoznawania śladów, rower/samochód, może pieszy… Ślady z OSMand’a chyba mają tagi, skąd one pochodzą, ale nie jestem pewien…

Waze ma jeszcze jedn a funkcję - prawo do mapowania 1 mila od miejsca w którym podróżowałeś :slight_smile:

JOSM naprawdę ma fajny walidator, warto tego używać.
A także patrzeć, przed wysłaniem, o jakich błędach mówi.
I do tego nie jest przecież potrzebne żadne ‘kompendium wiedzy’.

Ja mam takie poczucie, że walidator w JOSM większość rzeczy, o któych pisaliście już ma. Mi często zwraca uwagę na skrzyżowane drogi, któe nie mają wspólnego węzła, czy punkty leżące blisko siebie, które być może powinny być połączone. Przydałoby się może trochę poprawić identyfikację graficzną błędu, by oprócz podkreślania - o które drogi chodzi, to też wskazywał, o miejsce, gdzie jest błąd - ale to może wymagać głębszej przebudowy walidatorów w JOSM.

Osobnym tematem jest stworzenie zapisu reguł, z których mogłyby korzystać wszystkie edytory (Potlatch, iD), co też mogłoby być jakimś pomysłem.

To co mi wydaje się, by pomogło w mapowaniu, to może trochę lepsza obsługa wizualizacji historii. Pomysły mam następujące:

  • w JOSM dodać podgląd historycznych geometrii (by podświetlając wpis w historii danej linii, wizualizować jej geometrię z tej wersji na mapie - o ile się zmieniła) oraz coś na kształt annotate/blame dla tagów - by wskazać, w której wersji danego węzła/linii (drogi) dana wartość została ustalona
  • w OSM - przy pobieraniu historii danego obszaru, uwzględniać tylko zmiany, które zmieniły węzły na danym obszarze. W tej chwili mam wrażenie, że dla każdego changeset’a określany jest obszar edycji w postaci prostokąta, który obejmuje wszystkie zmienione obiekty. Ale to może obejmować dużo nadmiarowej przestrzeni - więc wydaje mi się słabym kryterium (chociaż pewnie dużo porstsza obliczeniowo). Ale gdy chcę obejrzeć w tej chwili co zmieniło się na małym obszarze (np. szukam usuniętych budynków, punktów) - to teraz bardzo trudno znaleźć usuwający changeset, bo jest ich po prostu za dużo

Przychodzi mi do głowy coś co by się przydało - rozwiązanie problemu “Querying all changesets that actually modified data in an arbitrary bounding box of the world and displaying them in reverse chronological order is computationally expensive”. Jeśli dobrze rozumiem to jest to główny problem przy sensownym wyświetlaniu historii.

http://v3.mrowka.org/adresy/ :slight_smile:
Punkty różowe to addr:place, które nie mają żadnej drogi w promieniu 200m
Naprawdę samotne adresy to punkty czerwone, czyli addr:place bez drogi w promieniu 1.5km

W mojej okolicy są co najwyżej żółte - pewnie oznaczają, że jest droga, ale o innej nazwie niż ta w addr:street.
Tylko że na tym terenie nie było chyba żadnego importu, więc samych adresów jest mało ;(

Ludzie, bomba. Z pewnoscia cos z tego wykorzystam. Piszcie dalej!
Studenci beda sie pewnie skrecac z nadmiaru pracy :stuck_out_tongue:

Właśnie zabieram się za poprawianie DK22, może jakieś narzędzie do ogarnięcia kolejności i ról odcinków w tych relacjach, ze szczególnym uwzględnieniem rond i odcinków rozdzielonych na 2 drogi (chcę tak rozdzielić na odcinku od Polmosu do SP1.
Na tym odcinku prawie na całej długości między pasami są wysepki lub bruk wyłączony z ruchu.