Időközben ez megoldódott, most már eljut a 76. sorig ahol egy bizonyos Import error: no module named pkg_resources hibával kidob. Ahogy elnézem, ez a Pythonhoz kapcsolódik. Itt megállt a tudásom.
Letöltöttem mindent, töröltem a pathways.zipet (ezzel a problémával már össze is futottam a kalandozások során :D ), majd elindítottam a Parancssort is. Beírtam mindent teljes elérési útvonallal, de syntax errorral elküld.
A letöltött zip-ből töröld a pathways.txt-t, hogy megspórolj néhány hibaüzenetet
Parancssorban futtasd a kmlwriter.py fájlt a következő módon:
kmlwriter.py C:gtfs.zip C:bkk.kml
Ahol a C:gtfs.zip a letöltött adatbázis, a bkk.kml pedig a kimeneti fájl.
Figyelem! A kész állományban alapértelmezésben látható az összes hely (megálló, kapu, benzinkút, időmérőpont, kutyafüle), ami valamilyen érvényesített útvonalnak részét képzi.
Most például egy különtroli miatt látszik a Kőbányai garázs (Pongrácz kapu) nevű hely is, pedig az nem megálló. Szóval kéretik ésszel használni.
Figyelem2! Ennek a szkriptnek semmi köze a BKK-hoz, nem utastájékoztatási céllal készült, nem válogat semmilyen szempontból. Kéretik ésszel használni :)
Hát, mivel az 5 millió soros stop_times táblán kötöd össze, így akárhogy is számolom, 5 millió sort végig kell böngésznie. Persze ha csinálsz egy teljes lekérdezést, amiből a júzernek már csak szűrnie kell (=egy táblás lekérdezés), akkor csak frissítéskor kell az 5 millió sort végignyálazni.
Amúgy PHP-val már kicsit bővebb dolgok megoldhatók, mint Access-ben bohóckodva.
A szerver nem fut folyamatosan, és az erőforrásai végesek, így nem anyázni, ha nem válaszol :) Ráadásul nem is igazi vas, csak egy virtuális gép Debian-nal.
Szabványos adatforrás nincs (GTFS-RT), viszont az Utazástervezőé használható. Nyilván a BKK nem vállal érte felelősséget, de azért elég stabilnak tekinthető.
Igen, arra az API-ra gondolok, amit írsz. Kulcs nem kell (hivatalosan se). Mint a linkelt oldal is említi, az interfésznek két dialektusa van, az OTP-t részletezi, az OBA-ről itt van doksi.
Ezt a szabványt ugye elsősorban a Google alkotta a Google Maps-hez, az útvonaltervező motorjához való felhasználás céljából. Egy útvonaltervezés során nem elég tudni, hogy mikor jön egy adott X megállóba a következő jármű, hanem a teljes hálózat állapotát ismerni kell. Ellenben ha van egy ilyen adatbázisod, akkor gond nélkül tudsz olyan szoftvert csinálni, ami válaszolni tud azokra a kérdésekre, amiket felteszel neki (pl. mikor jön az adott X megállóba a következő jármű), mint ahogy Budapest esetében is létezik ilyen (lásd Útvanaltervező - OTP/OBA API).
Emellett persze vannak olyan érvek is, hogy ezt könnyebb generálni, vagy - amit te is írtál - ez sokkal kisebb terhelést ró a szerverre.
De ha neked erre van szükséged, akkor használd az Útvonaltervező API-ját (más lehetőséged úgy sincs nagyon :) ), az pont ilyen API. A stabilitásával/dokumentáltságával szerintem alapvetően nincs gond, a válasz pedig néha tényleg lassan jön, de nem olyan mértékben, hogy azzal ne lehetne együtt élni.
Miért kell ennek fájlnak lennie? Erre nem lenne értelmesebb egy api, amitől megkérdezhetném pl. hogy "a 4-es villamos XY megállójába mikor jön a következő jármű", amire azt válaszolná pl., hogy 10 óra 5 perckor.
Már van, csak épp az Utazástervezőn kívül egyedül a Google Maps érheti el. Természetesen a GTFS-RT-ről beszélek, és igazából ez is egy ugyanolyan fájl, mint a GTFS, csak kicsit sűrűbben frissítik. Hogy mikor lesz elérhető azt én nem tudom (sőt, sokan mások se, valaki?). Néhány havonta szoktam zargatni ez ügyben a BKK-t, legutóbb postafordultával (= másfél hónap) azt írták, hogy "a várható időpontról még nem rendelkeznek információval". Úgyhogy legalább egyelőre még nem jelentették ki egyértelműen, hogy nem lesz nyilvános. :) (A valódi gondot szerintem az okozza, hogy a feedben vannak nem publikus információk, bár hallottam más - nagy bizonyossággal nem megalapozott - magyarázatot is.)
De a OneBusAway-es/OpenTripPlanner-es API egyébként elég stabil, viszonylag jól dokumentált, alapvetően használható (mindamellett, hogy nem nyújtja mindazt, amit egy GTFS-RT).
Hivatalos FUTÁR API lesz valamikor vajon a GTFS-hez hasonlóan?
Szóval nem valami teszt url, ami éppen működik vagy nem, hanem egy stabil url, satbil api-val, amit lehet használni.
Bár ahhoz ugye állandó erőforrás kell, ezért kérdés, hogy az is ingyen használható lenne-e. A GTFS-hez csak fel kell tölteni egy file-t, de a FUTÁR apihoz olyan szerverek kellenének, amik bírják a terhelést.
Tapasztalataim szerint a hivatalos futár app is küszködik néha az adatok letöltésével, vagyis a backend nincs csúcsformában.
Elvileg pazarlóbb, de a többi adat mennyiségéhez a naptár rész elhanyagolható. Ugyanígy pazarló, hogy 1193 féle van, de tartalmilag csak 133 különbözik, a többi ismétlés. Automatizáltan át lehet ezt alakítani, ugyanígy a helyesebb megoldás is kijön calendar.txt-vel, ha kell ez valamiért.
Ha minden igaz most úgy működik a dolog, hogy x és y dátum között vagy az van felsorolva, hogy mikor jár, vagy az, hogy mikor nem, attól függően, hogy melyikből van kevesebb.
Eddig volt egy tábla, amiben minden menetrend* fel volt sorolva egy oszlopban és mellett ott voltak a napok hétfőtől vasárnapig. Ha jár, akkor az adott nap, akkor bele van vésve egy 1-es.
A mostani megoldás talán takarékosabb és mintha a GTFS szempontjából így helyesebb lenne, szóval nem vennék rá mérget, hogy valaki javítani fogja.
Nem túl egyértelmű, amit írsz, de azt hiszem arra gondolsz, hogy a dátum helyén 0000-00-00 van. Ez azért van, mert jelenleg egyik járat sem közlekedik soha, kivéve bizonyos napokon. Hiányzik a calendar.txt, ha jól vettem ki az eddigi beszélgetéseket, de majd kijavít valaki, ha nem így van :)
Például a 33-as soha nem jár, kivéve hétfőtől péntekig, szombaton és vasárnap. Azaz minden egyes nap kivétel a szabály alól.
Még a garázsmeneti útvonalakhoz egy kis finomság. :)
Múlt héten Máté betette a budapesti buszos topikba, hogy nem lett javítva a 241A garázsmeneti útvonala, ezért megtévesztő utazástervek jöhetnek ki. Én most betennék egy durvább példát:
Vajon mit szólnának odabent, ha valaki bekopogtatna a Metró DBR járműtelep (kapu)megállóhelynél, hogy ő szeretne felszállni a metróra, mert ezt az útvonalat tervezte neki az utazástervező? :D :D