drogi residential

Podniosę trochę temat standaryzacji dróg typu residential. Obecnie masa dróg pomiędzy wsiami jest tak otagowania - początki IMHO sięgają importów z UMP, a potem często wiele osób (w tym kiedyś ja) nowe drogi też tak tagowało biorąc poprzednie za przykład. W czym problem: tworząc mapy (rendering, urządzenia mobilne, style do map wektorowych, itp) wybieramy jakie drogi mają się pojawić na jakim poziomie. Zbyt uproszczona klasyfikacja dróg powoduje, że albo mamy za dużo danych (wyświetlają się za gęsto wszystkie uliczki w miastach) albo za mało - nie wyświetlają się drogi na mało zabudowanym terenie dzięki którym możemy nawigować do celu.

Tagowanie jakie mamy obecnie w OSM dla Polski jest błędne - wystarczy przeczytać pierwszych kilka linijek na stronie:

http://wiki.openstreetmap.org/wiki/Tag:highway=residential

Jest jasno napisane, że takie drogi powinny być tagowane jako “unclassified”.

Z chęcią bym się zajął uporządkowaniem tego - czy ktoś ma pomysł jak to ugryźć? Idealnie by było wyeksportować wszystkie drogi nie leżące w miastach (lub dłuższe niż np 1 km) i ręcznie je posprawdzać - żmudne, ale konieczne. Nawet nie wiecie jaki to jest duży problem przy projektowaniu map do nawigacji samochodowych.

Ale które drogi powinny być otagowane jako unclassified? Chodzi mi o to, że nie wynika to dobitnie z Twojego postu.

Drogi łączące małe wsie - zbyt niskiej klasy, aby były tertiary. Obecnie większość osób taguje je właśnie jako residential.

IMHO residential powinno być zarezerwowane jedynie dla bocznych uliczek będących dojazdami do obszarów zamieszkania (jak to jest normalnie tagowane w miastach). W momencie, gdy algorytm routingu będzie słusznie przypisywał mniejszą wagę do takich ulic - routing poza miastami będzie miał problemy. Podobnie ma się rzecz przy wyświetlaniu map - jak będziesz chciał mieć widoczne drogi poza miastami to miasta będą nieczytelne - zabite na czarno siatką drobnych ulic.

Nie jest to tagowanie pod render, gdyż obecna klasyfikacja w OSM jest słuszna - po prostu mamy spuściznę po importach, którą trzeba wyczyścić :).

Tag:highway=residential: “roads accessing or around residential areas but which are not a classified or unclassified highway
Tag:highway=unclassified: “Unclassified is used for minor public roads typically at the lowest level of the interconnecting grid network. Unclassified roads have lower importance in the road network than tertiary roads, and are not residential streets or agricultural tracks.”

Niech żyje jednoznaczna i łatwa do użycia definicja.

Rozumiem, że prowadzimy taką drogę jako unclassified, docieramy z nią do zabudowań i w tym miejscu zmieniamy ją na residential? Wioska się kończy, droga biegnie dalej - rozumiem, że ten dalszy ciąg robimy jako unclassified?
Przy takim podejściu:
a) kłania się uznaniowość dotycząca miejsca podziału
b) rendery o których mówi rogal, pokażą dziurę w takiej sytuacji.

IMO główna droga przez wioskę mogłaby być unclassified, a ew. boczne jako residential.
Hm?

Ja mam totalny problem ze zrozumieniem klasyfikacji dróg. Rysuję dużo dróg bocznych, zarówno takich które są dojazdem do pola, dojazdem do konkretnych zabudowań (zazwyczaj lepszej jakości), jak i takich które przechodzą przez małe wioski (i często, ale nie zawsze, są jakoś utwardzone, choć bez asfaltu). Ponieważ system klasyfikacji jest dla mnie czarną magią zaznaczam je jako “track” w nadziei że ktoś kiedyś zrobi z tym porządek - na dziś istotniejsze wydaje mi się, żeby droga miała poprawnie zaznaczony przebieg na mapie. Ale może źle robię?

Lepiej by był highway=track niż nic, trochę takich już sprzątałem. Ale na ogół tagowanie jest proste.

dojazd do pola i tylko pola: highway=track jest poprawny
przechodzą przez małe wioski: highway=unclassified lub higway=residential (z braku dobrych definicji traktuje je jako synonimy)
dojazd do pojedynczych prywatnych budynków/domów/gospodarstw/garaży: highway=service, service=driveway
dojazd do grup domów/gospodarstw: highway=residential

Jeśli widać - warto dorzucić surface=unpaved/surface=paved, czasem też access=private. Potencjalnie można dać też lanes= wraz z dokładniejszym tagowaniem, ale tym jeszcze się nie zajmowałem.

Wbrew pozorom highway=track nie jest na drogi bez utwardzonej nawierzchni.

dokładnie coś takiego mam na myśli :).

Z punktu widzenia rowerzysty informacja o tym czy jest asfalt czy go nie ma jest informacją kluczową. Czy po drodze są jakieś domki z boku czy nie to i tak widać z mapy.

Od tego czy jest asfalt są inne tagi.

