Open Route Service - Local Build

Open Route Service - Local Build

Following on from the publication of the spatial points dataset for Irish Fire Stations, a logical step forward is to do some time travel analysis using that data.

The plan is to perform this using the Open Route Service algorithm, which is based on Open Street Map data. Advantages of this method are that it is free, reliable and has good configurations, allowing Time Travel Boundaries to be created for walking, cycling, car or heavy goods vehicles for example. It’s very accesible, having a powerful api allowing access to the service via scripts in java, python etc. There is a nifty plugin available for QGIS also. There are some limitations - as this is a free service, there are usage limitations and this is controlled via a token. It might also be said that the service is not as accurate as those offered by ESRI or other commercial providers, or by systems using licensed route network layers.

Installation

It is possible to build a localised version of this service, using Docker, which allows the user to issue unlimited requests, the performance only limited by the local hardware. There are several steps in achieving this;

  1. Download and install Docker if you don’t have it.

    https://docs.docker.com/desktop/windows/install/

  2. Set up Docker to work on your machine.

    https://docs.docker.com/desktop/windows/troubleshoot/#virtualization-must-be-enabled - talks you through the setup on your windows machine

  3. Download and install the OpenRouteService package into a Docker container (see below image for link).

  4. Download Ireland Open Street Map country data from geofabrik

  5. Load the country data into the ORS container - this blog post really helped https://sites.google.com/view/dipayan-banerjee/local-openrouteservice-setup-windows-10-home

NOTE: there seems to be a small bug in the latest version of the ORS docker package which has one of the configuration files misnamed - this meant that the graphs for the network layer would not build. It meant I had to install an earlier version which worked fine. You can find earlier versions here.

Installing via the pull command

Installing via the pull command

This is a fairly involved process, especialy if you are new to Docker, like I was! I have included links to the sources that helped me above if needed.

Usage

To leverage this service properly, a GIS or similar service is best to enable bulk generation of time-travel boundaries etc. Luckily, there is an excellent plugin for QGIS called ORS-Tools. This gives a GUI-based interface to the ORS back-end, which you can configure to use either the web or the local version.

Conclusion

Once the above process is completed, and having overcome the ineveitable teething issues, it is very rewarding to use the ORS capabilities without about usage limitations. The speed gets a great boost also, since there’s no network latency to contend with. Some issues still to solve around configuration, for instance it seems to fail when a “driving-hgv” request is made.

All said, I’m looking forward to using this in forthcoming analyses - here’s a sneak peek….

Time Travel Boundaries showing service areas of facilities in Ireland.

Time Travel Boundaries showing service areas of facilities in Ireland.

Analysis of Predicted Fire Service Travel Time Boundaries in Republic of Ireland.

Analysis of Predicted Fire Service Travel Time Boundaries in Republic of Ireland.

Dataset - Fire Stations of the Republic of Ireland

Dataset - Fire Stations of the Republic of Ireland