Super, to były najczęstsze błędy
Okej, w takim razie tylko Wrocław, nazwy wyciągnięte overpassem z OSM:
https://drive.google.com/file/d/1wnw7VL1S7pI2pLPKepqLNpPUZB0vBXWG/view?usp=sharing
Co z wielkimi literami? zmieniać czy lepiej nie?
Super, to były najczęstsze błędy
Okej, w takim razie tylko Wrocław, nazwy wyciągnięte overpassem z OSM:
https://drive.google.com/file/d/1wnw7VL1S7pI2pLPKepqLNpPUZB0vBXWG/view?usp=sharing
Co z wielkimi literami? zmieniać czy lepiej nie?
Skrótowców (AWF, ROD, …) nie rozwijamy, powinny zostać tak jak są. Skrótowce od skrótów różnią się tym, że funkcjonują jak oddzielne słowa - czyta się je tak jak się pisze, odmieniają się. Za to skróty skracają wyraz w piśmie, a czyta się je zawsze rozwinięte, a nie tak jak są napisane, i do tego niektóre w zależności od przypadka.
Jeśli chodzi o dużą/małą literę w przypadku przystanków typu “Plac Jakiśtam”, to powinny być dużą literą, bo to nazwa przystanku…
CH i DH to skróty, więc trzeba rozwinąć.
W przypadku W.K. Formaty też - “W.K.” to ewidentnie nie jest żaden skrótowiec, po prostu ta nazwa nie zmieściłaby im się na tabliczce. Ktoś niedawno pisał na forum, że jakaś ustawa ogranicza liczbę znaków w nazwie przystanku - stąd te dziwne skrócenia.
official_name dajemy ze względu na Nominatima? Że jak ktoś wpisze “pl. Zgody”, to żeby też znalazł?
Nie tylko Nominatima, są też inne narzędzia które wyszukują.
Plus, jak ktoś chce to może zrobić sobie mapę z oficjalnymi nazwami.
Dodatkowo, jak ktoś się irytuje że nielegalnie używamy nieoficjalnych nazw (zdarzają się takie opinie, z tego co wiem nie podpadamy pod takie przepisy) - to można mu wskazać że jak chce to może official_name wpisać.
Dokładniej podział na Przewoźnika i Operatora wynika z przepisów prawa. Formalnie, każda firma, która świadczy usługi na liniach regularnych jest przewoźnikiem (w tym też MPK), ale jeśli mówimy o komunikacji miejskiej. To jaki Przewoźnik dodatkowo dostaje status Operatora - co wynika z prawa i pewnych różnych regulacji pomiędzy tymi dwoma stanami.
Cześć,
Odświeżę trochę wątek, choć z innej perspektywy. Po luźnych wypowiedziach tu i ówdzie, zacząłem sprawdzać dane OSM w porównaniu do oficjalnego GTFS https://www.wroclaw.pl/open-data/dataset/rozkladjazdytransportupublicznegoplik_data/resource/62b3f371-2375-4979-874c-05c6bbb9b09e. I choć do pełnej automatyzacji jeszcze daleko, to małymi krokami można by spróbować. I finalnie zaimplementować np.
https://gitlab.com/stalker314314/gtfs-osm-validator
Ale do rzeczy: we Wro i okolicach mamy:
punktów z tagiem public_transport/disused.public_transport oraz tagiem ref = 3878, z tagiem ref:zdik = 272.
> dbGetQuery(con, "SELECT COUNT(*) FROM osm_stops WHERE ref IS NOT NULL")[[1]]
[1] 3878
> dbGetQuery(con, "SELECT COUNT(*) FROM osm_stops WHERE ref IS NULL AND \"ref.zdik\" IS NOT NULL")[[1]]
[1] 272
Proponuję przenieść wartości z ref:zdik do ref dla tych 272 punktów.
Porównanie odległości między współrzędnymi przystanków z GTFS a public_transport = stop_position – mamy 180 obiektów oddalonych dalej niż 20 m od oficjalnych danych:
I 10 pierwszych:
# A tibble: 180 × 8
stop_id stop_code stop_name osm_id name ref ref.zdik distance
<chr> <chr> <chr> <chr> <chr> <chr> <chr> <dbl>
1 4432 31917019 Wilczyce - Wrocławska (na wys. nr 1F) 2326859207 Kiełczów – pętla (Plac Jana Gdaka) NA 31917019 2497.
2 4137 26108 Jagodzińska 6118859306 Konduktorska 26108 NA 939.
3 4566 31917017 Kiełczów - pętla (Plac Jana Gdaka) 6552458034 Kiełczów – cmentarz NA 31917017 240.
4 3795 26109 Kajdasza 4900360753 Kajdasza 26109 NA 179.
5 222 10519 POPOWICE (Stacja kolejowa) 3869369059 Popowice (Stacja kolejowa) 10519 NA 174.
6 3794 26110 Kajdasza 4211392862 Kajdasza 26110 NA 143.
7 223 10520 POPOWICE (Stacja kolejowa) 2887570133 Popowice (Stacja kolejowa) 10520 NA 123.
8 3776 23534 Kominiarska (plac sportowy) 6073767627 Kominiarska – plac sportowy 23534 NA 119.
9 1361 16406 Braterska 6153785044 Braterska 16406 NA 118.
10 3549 24729 Gospodarska 4282759723 Gospodarska 24729 NA 116.
# … with 170 more rows
I podobnie dla public_transport = platform – mamy 147 obiektów oddalonych dalej niż 20 m od oficjalnych danych:
# A tibble: 147 × 8
stop_id stop_code stop_name osm_id name ref ref.zdik distance
<chr> <chr> <chr> <chr> <chr> <chr> <chr> <dbl>
1 4432 31917019 Wilczyce - Wrocławska (na wys. nr 1F) 4574222659 Kiełczów – pętla (Plac Jana Gdaka) NA 31917019 2491.
2 4566 31917017 Kiełczów - pętla (Plac Jana Gdaka) 6088402568 Kiełczów – cmentarz NA 31917017 238.
3 222 10519 POPOWICE (Stacja kolejowa) 1701717102 Popowice (Stacja kolejowa) 10519 NA 173.
4 223 10520 POPOWICE (Stacja kolejowa) 1701717097 Popowice (Stacja kolejowa) 10520 NA 124.
5 1361 16406 Braterska 1701710690 Braterska 16406 NA 116.
6 1040 11720 GRABISZYŃSKA (Cmentarz) 1701711196 Grabiszyńska (Cmentarz) 11720 NA 115.
7 3548 24730 Gospodarska 4874597283 Gospodarska 24730 NA 111.
8 3776 23534 Kominiarska (plac sportowy) 1701713610 Kominiarska – plac sportowy 23534 NA 111.
9 3549 24729 Gospodarska 5383797797 Gospodarska 24729 NA 110.
10 1305 20730 Mosty Warszawskie 1701715170 Mosty Warszawskie 20730 NA 109.
# … with 137 more rows
Wątek kieruję do głównie mapujących we Wro komunikację: maro21, maraf24, Mordechai23 – poprawiamy?
Analizą przebiegu tras zajmę się później. Tak na szybko, linia 109, którą mam koło pracy w GTFSie ma 9 wriantów, w OSM 2 (najczęstsze). Nie mniej jednak przebieg się nie zgadza, linia od pl. Solidarności jedzie przez JPII, potem Legnicką, w OSM przez Podwale i Robotniczą…
Pozdrawiam,
Grzesiek
To ma sens tylko w granicach Wrocławia. Poza granicami to nie są miejskie przystanki i nie Wrocław określa ich refy. Co prawda zdarza się, że ref:zdik jest identyczny z refem przystanku, ale to mniejszość.
To mnie nie dziwi, jak poprawiałem pozycje przystanków - na podstawie ich rzeczywistego położenia - to się okazało, że wiele ma mocno niedokładną pozycję w oficjalnych danych.
Dziś mogą być niezgodności przy przystankach nowych/przeniesionych, ale 180 to chyba za dużo.
Z ciekawości czym się różnią te warianty? Raczej nie mapowałbym tymczasowym oraz z/do zajezdni. Komunikacją we Wrocławiu się nie zajmuje, ale walidacja/szukanie braków i błędów z GTFS brzmi bardzo ciekawie.
To właśnie zjazdy z/do zajezdni, dla wspomnianej linii 109 to jeszcze wariant przez ul. Rumiankową (szkoła na Żernikach) kilka razy dziennie.
I zgadzam się, że wszystkich tych wariantów nie warto mapować, dla każdej linii można znaleźć najczęstsze dla obu kierunków i te uznać za jedynie słuszne.
Pozdrawiam,
Grzegorz
To mnie nie dziwi.
Czasem są to pomyłki w ref, np:
https://www.openstreetmap.org/node/4211392862 i https://www.openstreetmap.org/node/4900360755
vs
https://www.openstreetmap.org/node/4900360753 i https://www.openstreetmap.org/node/4900360756
W swojej analizie porównywałem położenie po ref, nie szukałem najbliższego przystanku. Numery ref są o tyle ważne, że późniejsza analiza przebiegu trasy odbywa(łaby) się po nich. W GTFSie trasa opisana jest nie geometrią drogi, jak w OSM, ale (upraszczając) kolejnością przystanków.
Pozdrawiam,
Grzegorz
A w sumie czemu nie chcecie wszystkich zaznaczyć? Nie ma w tym nic złego, warianty i tak powinny być spięte jedną relacją route_master
:). Dobre pytanie, przyznaję. Odpowiem za siebie.
Należałoby się zastanowić, po co nam linie komunikacji publicznej w OSM. I do jakiego stopnia szczegółowości mają być odzwierciedlone.
1/ Tak szczegółowo, żeby dało się z tego zrobić rozkład jazdy? Włączając w to godziny odjazdów z poszczególnych przystanków?
2/ Czy też wystarczy nam informacja o przebiegu linii od pętli do pętli?
Mnie wystarczy podejście drugie. Jeśli szukam informacji którym autobusem/tramwajem i o której dojadę, raczej używam jakdojade niż OSMAnda. Mapa OSM służy do zgrubnego zorientowania się, czy i co tam jedzie. I tutaj relacje opisujące zjazdy z/do zajezdni będą wprowadzały użytkownika mapy w błąd.
Dla wspomnianej wcześniej linii 109 częstotliwość wariantów:
gtfs$trips |>
subset(route_id == '109') |>
dplyr::group_by(route_id, variant_id, direction_id) |>
dplyr::count() |>
dplyr::arrange(desc(n))
# A tibble: 9 × 4
# Groups: route_id, variant_id, direction_id [9]
route_id variant_id direction_id n
<chr> <chr> <int> <int>
1 109 826603 0 178
2 109 826602 1 150
3 109 826605 1 10
4 109 826604 1 8
5 109 826612 1 8
6 109 826606 1 6
7 109 826607 1 2
8 109 826608 1 2
9 109 826611 0 2
Pozdrawiam,
Grzegorz
Zgadzam się, gdyby te relacje aktualizować automatycznie to możnaby rozważyć wszystkie. W sytuacji, gdy jest to robione ręcznie i tylko ewentualnie automatycznie weryfikowane to te dodatkowe warianty dodają sporo pracy, moim zdaniem, niezbyt przydatnej.
Proponuję przenieść wartości z ref:zdik do ref dla tych 272 punktów.
Nie ma problemu.
Pomijając już wartość tych refów, które czasami nie zgadzają się z tymi obecnymi oraz tymi w rozkładzie jazdy, to “ZDiK” już dawno nie istnieje oraz nie zarządzał on przystankami poza granicami gminy Wrocław.
Porównanie odległości między współrzędnymi przystanków z GTFS a public_transport = stop_position – mamy 180 obiektów oddalonych dalej niż 20 m od oficjalnych danych:
To raczej te na OSM są dobrze. My w większości poprawialiśmy położenia słupków zgodnie z tym co widać na zdjęciach lotniczych oraz czasami wg wizyty w terenie. Wątpie, żeby miasto to robiło. Oczywiście bardzo duże rozbieżności w odległości trzeba sprawdzić.
Położenie stop_position jest orientacyjne - jedni dają na początku zygzaka, jeśli taki jest widoczny na jezdni, inni na środku, a jak nic nie widać, to na wysokości platform.
I zgadzam się, że wszystkich tych wariantów nie warto mapować, dla każdej linii można znaleźć najczęstsze dla obu kierunków i te uznać za jedynie słuszne.
Popieram. Dwa główne wystarczy. Jakbyśmy mapowali jeszcze zjazdy do zajezdni to powstanie za dużo tego i będzie jeszcze trudniej o utrzymanie w aktualnym stanie.
Zgadzam się, gdyby te relacje aktualizować automatycznie to możnaby rozważyć wszystkie. W sytuacji, gdy jest to robione ręcznie i tylko ewentualnie automatycznie weryfikowane to te dodatkowe warianty dodają sporo pracy, moim zdaniem, niezbyt przydatnej.
Dokładnie.
Nazwy przystanków poza granicami miasta to chyba temat na osobną dyskusję, tam jest więcej skrótów.
To jeszcze kilka przystanków z nierozwiniętymi skrótami, do przejrzenia i poprawy.
Poprawię to w wolnym czasie, chyba że ktoś mnie wyprzedzi.
Przystanki z kropką w sąsiednich powiatach:
wrocławski:
AB S.A.
BYKÓW OSIEDLOWA PRZY POS. 2
BYKÓW, SPACEROWA NAPRZ. POS. 7
Cesarzowice - skrz.
Godzieszowa (na wys. nr 8)
Szczodre-Trzebnicka (na wys. 3a)
Węgrów (na wys. nr 19)
ul. Strzelińska
Św. Katarzyna - przedszkole
Św. Katarzyna - szpital
Św. Katarzyna n.ż
Św. Katarzyna – Główna
Św. Katarzyna – Parkowa
Św. Katarzyna – stacja
Św. Katarzyna – Żernicka
Żerniki Wr. – Kolejowa
Żerniki Wr. – Strzelińska
średzki:
Brzezinka Średzka – ul. Kolejowa
Mrozów, ul. Wyzwolenia
Pisarzowice - ul. Kolejowa
trzebnicki:
brak
Długość torowisk tramwajowych we Wrocławiu:
Na stronie https://www.wroclaw.pl/files/630x350/630x350/MPK%20w%20liczbach.jpg
można przeczytać, że długość torowisk tramwajowych to 190 km.
Sprawdziłem, czy te liczby są zgodne z tym co mamy w OSM.
Na https://ohsome.org/apps/dashboard/ po wpisaniu
railway tram
way
length
i zaznaczeniu Wrocławia wyszło
201 km.
MPK pewnie nie uwzględniło torowisk w zajezdniach. Poza tym część torowisk jest w remoncie, czego nie uwzględnił powyższy pomiar, więc rozbieżność jest jeszcze większa.