Transito: Userguide

Transito is FOSS data-provider-agnostic public transportation app that let's you route between locations using openly available public GTFS feeds. For an overview of Transito's functionality see Transito's project page. This document is a guide on how to get Transito setup on your local device.

Install

  • Android
    • The recommended way to install is via F-Droid
      • Get it on F-Droid
    • Development builds can be used for testing from the CI server
      • Builds tagged as master: Latest builds / features development, may be less stable
      • Builds tagged as 0.x.x: Tagged builds for specific releases, see Release Notes for details on changes
  • Linux & Desktop

Usage

This section will guide you through a basic routing request using an example of using the Agglobus provider in Bourges, France (GTFS feed ID: 1898). You may wish to change your GTFS datafeed and search terms, however if you're unclear about how to use the app, this is a good guide to follow along with:

Screenshot Description
Config:
  • After launching the app, by default you will be on the Config tab.
  • This tab lets you download GTFS feeds and configure various advanced parameters.
  • For our basic example walkthrough, type 'Bourges' in the GTFS feed search and select the 1898 feed ID correlated to the Agglobus provides in Bourges, France
  • Different providers of GTFS datafeeds each have their own specific feed ID, you can learn more about this at the available GTFS Feeds guide.
  • You can also interactively search for an appropriate GTFS provider datafeed ID at the Mobility Database UI.
  • Clicking add will start the GTFS load process, this is a long-running process which downloads the GTFS data from the origin provider and prepare it in a format usable for routing.
  • Depending on the size of the feed this may take several minutes or longer (even possibly up to an hour for large feeds); please be patient GTFS dataload is a onetime process and then subsequent app functionality works offline.
  • Once you have your GTFS feed set; 3 new tabs are present (Route, Stops, and POI), for our example switch to the Stops tab.
  • Important sidenote for Config tab: The advanced config parameters effect GTFS loads. In particular, Use Agency GTFS URLs effects whether to use agency or CI/mirrored GTFS URLs (which are enabled by default and may be slightly out of date), see documentation below.
Stops:
  • On the Stops tab, you can select stops as an origin or destination point for routing.
  • Stop selection lookup takes place offline and is a simple way to quickly find origin/destination points without typing a specific POI or address.
  • For our routing example, type 'Robespierre' in the filter and select that associated stop for 'Set as From'.
  • You will be taken back to the Route tab and see that the From location is set.
  • Now, let's set the destination, instead of using a stop, let's use a point of interest (POI) this time; select the POI tab.
POI:
  • On the POI tab, you can search for either points of interest (POIs) or direct addresses by using Nominatim.
  • For our example, we will route to "Velodrome" so simply enter that into the search field and press the "Search" button.
  • In the select list below you will see results; you can pick among multiple results if there is more then 1 match.
  • Once you've determined the correct location, press "Set as To".
  • You will be taken back to the Route tab and see that now that both the From & To locations are set.
Route:
  • Now the From and To locations are set, and you're on the Route tab.
  • From here, to submit a routing request, simply press the "Route" button.
  • Be patient as the route is calculated on your device, depending on the GTFS feed size and your request the time for the routing algorithm to complete varies.
  • Once the route has been calculated:
    • Clicking "Overview" shows the steps for the route.
    • Clicking the "Map" button opens a URL to show the route on a map (see next section).
    • Clicking "Debug" shows raw diagnostics response information about the including route & performance details (and copies this raw data to the clipboard).
    • Clicking "Clear" clears the route result.
Map:
  • Clicking the "Map" button opens a URL to show the route on a map.
  • Note: the map view requires being online.
  • This map is simply the route rendered to GeoJSON and passed in the URL hash to a GeoJSON WebUI Rendering JS UI.
  • You can click on locations on the map for details on each leg's steps and such.
  • In the bottom right of the map there is a link that says "m" which you may click to see the original route request parameters.
