| CycleStreets (web/iPhone/Android/HTML5)|
UK-wide cycle journey planner CycleStreets - Cycle navigation for cyclists, by cyclists. Plan routes from A to B anywhere in the UK (other countries gradually being added), with a choice of four routing modes to suit a range of cyclists from beginner to regular commuter. And the Photomap lets you submit photos of infrastructure problems or good practice.
This page is about the cycle journey planner system. For tagging cycle streets within OpenStreetMap, see the bicycle_road=* tag.
CycleStreets is a UK-wide cycle journey planner system, which provides a means to plan routes from A to B by bike, using an interface optimised for the task. It is designed by cyclists, for cyclists, and caters for the needs of less both confident and less confident cyclists. It was written by two regular cyclists (and cycle campaigners) living in Cambridge, UK.
The system provides the fastest route, quietest route and third route balancing these two, for each itinerary requested.
The site is currently marked as being in (public) beta.
- UK wide site: http://www.cyclestreets.net/
The local city homepages have the same functionality as the UK-wide version (indeed, the routing is not limited to the area specified) but they merely conveniently focus the map start point at the city/town/district concerned, and limit the photos added to the Photomap part of the site (effectively a photo-geo-wiki) to being within that area.
Routing algorithm / features
This is documented at http://www.cyclestreets.net/journey/help/, although that documentation does not yet fully reflect the range of optimisations in place.
The data import involves a set of [transformations of the OSM data], followed by an extensive series of optimisations and pre-processing to increase routing performance.
That import results in a [simplified list of provision types], against which routes are planned. The provision types table is the only subjective aspect in the routing.
The routing takes account of aspects such as one-way streets, traffic light delays. Turn delays and turn restrictions are not yet implemented but are being actively worked on as high priority.
Routing takes account of hills/contours, and uses SRTM. [Elevation profiles] are also shown.
Export of planned routes in KML and GPX is provided.
Routes are saved to a user's profile if signed in.
Photos (see below) geolocated along a planned route are shown on the route ("Photos-en-route"). There is also a Google StreetView integration.
The developers are keen to encourage feedback, and provide a customised feedback form on each page. Routing feedback is sent to a list which includes a few OSMers. An improved feedback-handling system is under development to allow greater OSM community visibility of data issues which are highlighted by problematic routes that users have planned.
The [Photomap] is a library of photos indexed by location. The index is presented as a map overlayed with markers indicating the location of photos in the library. Selecting the markers enables viewers to see the photos and in some cases watch video or hear audio clips of media taken at that location. Tools are provided to edit the index and add media.
A [gallery feature] is provided to enable photos to be grouped together. Tagging is also available.
Namefinding is now done using the excellent Nominatim geocoder.
The router is a custom-written Python implementation; the website software is written in object-orientated PHP5 and currently uses MySQL. Some software libraries are used, including OpenLayers and NameFinder.
The code is not yet open-sourced, but it is planned to do so in future. The mobile apps are on Github under the GPL.
The system is based on an earlier system on Cambridge Cycling Campaign's website, which launched on 27th Jun 2006, although much of the code has been refactored and substantially developed since then. The original system had ~5,000 lines drawn over a Google Map base in the Cambridge area. The new system is OSM-based instead.
The CycleStreets system went into public beta launched on March 20th, 2009, taking the system UK-wide. However, there has been an initial testing focus on Edinburgh, Cambridge and London and some other areas (being places most familiar to the development team and contacts).
No date is set yet for removal of the beta status indication, however, the following development areas are likely to be satisfied by that point:
- Turn delays (to reduce wigglyness of some routes)
- Improvements to tag handling
| CycleStreets Android App|
A free iPhone app is available, created thanks to grant funding from Cycle Cambridge and the Rees Jeffreys Road Fund. The CycleStreets Android app is available free through the Android Marketplace. There is also a Mobile HTML version of the website.
All three offer routing, saved journeys, the photomap, and photo upload. The source code for each is free software available under the GPL (version 2 for the iPhone app and mobile HTML, version 3 for Android).
A variety of apps using the API are available - see API section below.
An API is available, implementing both the routing and Photomap sides.
Users of the API currently include:
- CycleStreets for iPhone
- CycleStreets Android app
- CycleStreets Mobile
- Bike Hub journey planner for iOS
- Bike Hub journey planner for Android
- BikeRoute for Android
- Camden Cycling Campaign mapping system
- Cycle Hire App
- London Cycle: Maps & Routes app
- London Bike App
- TrackMyJourney includes CycleStreets routing alongside many other features
Others are welcome to apply for an API key.
CycleStreets Ltd has been set up as a not-for-profit to act as the legal entity behind the site.
Funding from a variety of sources is continually being sought, and the developers welcome suggestions for funding sources.