Podaci o javnom prevozu (GTFS)

Dragi svi, u dogovoru sa Brankom Kokanovićem pokrećem ovaj thread na temu integrisanja podataka o javnom prevozu iz GTFS fajlova sa OSM.

Podaci su dostupni za Niš, Kragujevac, Užice, Suboticu ovde https://data.gov.rs/sr/search/?q=gtfs a za Beograd su objavljeni juče ovde https://data.gov.rs/sr/datasets/gtfs/ (još nije javno, sredićemo tagove i drugo ovih dana pre nego što Kancelarija za IT to javno obznani… ali to nije presudno za ovu diskusiju)

Elem, izvor svih podataka su agencije za javni prevoz (odnosno firme sa kojima gradovi imaju ugovore, kao npr. Apex za Beograd), a radi se o podacima koje smo tokom poslednjih godinu dana učinili dostupnim u GTFS formatu u okviru našeg Open Data projekta. Re-use je dozvoljen pod istim uslovima kao i za sve druge podatke na data.gov.rs, pa nema prepreka da se koriste na OSM.

Eto, toliko za sada – pogledajte skupove podataka, pa javite komentare :slight_smile:

Pozdrav,
Sloba

Sjajna vest. Probao sam malo da gledam ovo. Najbolji program koji sam našao da ovo prebacimo nekako u OSM je GO_Sync. Program je, po meni, jako loš, ali čini mi se da je to najbolje što postoji :(. Pošto nisam čak našao ni kompajliranu verziju, ja sam je iskompajlirao, da se ne mučite. JAR fajl možete naći ovde. Pokrenete ga tako što iz konzole otkucate:


java -jar gtfs-osm-sync-1.0.1-SNAPSHOT-jar-with-dependencies.jar

Morate nešto da unesete za “operator name” i “operator abbreviation” (ne znam još čemu ovo služi) i učitate gtfs.zip koji nađete na Slobinim linkovima (probajte iz fajla da učitate, a ako neće - dajte mu URL do zipa). Onda se to učitava par minuta i dobijete jako neintuitivan interfejs. Još pokušavam da vidim kako se ovde conflate-uju stanice i rute. Probao sam da conflate-ujem neke stanice:
https://www.openstreetmap.org/changeset/86391385
https://www.openstreetmap.org/changeset/86495767

Interfejs je, opet kažem, jako neintuitivan - ja sam na kraju morao da pročitam ovo uputstvo, ali i dalje mi dosta stvari nije jasno:)

Primetio sam sledeće greške:

  1. U GTFS fajlu se pojavljuju neki čudni ključevi za tagove. Tako sam slučajno uneo ključ “702” na prvom changesetu iznad? :roll_eyes: Još ne znam da li je problem do GTFS-a ili do ovog GO_Sync-a
  2. GO_Sync “ne vidi” naše tramvajske stanice. Kao što se vidi ovde, traži samo “public_transport” da bude “station” ili “platform”, a neke naše tramvajske stanice nisu imale nikakav tag. U ovom changesetu sam dodao “public_transport=station” iako mislim da bi Aleksa Marinski imao štošta da mi kaže za ovo :slight_smile: (on je stavljao lepo “platform” tamo gde je stvarno bila platforma). Mislim da, umesto da krivimo OSM da se prilagodi GO_Syncu, da je bolje da prilagodimo ovaj overpass query iz GO_Sync-a nama.
  3. Sve stanice u GTFS-u su na latinici. Moralo bi da se pazi o tome. Takođe je u GTFS-u stavljeno da je “network=Gradska uprava grada Beograda Sekretarijat za javni prevoz”. Mislim, ne smeta meni da ostane na latinici, ne znam ni da li ima poente da stavljamo ovo.
  4. Čak i kada sam uneo “gtfs_id”, GO_Sync nije stavio stanicu u “Existing stops”, već u “Existing stops with Updates” jer se istripovao da stanica nije dobra (nisu dobre koordinate, “name” je latinica kod njih, ostali tagovi nisu slični…). Mislim da je najbolje što ćemo moći da uradimo da budemo u “Existing stops with Updates”.

Ko zna šta je ovde još pokvareno :slight_smile: Provaljivaćemo vremenom :slight_smile:

