Preskoči na sadržaj
natrag na kartu

Doseg

Interaktivna karta dosega javnog prijevoza u Zagrebu. Klikni bilo gdje i vidi dokle možeš stići tramvajem ili busom u 15, 30 ili 45 minuta.

01kako radi

Klikom na kartu Doseg izračunava izokrone koristeći Dijkstrin algoritam nad ZET-ovim voznim redom. Rute se rekonstruiraju na klijentskoj strani, pa pregled prijelaza između linija radi trenutno dok pomičeš miš.

02podaci

ZET GTFSvozni red tramvaja i buseva
ZET GTFS-RTkašnjenja u stvarnom vremenu
OpenStreetMappješačka mreža
OpenTripPlannerserver za rutiranje

03privatnost

Nema kolačića, praćenja ni osobnih podataka. Svi upiti ostaju između tvog preglednika i servera za rutiranje.

04arhitektura

Teški dio posla radi Rust servis (axum). Dijkstrin algoritam po transit grafu, zatim ekspanzija pješačkom mrežom od 422K čvorova iz OpenStreetMapa.

GTFS-RT kašnjenja dolaze iz ZET-ovog protobuf feeda svake 30 sekundi (~600 trip updateova po osvježavanju).

ts-rs generira TypeScript tipove iz Rust structova, jedan izvor istine za cijeli stack.

Next.js servira SSR stranice i lakše API endpointe. OpenTripPlanner radi planiranje ruta.

Ispred svega stoji Caddyreverse proxy s Cloudflareom. Koordinate se snappaju na mrežu (~100 m) tako da CDN može cachirati odgovore.

05otvoreni kod

Cjelokupni izvorni kod je dostupan na GitHubu.

Napravio Mislav Jovanović