OpenStreetMap logo OpenStreetMap

Ostatnio zauważyłem, że styl OSM Americana nie wyświetla w szczególny sposób numerów dróg wojewódzkich, w przeciwieństwie do dróg krajowych, w tym dróg ekspresowych i autostrad, co zgadza się z definicją, a raczej jej brakiem. Na podstawie opisu jednego z pull requestów w repozytorium tego stylu wywnioskowałem, że generator opiera się na tagu network w celu wywnioskowania kategorii.

Postanowiłem więc sprawdzić, jaka wartość tagu network jest wykorzystywana do oznaczania dróg wojewódzkich. Szybka kwerenda, wykonana przy użyciu głównej strony OSM, Overpass API i Taginfo doprowadziła mnie do wniosku, że drogi te oznacza się tagiem network=pl:regional.

Postanowiłem również sprawdzić, jak oznacza się drogi powiatowe i gminne. Jako że w artykule wiki o tagu network tego nie określono, postanowiłem dokonać samodzielnej analizy. W tym celu napisałem skrypt Pythona, który odpytuje server Overpass i wykorzystuje bibliotekę pandas w celu wygodnego przetwarzania tych danych.

Parametry wejściowe

Zapytanie do serwera Overpass miało następującą postać:

[out:csv(::id,name,ref,unsigned_ref,network)]; area(3600049715)->.pl; rel(area.pl)[type=route][route=road][network~"pl:.*",i]; out geom;

Najistotniejszymi tagami branymi pod uwagę w tej analizie są network, ref i unsigned_ref (ostatni z nich wzięty pod uwagę ze względu na sposób użycia w relacjach analogiczny do tego na liniach). Numer relacji i tag name są wykorzystywane w celu ręcznej weryfikacji zarówno wyników analizy, jak i samych relacji, a ponadto numer relacji służy jako indeks dla tabel biblioteki pandas.

Wyrażenia regularne dla numerów poszczególnych dróg wyglądały następująco:

  • autostrady: ^A[0-9]{1,2}$
  • drogi ekspresowe: ^S[0-9]{1,2}$
  • pozostałe drogi krajowe: ^[0-9]{1,2}$
  • drogi wojewódzkie: ^[0-9]{3}$
  • drogi powiatowe: ^[0-9]{4}[ ]?[BCDEFGKLNOPRSTWZ]$
  • drogi gminne: ^[0-9]{6}[ ]?[BCDEFGKLNOPRSTWZ]$

Uwzględnienie potencjalnej spacji między częścią cyfrową a wyróżnikiem województwa numerów dróg powiatowych i gminnych wynika z tego, że część z tych numerów jest zapisana razem z tą spacją. Kwestia ta wymaga poprawy, jednak problem ten nie jest powiązany z przedmiotem tej analizy.

Wyniki analizy

Wstępne wyniki analizy prezentują się następująco:

  autostrada ekspresowa krajowa wojewódzka powiatowa gminna
pl:district 0 0 0 0 57 0
PL:expressway 0 21 0 0 0 0
pl:local 0 0 1 0 942 34
PL:motorway 6 0 0 0 0 0
pl:municipal 0 0 0 0 0 923
pl:national 0 0 97 0 0 0
pl:regional 0 0 0 808 261 0
PL:regional 0 0 0 1 0 0

Ponadto, skrypt zwrócił następujące drogi, których wartości tagów ref i unsigned_ref nie pasują do żadnych z wymienionych wcześniej wyrażeń regularnych:

@id name ref unsigned_ref network
11025887 360809W nan nan pl:municipal
11025888 360817W nan nan pl:municipal
11025889 360829W nan nan pl:municipal
16238728 Docelowy układ obwodnicy miasta Kartuzy nan nan pl:regional
17590139 Droga gminna nr 107425L nan nan pl:local
3548166 Droga krajowa nr 11 nan nan pl:national
13195645 Droga powiatowa 1360W 1360 nan pl:local
365245 Droga wojewódzka 527 nan nan pl:regional
13063807 Droga wojewódzka nr 238 nan nan pl:regional
5248552 Małoposki Szlak Solny nan nan pl:regional
9978554 Obwodnica Miasta Kartuzy etap 2 nan nan pl:regional
16934605 Ring Miejski nan nan pl:local
5245186 Szlak Solny nan nan pl:regional
2703613 Zwardoń Koniaków nan pl:regional
9231404 ulica Brzegi Andrychów nan nan pl:local
6269007 ulica Metalowców Andrychów nan nan pl:local
6796113 Świętego Jana Pawła II nan nan pl:local
7903600 nan 15787 nan pl:local
7903602 nan 15786 nan pl:local
20157721 nan nan nan pl:local

