An interactive, dynamic web application designed to calculate and visualize travel time polygons (Isochrones) and transit routes entirely using a local, free routing engine (OpenTripPlanner).
By leveraging local OpenTripPlanner (OTP) and raw OSM/GTFS data, this application completely bypasses expensive alternatives like Mapbox or Google Maps APIs, calculating complex multi-modal transit networks directly on your machine.
- Dynamic Isochrones: Compute travel-time polygons for Transit, Walking, and Driving.
- Micro-Routing: Click anywhere on the map to calculate exact A-to-B transit plans (including bus/train lines and walking transfers).
- Infinite Scaling (Local): Because calculations run on a local OTP Java instance, it handles unlimited API requests and scales strictly based on computer RAM.
- Beautiful UI: Glassmorphism controls, map styling, and responsive side panels built purely with HTML/CSS.
- Frontend: HTML5, Vanilla JavaScript (ES6+), CSS3
- Mapping: Leaflet.js
- Routing Engine: OpenTripPlanner (OTP) v1.5 [Local Backend]
- Data Sources: OpenStreetMap (.pbf) and GTFS (.zip) for public transit schedules.
To serve requests, the OTP engine needs to be running. You need Java installed.
cd otp-server
java -Xmx4G -jar otp-1.5.0-shaded.jar --router default --serverNote: OTP graph and map data files (.pbf, .zip, .obj) are large and thus not included in this repository. Ensure you place your local map/GTFS data in the otp-server folder before building the graph.
Simply open index.html in your web browser. A local server like Live Server (VS Code) or Python's HTTP server is recommended:
python -m http.server 3000Then navigate to http://localhost:3000. Ensure that OTP is actively running on port 8080.