Osobiście, na wsiach, taguję drogi poniżej “tertiary” jako lokalne, te które mają nadane nazwy ulic, krótkie boczne nie serwisowe, pozostałe jako niesklasyfikowane, lub gruntowe.

To znaczy? W przełożeniu na tagi?

Skoro już poruszono ten temat to osobiście widziałbym to tak, aby dla dróg nieutwardzonych stosować tylko i wyłącznie “track”. Wtedy jeden rzut oka na mapę wystarczy aby wiedzieć co nas czeka po drodze. Wiem, że już była dyskusja o tym na forum, czytałem ją, ale tak naprawdę wciąż nie rozumiem skąd tendencja, aby drogi nieutwardzone tagować jako unclassified skoro mamy dla nich lepszy tag, lepiej odwzorowujący rzeczywistość.

“Wtedy jeden rzut oka na mapę wystarczy aby wiedzieć co nas czeka po drodze” - a to jest tagowanie pod render - http://wiki.openstreetmap.org/wiki/Tagging_for_the_renderer

To że większość stylów nie wiedzieć czemu wyświetla je tak że wygląda to na oznaczenie dróg gruntowych to nie znaczy że to prawda. highway=track ma inną, dość jasną definicję.

A tak przy okazji - http://wiki.openstreetmap.org/wiki/Pl:Tag:highway%3Dtrack ma kompletnie błędne tłumaczenie. Zaraz to naprawię.

Szkoda że koszt utrzymania serwera z własnym stylem jest zdecydowanie poza moim zasięgiem finansowym. Styl domyślny jest naprawdę niespecjalnie udany a jak widzę na najprostsze i najbardziej oczywiste zmiany trzeba tam tygodniami czekać. A znaczne poprawienie go nie byłoby skomplikowane (na początek - zacząć sensownie pokazywać surface=*, humanitarian już próbuje to robić).

ano, w stylu domyślnym na osm.org brakuje chociażby renderowania tagu surface= a ticket leży już parę lat.
Całkiem fajnie to jest zrobione na osmapa.pl, przykład: http://osmapa.pl/#lat=50.41891&lon=22.32846&z=17&m=os

Akurat w https://github.com/gravitystorm/openstreetmap-carto/issues/110 nie ma konkretnej propozycji jak to zrobić (konkretnej = z działającym kodem).

Ale https://github.com/gravitystorm/openstreetmap-carto/pulls?direction=desc&page=1&sort=long-running&state=open jest dość smutne.

Być może, ale co z tego jak nikt ich nie taguje, a żaden renderer ich nie używa jako podstawy do wyświetlania dróg? W ten sposób stworzyło się błędne koło z którego moim zdaniem nie ma już żadnego wyjścia. Trzeba używać istniejącej klasyfikacji, tak jest to jest zazwyczaj zakodowane, w taki sposób by przekazać maksimum informacji na mapie. A patrząc na bazę de facto obecnie highway=track oznacza po prostu boczną, nieutwardzoną drogę. Nie mówię o definicji na wiki, mówię o zestawie danych który mamy.

Niestety tak też nie jest. Ale to że mamy błędne koło to prawda.

Niestety nie mogę podać przykładu, jednak kiedyś na jakimś widziałem asfalt i kostkę brukową.

Kiedyś przygotowywałem dane dla łódzkiego - http://osmapa.pl/w/surflodz/ - dane z listopada 2012 :wink:

PS 1. Jeśli chodzi o surface - to pewnie któryś raz już piszę - nie ograniczajmy się do paved/unpaved.

PS 2. Może przy okazji tych porządków trzeba jeszcze zrobić coś z utrzymującą się liczbą (ponad 9800 way) dróg typu road.

Nie rozumiem, dlaczego wciąż nawiązujecie do mapy na osm.org (stylu), czy jesli poruszacie się samochodem czy rowerem, to też na nią patrzycie?
Jakość drogi (na przykład odpowiedni surface=*) powinna brać nawigacja i ewentualnie nałozyć kary podczas liczenia routingu.

Nie jest to argument track/residential/unclassified akurat, chciałem po prostu zwrócić uwagę, że oprócz mapy webowej jest sporo innych narzędzi, które jednak to wykorzystują!

Również jestem za tym, żeby track dawać tam, gdzie jest to track (droga polna, droga bez żadnej nawierzchni) - choć jednak jeśli widzę, że prowadzi ona pomiędzy domostwami, to mogę dać również highway=residential, surface=unpaved. Zależy jaka okolica, czy miasto, czy typowe osiedle domków, są sklepy, komunikacja miejska itd)
Zdecydowanym przeciwnikiem jestem highway=unclassified dla wszystkich dróg “niewiadomych” - w tym właśnie tracków, a wiele dróg niestety tak jest oznaczonych i można się wpędzić w niezłe szambo (z doświadczenia piszę).
Już dużo lepiej jest dać highway=track, tracktype=*, vehicle=yes (tracktype często widać na geoportalu jaki będzie, vehicle ewentualnie motor_vehicle - też często można zobaczyć auta na takiej drodze).

Chciałbym uczulić po raz kolejny na tagi access=private/no. Mam wrażenie, że jest to patrzenie z pozycji kierowcy (znak B-1). Nie nadużywajmy tego (również piszę z doświadczenia - już nie raz usuwałem ten tag z tracków leśnych).