Dzięki ręcznej weryfikacji powyższych dróg liczby podane w 1. tabeli zwiększają się na potrzeby analizy:

  • dla zwykłych dróg krajowych z tagiem network=pl:national — o 1;
  • dla dróg wojewódzkich z tagiem network=pl:regional — o 2
  • dla dróg gminnych z tagiem network=pl:local — o 1;
  • dla dróg gminnych z tagiem network=pl:municipal — o 3.

Należy podkreślić, że nan oznacza brak wartości, a nie wartość o takim brzmieniu.

Wyniki ostateczne analizy prezentują się następująco:

  autostrada ekspresowa krajowa wojewódzka powiatowa gminna
pl:district 0 0 0 0 57 0
PL:expressway 0 21 0 0 0 0
pl:local 0 0 1 0 942 35
PL:motorway 6 0 0 0 0 0
pl:municipal 0 0 0 0 0 926
pl:national 0 0 98 0 0 0
pl:regional 0 0 0 810 261 0
PL:regional 0 0 0 1 0 0

Wnioski

Oznaczenie sieci dla dróg krajowych (w tym dróg ekspresowych i autostrad) i dróg wojewódzkich jest spójne. Wyjątkami są obwodnica Nowego Miasta Lubawskiego, która jest oznaczona tagami network=pl:local, gdyż obwodnica jako taka odciąża to miasto, i ref=15, jako że stanowi ona część drogi krajowej nr 15, oraz droga wojewódzka nr 864, która jest oznaczona tagiem network=PL:regional, zgodnie z zasadą ze wspomnianego wcześniej artykułu wiki, która stanowi, że kody krajów powinno zapisywać się wielkimi literami.

Niespójności występują w oznaczaniu dróg powiatowych i gminnych. Ponadto, stosowane są kolidujące schematy oznaczeń: tag network=pl:regional jest używany zarówno przez drogi wojewódzkie, jak i powiatowe, a tag network=pl:local — zarówno przez drogi powiatowe, jak i gminne.

Drogi powiatowe wykorzystują w zdecydowanej (74,8%) większości tag network=pl:local. Tag network=pl:regional jest stosowany przede wszystkim dla dróg w okolicy Rzeszowa, jak również w śląskiem i opolskiem. Z tagu network=pl:district korzystają drogi na obszarze między Gdynią a Lęborkiem.

Drogi gminne wykorzystują w przytłaczającej (96,4%) większości tag network=pl:municipal; są to drogi w części siedleckiej województwa mazowieckiego. Z tagu network=pl:local korzystają drogi w okolicach Wrocławia i Piotrkowa Trybunalskiego.

Analiza nie objęła dróg nieoznaczonych jakimkolwiek tagiem network=*, jako że problem spójności oznaczania sieci nie występuje dla nich obecnie, a ich oznaczenia można podjąć się później, jak również tych oznaczonych tagiem innym niż network=pl:*, jako że w ich przypadku problem jest głębszy niż tutaj analizowany.

Dalsze działania

Problem oznaczania sieci dla polskich dróg zostanie podniesiony na polskiej sekcji OSM Community w celu ustalenia nowych standardów, szczególnie dla dróg powiatowych i gminnych, oraz korekty obecnych oznaczeń w zgodzie z istniejącymi standardami.

Analiza zwróciła również uwagę na błędnie oznaczone relacje, m. in. drogę krajową nr 11 (brak tagu ref), Małoposki Szlak Solny (niepoprawna wartość tagu route) czy miejscowość Zwardoń (błędne wykorzystanie jako relacja szlaku turystycznego). Te, jak i inne relacje wskazane w 2. tabeli zostaną wskazane jako wymagające weryfikacji i naprawy.

Location: Górki Miłońskie, Miłonice, gmina Krośniewice, powiat kutnowski, województwo łódzkie, 99-340, Polska

Discussion

Leave a comment

Log in to leave a comment