Fave:
  • On both the Stops and POI tab there is a button "Favorite", clicking this adds the location to your favorites.
  • This tab, Fave, can be used to store commonly used locations such as your work, home, or common stops.
  • Favorites function offline & this tab will only be present if there is >1 favorite.

Routing Params

On the route page there is a button entitled Params which lets you toggle hiding and showing the parameters for routing requests. On each boot these params are reset to pragmatic defaults. Each param correlates to to a tunable in the underlying Mobroute library routing function call. See the documentation page for routing tunables for extended information on each param. For a high level overview of each param, please reference the below table:

Parameter Default Value Explanation
Max Wᵐ 20 Maximum number of minutes to consider valid walking to the origin stop for the first trip or walking from the destination stop for the last trip.
Max Tᵐ 240 Maximum number of minutes for the total route / trip duration. By default 240 minutes (4 hours).
Min Cᵐ 3 Minimum number of minutes to consider a transfer (c)hange valid.
Max Cᵐ 40 Maximum number of minutes to consider a transfer (c)change valid. Set to a lower number to prevent excessively long transfers as desired.
Wᵏᵐʰʳ 4 Speed of walking (for both transfers & from/to origin/destination) in km/hr ratio. Adjust up or down depending on your speed.
Feed Transfers Enabled Enables origin GTFS tables.txt based transfers.
Implicit Transfers Enabled Enables implicit transfers from one stop to another stop (with the same parent stop).
Generated Transfers Disabled Enables 'generated' both same feed and intrafeed transfers. Heavier performance cost, but necessary for transferring between multiple feeds or in the case where feed & implicit transfers don't suffice for a single feed.

Updating Feeds

Periodically after a given GTFS feed is loaded you may wish to update the feed. GTFS feeds are all correlated with a specific daterange (this is indicated on loaded feeds on the Config page). Note this daterange is calculated from the origin calendar and calendar_dates GTFS tables.

There are few important points to note with respect to updates:

  • Mobility Database handles all feed specific updates (GTFS URL changes, new feeds, removed feeds, metadata updates etc.).
  • On each new release & build, Transito embeds a copy of the Mobility Database's master CSV which is snapshotted & embedded in the release binary.
  • The update link alongside each feed after load let's you update feeds from the provided source URL (either Mobility Database's CI mirror URL or the direct agency URL - see next point)
  • The advanced config parameter Use Agency GTFS URLs is very relevant to updates. This parameter if checked will use "direct" agency URLs; while by default Mobility Database's cloud mirrored bucket CI URLs are used.

A good way to assess whether to update a given GTFS feed is to reference the daterange alongside the loaded feed (and note this daterange may change after an update after not using the app for sometime).

Advanced Config

On the config page there are a number 'Advanced Configuration' option checkboxes. By default all these are disabled & for pragmatic defaults you shouldn't need to change anything. If you're interested in fine-tuning however these parameters can be very helpful.

Parameter Disabled Functionality (Default) Enabled Functionality
Offline Mode Online functionality is enabled. This includes the POI tab & GTFS add/updates. Disables all 'online' functionality (POI tab & GTFS add/updates).
Disable Schedules Upcoming departures are shown on the Stops tab. Upcoming departures are not shown on the Stops tab (can be helpful for performance issues).
Crossfeed Transfers Computed transfers between separate feeds are not calculated in adding/updating feeds. Computed transfers are dynamically calculated between feeds when adding/updating feeds
Use Agency GTFS URLs Use cloud / bucket CI-generated GTFS URLs when loading or updating feeds. May be occasionally out-of-date as Mobility Database source CSV GTFS bucket URLS are updated periodically. However, generally bucket CI mirrored URLs are vastly more reliable than any 1 given agency. Use direct agency GTFS URL - always more up-to-date but certain agencies have usage or rate-limiting policies. Upstream GTFS URLs agency URLs reliability guarantees vary in quality among the ~1500 agency providers.