Site Tools


Sidebar

Work

Projects Travel Singapore Socials (External)

projects:software:malaysia_gtfs_opentripplanner_onebusaway

This is an old revision of the document!


Connecting Malaysia's Transport Data APIs to OpenTripPlanner and OneBusAway

FIXME This page is a work in progress.

Malaysia's Transport Data APIs

OpenTripPlanner

  1. Create a working directory for OpenTripPlanner, for this example, we will use ./opentripplanner:
    mkdir opentripplanner && cd ./opentripplanner
  2. Download latest GTFS static data (TODO: automate this - need to make the URLs pass OTP built in https fetcher validation)
    • wget --trust-server-names https://api.data.gov.my/gtfs-static/mybas-johor
    • wget --trust-server-names https://api.data.gov.my/gtfs-static/ktmb
    • wget --trust-server-names https://api.data.gov.my/gtfs-static/prasarana?category=rapid-bus-penang
    • wget --trust-server-names https://api.data.gov.my/gtfs-static/prasarana?category=rapid-bus-kuantan
    • wget --trust-server-names https://api.data.gov.my/gtfs-static/prasarana?category=rapid-bus-mrtfeeder
    • wget --trust-server-names https://api.data.gov.my/gtfs-static/prasarana?category=rapid-rail-kl
    • wget --trust-server-names https://api.data.gov.my/gtfs-static/prasarana?category=rapid-bus-kl
  3. Download the latest OSM database for Malaysia(+):
    wget https://download.geofabrik.de/asia/malaysia-singapore-brunei-latest.osm.pbf
  4. Additional configuration is required because Malaysia’s GTFS files do not include timezone: FIXME TODO
  5. Build OpenTripPlanner graph:
    docker run --rm -v ./opentripplanner:/var/opentripplanner docker.io/opentripplanner/opentripplanner:latest --build --save
  6. Run OpenTripPlanner server
    • Docker:
      docker run -it –rm -p 8080:8080 -v ./opentripplanner:/var/opentripplanner docker.io/opentripplanner/opentripplanner:latest –load –serve
    • Docker Compose: TODO

FIXME FIXME FIXME FIXME FIXME

projects/software/malaysia_gtfs_opentripplanner_onebusaway.1735648048.txt.gz · Last modified: 2024/12/31 12:27 by Andrew Yong