Uglavnom, treba da vidimo šta želimo sa ovim GTFS-ovima na dalje? Šta kažete?

  1. Ja bih voleo da još ljudi baci pogled kroz GO_Sync aplikaciju (ili ako neko nađe bolji alat za sync sa OSM-om ili bar dobar GTFS viewer!) i da vidimo koliko su ovi podaci zapravo bolji od OSM-ovskih? I da li su uopšte!

  2. Takođe, ako želimo da conflate-ujemo ovo u OSM-u, treba da se dogovorimo koji nivo detalja želimo. Nisam još gledao rute, ali za stanice, mislim da bi bilo dobro dodati “gtfs_id”, “gtfs_stop_code”. “network” možemo da dodajemo ili ne, ali to može uvek naknadno lako da se doda. GO_Sync predlaže da dodamo “transport:zone” što je lepo, ali nije neki zvaničniji tag. Ja sam da ga dodajemo. Ostalo ne znam ni šta bi bilo. Ovde je wiki strana za GTFS.

  3. Naše stanice (bar u Beogradu) mahom sve imaju već “gtfs_id” u “ref” tagu koji je unet pre 7-8 godina. Treba za početak to kopirati u “gtfs_id” i “gtfs_stop_code” i videti na dalje. Da li brisati “ref” onda? Ja sam da ostane u oba.

  4. Kad se dogovorimo, možemo da se nekako organizujemo da ovo isproveravamo i unesemo tagove i popravimo šta fali. GO_Sync kaže za Beograd da GTFS ima 3047 stanica (u OSM-u ih ima 3151 :confused: ), tako da nije nemogući posao. Mogli bi par nas da se nađe i napravimo mapathon neki manji. Ako budemo koristili GO_Sync, možda nije loša ideja da neko pripremi “domaću” (customize-ovanu :slight_smile: ) verziju ove aplikacije (promeni overpass queryje, izbaci sa IF-ovima da ne pita da unosi ono što nećemo, da ispravi da se transliteralizuje ćirilicu za “name” stanice, da se doda “operator name” u spisak, da se stanice uparuju samo po “gtfs_id”, a ne po svim tagovima…)

  5. Ja bih lično voleo da konačno postanemo dostupni na Transportr aplikaciji (jedina FOSS app za javni prevoz koju znam), ali to zahteva da neki programer zasuče rukave u Javi i doda nas programski:)

https://forum.openstreetmap.org/viewtopic.php?id=66971

Prvi korak bi bio popuniti “gtfs_id”:
https://wiki.openstreetmap.org/wiki/Key:gtfs_id

Pošto podatke već imamo u “ref” tagu, ima smisla da bulk prebacimo to u “gtfs_id”. Ako se niko ne buni, uradio bih inicijalno ovu promenu u narednih par dana. Onda možemo da vidimo šta dalje.

Evo query sa kojim planiram da ovo izvedem:

Sophox query

Greškom sam postovao ovde, hajde da nastavimo na originalnom postu! Da zaključamo ovu temu

Dragi forumasi,

treba mi mala-velika pomoc. Samoinicijativno zelim za Grad Banju Luku izraditi GTFS Feed sa txt fajlovima, gdje bi grad u narednom koraku nacinio podatke javno dostupne. Daljni razvoj jeste, da se te informacije integrisu u Google Maps. Jesam li tacno shvatio?

Kakav pristup mi predlazete? Kako da zapocnem? Za pocetak imam sve potrebne podatke o redu voznje, stajalistima, rutama i slicno.

Unaprijed zahvalan
Marko Stanojcic :slight_smile:

Na OSM forumu ćeš slabo dobiti pomoć kako da unaprediš Google, treba to da ti bude jasno:) Bolje pitaj na nekim Google grupama. Provaj da počneš od zvaničnog uputstva ovde. Pogledaj i ovaj GTFS resource center, mada si verovatno to već video.

Kao što ti rekoh na Telegramu - postoji https://addtransit.com/ servis koji se plaća i koji može da ti kreira GTFS izlaz. Sloba Marković može da ti pomogne jer je on pomagao da se izradi GTFS za Beograd, pa možda zna bolji neki softver. Imaš i na wikiju spisak nekih softvera, ali koliko vidim, oni će ti mahom pomoći oko validacije.

Ako želiš samoinicijativno ovo da uradiš, a da bude stvarno javno (a ne da budeš samo besplatna radna snaga za Google), razmisli o tome da uneseš sve podatke u OSM prvo (stanice, rute, relacije…) po specifikaciji sa wikija (pogledaj Beograd npr. za referencu) i onda da eksportuješ takve podatke u GTFS zip fajl. Mada, kao što ti već rekoh - to ti neće pokriti one podatke koji ne idu u OSM, kao što su vremena polazaka, ali ćeš bar da ne zaključaš podatke za Google samo:)

Pre nego što staviš bilo kakve pode3tke u Google prvo pročui njihova pravila, naročito licenu prava and podacima koje tamo ostaviš.

Možda te to dovede do zaključka zašto postoji OpenStreetMap i zašto mi podatke ubacujemo u tu bazu a ne u Google.