Zgodnie z polskim prawem, samochody ciężarowe o dopuszczalnej masie całkowitej powyżej 3,5 t podlegają innym zasadom co do obowiązującego je np. ograniczenia prędkości, niż np. samochody osobowe (edit: no i przede wszystkim – innym niż samochody ciężarowe do 3,5 t). Dotyczy to ograniczeń zarówno poza obszarem zabudowanym, jak i na obszarze zabudowanym (podniesienie dopuszczalnej prędkości).
W OSM próba odwzorowania tych zasad poskutkowała „wysypem” tagów typu maxspeed:hgv:conditional=90 @ (weight<=3.5); 70 @ (weight>3.5)
.
Moim zdaniem jest to niepoprawne z kilku przyczyn.
Po pierwsze, taki warunek z użyciem słowa weight
sugeruje, że ograniczenie jest zależne od rzeczywistej masy całkowitej pojazdu – analogicznie do klucza maxweight
. Tymczasem obowiązujące w Polsce ograniczenia prędkości są zależne od dopuszczalnej masy całkowitej pojazdu, a to byłby raczej weightrating
.
Ta niejednoznaczność była już nawet przedmiotem dyskusji (Talk:Conditional restrictions - OpenStreetMap Wiki), której wydźwięk odbieram jako potwierdzający moje słowa, ale zostawiam ją Wam do oceny.
Tak samo znaczenie zmiennej weight
jako masy rzeczywistej jest opisane na stronie wiki nt. domyślnych ograniczeń prędkości: Default speed limits - OpenStreetMap Wiki
Jest zatem bardzo duże prawdopodobieństwo, że tak sformułowany w tagu :conditional
warunek, pomimo szczerych chęci, będzie analizowany przez konsumentów danych niepoprawnie, bądź też nawet wcale.
Edit: co więcej, jedynie 0.06% (!) z wystąpień klucza maxspeed:hgv:conditional
w Polsce ma współwystąpienie klucza maxspeed:hgv
, który mógłby posłużyć za wartość domyślną, jeśli aplikacja nie zrozumie warunków zawartych w wersji :conditional
.
Dodatkowe zamieszanie wprowadza polska Ustawa PoRD, która podaje definicję „samochodu ciężarowego”, jednak najważniejsze ograniczenia wynikające z tej ustawy są doprecyzowane jako dotyczące jedynie samochodów ciężarowych o DMC > 3,5 t. Na potrzeby przepisów dot. ograniczeń prędkości czy wagi, pojazdy o DMC <= 3,5 t traktuje się w zasadzie jak osobówki. Nawet znak B-5, nazwany wspaniałomyślnie w polskim prawie „zakaz wjazdu samochodów ciężarowych”, dotyczy jedynie samochodów ciężarowych o DMC > 3,5 t, lecz mimo to wystąpień tagu hgv:conditional
w Polsce z jakimkolwiek warunkiem wg wagi o wartości 3,5 t nie stwierdzono: hgv:conditional | Keys | OpenStreetMap Taginfo Poland
Na szczęście podział pojazdów względem DMC 3,5 t nie jest problemem jedynie polskim, ponieważ wynika z postanowień Konwencji Wiedeńskiej. Dlatego też już od co najmniej 2006 roku opisane jest na wiki pojęcie kategorii pojazdu typu goods
, czyli „lekkiego” pojazdu dostawczego. Na wiki dookreślone jest to jako odpowiadające kategorii homologacyjnej N1, czyli czemuś co wg mnie PoRD rozwija jako samochód ciężarowy podrodzaj „furgon”, „furgon/podest”, „ciężarowo-osobowy”, „terenowy”, „wielozadaniowy” lub „van”, podany jest też na wiki próg DMC 3,5 t.
Taką samą interpretację odnośnie limitu 3,5 t DMC dla hgv
przedstawia wcześniej już wspomniana strona nt. domyślnych ograniczeń prędkości w jednej ze swoich sekcji: Default speed limits - OpenStreetMap Wiki
Pomimo ww. ustaleń Konwencji Wiedeńskiej obowiązującej w wielu krajach, tag maxspeed:hgv:conditional
jest spotykany poza Polską sporadycznie, nasz kraj odpowiada za ponad połowę światowych użyć tego tagu.
W świetle wyżej wymienionych, nasuwa się moim zdaniem prosty wniosek, że definicja „samochodu ciężarowego” w polskim prawie jest inna niż jej rozumienie w języku potocznym, a zatem jako hgv
należy rozumieć jedynie samochody ciężarowe o DMC > 3,5 t, a tagowanie typu maxspeed:hgv:conditional=90 @ (weight<=3.5); 70 @ (weight>3.5)
jest nie tylko niepotrzebne (ze względu na definicję hgv
), ale i błędne (ze względu na użycie weight
zamiast weightrating
).
Zatem, po tym przydługim wstępie, zwracam się z propozycją następującej edycji:
Dla wszystkich dróg, na których naniesione są tagi maxspeed=X
oraz maxspeed:hgv:conditional=X @ (weight<=3.5); Y @ (weight>3.5)
i nie ma tagu maxspeed:hgv
, usuwamy klucz maxspeed:hgv:conditional
oraz dodajemy tag maxspeed:hgv=Y
. Analogicznie postępujemy dla wariantów :forward
oraz :backward
. Przypadki gdzie wzorzec wartości w maxspeed:hgv:conditional
nie pasuje do obecnego maxspeed
zostaną przeanalizowane ręcznie.
Zapraszam do dyskusji.