Creating Isochrone Travel Time Maps in QGIS with OpenRouteService
Contents
Introduction
Isochrone maps are a map type which represent a geographic extent accessible within a certain time threshold from a specified point or line. They often represent travel time on foot, by car, or by transit services.
This tutorial will provide a walkthrough in the creation of isochrone maps, how to manipulate the output based on their intended use and audience, and a way to host them online to be accessible by other users.
The software to be used for this tutorial is QGIS. Visit their website to download the software at this link. Find an installation guide here if you need assistance through the download process.
Data & Plugins
With the QGIS software downloaded and open, follow the next steps to attach all the necessary plugins and tools to your QGIS interface.
HCMGIS
This tutorial will use the HCMGIS plugin to source basemap. Through this plugin, you can instantly load basemaps from multiple sources, like Google Maps (including satellite imagery), ESRI, and other cartographic services. It also facilitates downloading OpenData, but a different option for doing this will be explored in this tutorial.
From the Menu Toolbar of the QGIS interface, find Plugins and select Manage and Install Plugins. Under All, search for HCMGIS, and click Install Plugin.
Once installed, you should see HCMGIS listed in the QGIS Menu Toolbar.
Using the HCMGIS plugin, add the ESRI Topographic basemap to your project.
QuickOSM
Use the same method as in the HCMGIS section to access the Plugin repository, and install the QuickOSM plugin.
Usage of QGIS for projects and analysis will show that QuickOSM is an indispensable resource which allows simple but in-depth querying of open data, which is instantly downloaded from OpenStreetMap and added to your project.
The QuickOSM toolbar should now be added to the Toolbars present in your QGIS project pane. Look for the following symbols:
Click on the green magnifying glass to open the QuickOSM query tool. Set the parameters of a Quick Query as shown below to download the lines and stations of the O-Train network, including the current operating extent, and the future East and West extensions. The Advanced parameters shown will ensure that the lines and points are downloaded, and are immediately saved to a named Shapefile in your project directory.
The output will require the following tweaks to properly visualize the O-Train system:
Stations
- Rename point layer to LRT Stations
- Change to a categorized symbology.
- Set value to railway.
- Deselect all node types except station.
- Change the station symbol to an icon which will display well over the basemap and route lines.
- With the LRT Stations layer selected, use the Select Features by Area or Single Click tool
to select all stations West of Tunney's Pasture, representing the Stage 2 West extension, as pictured below:
- With these stations selected, right click the stations entry in the Layers pane, and select Export -> Save Selected Features As..., and save the selected points as an aptly named shapefile, ensuring to check the box to add the new file to your project.
Routes
- Rename lines layer to LRT Routes
- Change to a categorized symbology.
- Set value to name.
- Change Confederation Line and East and West Extensions to a red line.
- Change Trillium Line to a green line.
- Change Trillium Line - Airport to a light blue line.
- Deselect all other values item to hide storage and maintenance trackage.
Ensure the Stations point layer is drawing above the Routes line layer, and you should be left to an output similar to this:
ORS Tools
The final plugin to install before beginning to create is ORS Tools. It is found in the plugin repository and should be installed in the same manner as HCMGIS and QuickOSM before.
OpenRouteService API Setup
The OpenRouteService API provides routing services and capabilities, which can be utilized through software like QGIS to compute, in this case, travel times from points or lines. Navigate to the OpenRouteService webpage at this link.
From the log-in screen, choose the option to Sign Up for a new account. Fill in your account information, choosing Education as the purpose of the account.
You will need to verify your account through a link sent to the email used for sign-up.
Once your account has been verified, logging in should direct to the OpenRouteService API documentation. Click on your profile icon in the top right
to create or access your API token. A free token should have been created alongside your account, but if it requires you to create a token, choose the Free token and fill in a descriptive name. Each OpenRouteService account grants the user access to one free key which permits the computation of 500 isochrones per day.
Once your API key has been generated, clicking on your profile should present you with the following screen:
Your redacted key is listed at the top. Clicking on the text or the copy button will copy the entire key to your computer clipboard.
Returning to QGIS, find the Web tab on the Menu Toolbar, and hover over the ORS Tools option. From the expanded menu, select Provider Settings.
In the subsequent pop-up menu, expand openrouteservice. In the API Key field, paste your token that you copied from your ORS account. Click Save
Isochrone Creation
The most convenient way to access the ORS Tools plugin is through the QGIS Processing Toolbox. If your toolbox is not open, you can find it under Processing in the Menu Toolbar, by clicking the icon
, or by pressing Ctrl + Alt + T.
In your toolbox, you should see a listing for the ORS Tools plugin installed earlier. Expand the ORS Tools section, and open the Isochrones submenu. Listed here are shortcuts to the isochrone creation menus. The options are Isochrone from Point which allows you to manually choose a single point on your map canvas to calculate travel times, or Isochrones from Point-Layer which computes travel times from an existing point(s) layer in your project.
LRT West Extension
For this first step, choose Isochrones from Point-Layer.
Look through the list of parameters to be set in the creation menu.
- Provider
- Ensure set to openrouteservice
- Travel mode
- To choose which method of travel you'd like your times to be based on. Set to foot-walking
- Input Point layer
- The points from which the travel times will be calculated. Set to your West extension stations layer.
- Input ID Field
- Choose if any values transfer to the travel time polygons. Can be left blank.
- Dimension
- Choose whether ORS calculates travel time or travel distance. Set to time
- Comma-separated ranges
- This is where you choose which time thresholds you would like to be calculated from your points, in minutes. These must be whole numbers, with values above one hour remaining in whole minutes (i.e. 1.5 hours = 90). Enter 5, 15 here.
- Location type
- This sets your points as either the start point of travel, or the destination. For small scale analysis like in this tutorial, these differences are often negligible. Leave as start.
- Advanced Parameters
- Several additional parameters can be set to further manipulate the output to your desires. Here you can choose a smoothing factor to simplify the output polygons, you can specify features to avoid like borders, ferries, or toll roads (based on OpenStreetMap data), or polygon layers present in your project.
Be sure to also set the output to save to a file type of your choice.
Setting the isochrone parameters as shown above should result in an output similar to this:
The default output symbology often leaves some to be desired. Methods to improve the visualization of these isochrones will be explored in the next section.
Isochrones from Point
The visualization of walking times to multiple points as shown above is a useful small scale tool for local residents, but isochrones can convey much more information.
For this step, choose a major city in Europe and find it on your map canvas. This tutorial will be using Hamburg, Germany as an example.
In your processing toolbox, select Isochrones from Point under ORS Tools -> Isochrones.
The parameters menu is identical to that of the point layer option, save for the Input Point. In this menu, clicking the three dots to the right of the text box will allow you to manually select a single point on your map where the calculations will be based.

