{
"$type": "site.standard.document",
"bskyPostRef": {
"cid": "bafyreigeoesmr3boxmw52gejjewtzmpwkgwj4rseejqfl4lobo2cb5c5gy",
"uri": "at://did:plc:4tuge3k3comfj4nfvqnwkemn/app.bsky.feed.post/3mgzlfmc3h632"
},
"path": "/user/Kamil%20Kalata/diary/408349",
"publishedAt": "2026-03-13T19:05:08.000Z",
"site": "https://www.openstreetmap.org",
"tags": [
"styl OSM Americana",
"definicją",
"jednego z pull requestów",
"artykule wiki o tagu `network`",
"obwodnica Nowego Miasta Lubawskiego",
"droga wojewódzka nr 864",
"wspomnianego wcześniej artykułu wiki",
"polskiej sekcji OSM Community",
"drogę krajową nr 11",
"Małoposki Szlak Solny",
"miejscowość Zwardoń",
"@id"
],
"textContent": "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.\n\nPostanowił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`.\n\nPostanowił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.\n\n## Parametry wejściowe\n\nZapytanie do serwera Overpass miało następującą postać:\n\n` [out:csv(::id,name,ref,unsigned_ref,network)]; area(3600049715)->.pl; rel(area.pl)[type=route][route=road][network~\"pl:.*\",i]; out geom; `\n\nNajistotniejszymi 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`.\n\nWyrażenia regularne dla numerów poszczególnych dróg wyglądały następująco:\n\n * autostrady: `^A[0-9]{1,2}$`\n * drogi ekspresowe: `^S[0-9]{1,2}$`\n * pozostałe drogi krajowe: `^[0-9]{1,2}$`\n * drogi wojewódzkie: `^[0-9]{3}$`\n * drogi powiatowe: `^[0-9]{4}[ ]?[BCDEFGKLNOPRSTWZ]$`\n * drogi gminne: `^[0-9]{6}[ ]?[BCDEFGKLNOPRSTWZ]$`\n\n\n\nUwzglę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.\n\n## Wyniki analizy\n\nWstępne wyniki analizy prezentują się następująco:\n\n | autostrada | ekspresowa | krajowa | wojewódzka | powiatowa | gminna\n---|---|---|---|---|---|---\npl:district | 0 | 0 | 0 | 0 | 57 | 0\nPL:expressway | 0 | 21 | 0 | 0 | 0 | 0\npl:local | 0 | 0 | 1 | 0 | 942 | 34\nPL:motorway | 6 | 0 | 0 | 0 | 0 | 0\npl:municipal | 0 | 0 | 0 | 0 | 0 | 923\npl:national | 0 | 0 | 97 | 0 | 0 | 0\npl:regional | 0 | 0 | 0 | 808 | 261 | 0\nPL:regional | 0 | 0 | 0 | 1 | 0 | 0\n\nPonadto, 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:\n\n@id | name | ref | unsigned_ref | network\n---|---|---|---|---\n11025887 | 360809W | nan | nan | pl:municipal\n11025888 | 360817W | nan | nan | pl:municipal\n11025889 | 360829W | nan | nan | pl:municipal\n16238728 | Docelowy układ obwodnicy miasta Kartuzy | nan | nan | pl:regional\n17590139 | Droga gminna nr 107425L | nan | nan | pl:local\n3548166 | Droga krajowa nr 11 | nan | nan | pl:national\n13195645 | Droga powiatowa 1360W | 1360 | nan | pl:local\n365245 | Droga wojewódzka 527 | nan | nan | pl:regional\n13063807 | Droga wojewódzka nr 238 | nan | nan | pl:regional\n5248552 | Małoposki Szlak Solny | nan | nan | pl:regional\n9978554 | Obwodnica Miasta Kartuzy etap 2 | nan | nan | pl:regional\n16934605 | Ring Miejski | nan | nan | pl:local\n5245186 | Szlak Solny | nan | nan | pl:regional\n2703613 | Zwardoń | Koniaków | nan | pl:regional\n9231404 | ulica Brzegi Andrychów | nan | nan | pl:local\n6269007 | ulica Metalowców Andrychów | nan | nan | pl:local\n6796113 | Świętego Jana Pawła II | nan | nan | pl:local\n7903600 | nan | 15787 | nan | pl:local\n7903602 | nan | 15786 | nan | pl:local\n20157721 | nan | nan | nan | pl:local\n\nDzięki ręcznej weryfikacji powyższych dróg liczby podane w 1. tabeli zwiększają się na potrzeby analizy:\n\n * dla zwykłych dróg krajowych z tagiem `network=pl:national` — o 1;\n * dla dróg wojewódzkich z tagiem `network=pl:regional` — o 2\n * dla dróg gminnych z tagiem `network=pl:local` — o 1;\n * dla dróg gminnych z tagiem `network=pl:municipal` — o 3.\n\n\n\nNależy podkreślić, że `nan` oznacza brak wartości, a nie wartość o takim brzmieniu.\n\nWyniki ostateczne analizy prezentują się następująco:\n\n | autostrada | ekspresowa | krajowa | wojewódzka | powiatowa | gminna\n---|---|---|---|---|---|---\npl:district | 0 | 0 | 0 | 0 | 57 | 0\nPL:expressway | 0 | 21 | 0 | 0 | 0 | 0\npl:local | 0 | 0 | 1 | 0 | 942 | 35\nPL:motorway | 6 | 0 | 0 | 0 | 0 | 0\npl:municipal | 0 | 0 | 0 | 0 | 0 | 926\npl:national | 0 | 0 | 98 | 0 | 0 | 0\npl:regional | 0 | 0 | 0 | 810 | 261 | 0\nPL:regional | 0 | 0 | 0 | 1 | 0 | 0\n\n## Wnioski\n\nOznaczenie 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.\n\nNiespó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.\n\nDrogi 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.\n\nDrogi 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.\n\nAnaliza 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.\n\n## Dalsze działania\n\nProblem 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.\n\nAnaliza 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.",
"title": "Analiza spójności oznaczeń sieci (tag network) dla dróg w Polsce"
}