Routino Introduction
Routino is an application for finding a route between two points using the dataset of topographical information collected by http://www.OpenStreetMap.org.Starting from the raw OpenStreetMap data (in the form of the '.osm' XML files available on the internet) a custom database is generated that contains the information useful for routing. With this database and two points specified by latitude and longitude an optimum route (either shortest or quickest) is determined and output as a text description and a track in GPX (GPS eXchange) XML format. The route is calculated for OpenStreetMap highways (roads, paths etc) using one of the common forms of transport defined in OpenStreetMap (foot, bicycle, horse, motorcar, motorbike etc).
When processing the OpenStreetMap data the types of highways are recorded and these set default limits on the types of traffic allowed. More specific information about permissions for different types of transport are also recorded as are maximum speed limits. Further restrictions like oneway streets, weight, height, width and length limits are also included where specified.
When calculating a route the type of transport to be used is taken into account to ensure that the known restrictions are followed. Each of the different highway types can further be allowed or disallowed depending on preferences. For each type of highway a default speed limit is defined (although the actual speed used will be the lowest of the default and any specified in the original data). To make use of the information about restrictions the weight, height, width and length of the transport can also be specified. Further preferences about road properties (e.g. paved or not) can also be selected.
One of the design aims of Routino was to make the software are flexible as possible in selecting routing preferences but also have a sensible set of default values. Another design aim was that finding the optimum route should be very fast and most of the speed increases come from the carefully chosen and optimised data format.
Disclaimer
The route that is calculated by this software is only as good as the input data.Routino comes with ABSOLUTELY NO WARRANTY for the software itself or the route that is calculated.
Demonstration
A live demonstration of the router is available on the internet:http://www.gedanken.org.uk/mapping/routino/router.html
The source code download available below also includes a set of files that can be used to create your own interactive map.
The interactive map is made possible by use of the OpenLayers Javascript library from http://www.openlayers.org/.
Documentation
The algorithm used and the way that the OpenStreetMap data tags are used are described in detail on their own pages.Detailed information about how to use the programs is also available and the download contains installation instructions.
Status
Version 1.0 of Routino was released on 8th April 2009.Version 1.1 of Routino was released on 13th June 2009.
Version 1.2 of Routino was released on 21st October 2009.
Version 1.3 of Routino was released on 21st January 2010.
Changes in Latest Version
- Bug fixes:
- Ensure output even if the distance between two adjacent route points is small.
Correct the determination of waypoints for abbreviated output.
Check the command line values for filedumper --dump options.
Made the verbose output consistent between different places. - OSM tagging
- Recognise "designation" tag to determine designated paths.
Recognise "steps" tag to determine the highway type.
Recognise "wheelchair" tag to determine if wheelchairs are allowed on highway.
Recognise "moped" tag to determine if mopeds are allowed on a highway.
Recognise "surface" and "paved" tags to determine if a highway is paved.
Recognise "lanes" tag to determine if a highway has multiple lanes.
Recognise "bridge" tag to determine if a highway is a bridge.
Recognise "tunnel" tag to determine if a highway is a tunnel. - New Features
- Remove "bridleway" and "footway" highway types and use "path" highway instead.
Added "steps" as a new highway type separate from the "path" type.
Added "wheelchair" and "moped" to the list of possible transports.
Added "paved", "multilane", "bridge", "tunnel" to list of highway properties. - router
- For each waypoint choose closest point on a segment and not just closest node.
Added the ability to set preferences based on highway properties.
Changed the text output formats to include bearing and turn information.
License
This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.It is important to note that for this program I have decided to use the Affero GPLv3 instead of just using the GPL. This license adds additional requirements to anybody who provides a networked service using this software.