What is Freemap?
Freemap is a project to create free and annotatable maps of the UK countryside, using OpenStreetMap data to create the maps. Freemap maps aim to show not only the official rights of way, but all paths with public access, many of which are missing on other maps.
- Map key
- Using Freemap's interactive features - how to annotate the map and create walking routes.
- The map isn't showing! Why?
- History and technical details
- Source code
- Other software hosted on this server and available for download.
- Back to map
Map key
The following diagram shows the colour scheme for different types of path (permissive footpaths, not shown here, are light blue):
The maps consist of two layers. The top layer (coloured) shows the routes with public access, as shown above. The lower layer (black and white) gives an indication of the path's physical condition, for example whether it's a dirt path, a track, or a farm access road. The second diagram shows examples of the lower layer, and also shows a permissive footpath:

Note how some paths and tracks have no coloured overlay. These are paths and tracks for which walkers' rights are unknown, i.e. it is not known whether they are walkable or private. Also note the public footpath in the top centre of the map, and how its southern end follows a farm access road and its northern end follows a track.
Using Freemap's interactive features
Freemap maps are interactive and allow you to:
- Click on a feature and get information about it;
- Annotate a feature with text, e.g. provide more information about a point of interest such as a hill or pub;
- Annotate the map, e.g. provide path directions or other info, such as the location of a good view or a problem such as a muddy path or path blockage;
- Draw your own walk route and automatically get a description of it, ready to take on a walk. This feature, not fully implemented yet, uses the annotations mentioned above above a self-describing walk route.
Points of interest (pubs, hills etc)
Annotating
Make sure you've signed up for an account and log in. Select "Annotate" mode and click on the feature. You'll then be prompted to enter the information.
Viewing information about the point of interest
In "normal" mode (you can select the mode at the top of the map) simply click on the feature, such as a hill or a pub icon. Info about that feature will then be displayed, assuming someone has added some that is.
General map annotations
Adding
As well as annotating points of interest, you can also add general annotations to the map. If these are near a right of way, they will be incorporated into the description of walking routes which use that right of way. Ensure you're signed up, and login. Select "Annotate" mode and click on the map at the position where you want to add the annotation. Add your text; if the annotation is on a path, you'll be prompted to select which direction the annotation applies to (can be both). Finally click Go. Once the annotation is added, you will be offered the option to accompany the annotation with a photo (might be useful to illustrate a nice view, or to provide an illustration to accompany path-finding directions)
Viewing
When the map is loaded, you'll see existing annotations as red asterisks. You can simply click on one to see the text associated with the annotation. If a photo was uploaded, you'll see the photo too.
Walking routes
Freemap also allows you to create self-describing walk routes (note, this functionality is new and prone to glitches at the moment). You can select "Route" mode and then draw your route. Freemap can use the path annotations described above to auto-generate a walking route description which you can print off and take on a walk. The walking route is available in HTML and PDF format, as well as an XML format intended for a (planned!) Freemap Android application which you'll be able to upload to your phone and use for in-the-field navigation. If you are logged in, you can also save your route to Freemap for later retrieval.
The walking route will incorporate annotations, as long as the annotations were close to a path and apply to that direction of travel .
Looking further ahead still, it is planned to link Freemap's walking route functionality to OpenTrailView, so you'll be able to "walk through" a series of panoramas along a walk route.
The map isn't showing! Why?
If the map doesn't show immediately, it's because the map for that area needs to be rendered (drawn) as no-one has viewed that part of the country for a while. This will take time so please bear with it! If you return to that area in 15 seconds or so, you should find the map drawn.
History and technical details
Freemap history
Freemap basically started up in 2004 more or less at the same time as OSM itself, but originally used its own database. My original motivation was that I wanted to illustrate some long-distance walks I did across England and Wales around the turn of the millennium, but found that I could not do that with OS maps without paying expensive licencing fees. So I thought it might be a good idea to create my own maps based on GPS data. Then in early 2005 I met Steve and, once a tagging scheme had been sorted out, contributed my data to OSM; Freemap then used OSM data for its maps, the maps still being rendered on the Freemap server, originally using PHP/GD and later using Mapnik.
More detail on history (warning: technical!)
Since it's more or less continuously updated, I have not up to now allocated well-defined version numbers. However, it is possible to identify five fairly distinct versions:
- Freemap 0.1, February 2005. Way back before the days of AJAX and "slippy maps", and when OSM was basically just Steve and one or two others, it rendered footpaths, roads and NASA SRTM contours from Freemap's own database using PHP and GD, and there was almost no JavaScript to be seen. At the time, it covered only a small section of southern England.
- Freemap 0.2, autumn 2005. This was the time when there was a big buzz round AJAX, and consequently I added AJAX feature lookup and annotation to Freemap. Still using its own database.
- Freemap 0.3, summer 2006. Two big additions, "slippy maps" (courtesy of Anselm Hook's tile.js, anyone remember that?) and more significantly, data was taken from OSM. For a time data was taken from the live OSM database; later a local copy of planet.osm was used. Rendering, though, was still done using the traditional PHP and GD approach.
- Freemap 0.4, March 2007. Perhaps the first "modern" Freemap, using OpenLayers for the slippy map (though an experimental OpenLayers version had been live since the previous summer), a "Google Mercator" projection, and Mapnik for the rendering. The map style was "Landranger-like", as with previous versions. This lasted some time, mostly due to a slight loss of interest in the project on my part due to server memory issues (see below). This was the version that the Java ME client, FreemapMobile, communicated with.
- Freemap 0.5, December 2010. The current version; uses tiles from SUCS and rendered at home. Redesign of rendering style to distinguish physical state of ways and access rights, as described above. Start on self-describing walking routes. Android client.
- Freemap 2012 (aka Freemap 0.6) is a proposed new version, aiming to solve once and for all the server load issues by using kothic-js client-side rendering, as well as fast, efficient, self-describing walking routes using pgRouting. Unless I get more server space, is likely to cover only selected (popular) areas of southern and northern England and Wales.
Use of SUCS
During the 2007-09 period, the increasing volume of UK OSM data meant that I was encountering memory issues with osm2pgsql import which even slim mode would not counteract, and had to take drastic action such as cutting out London, Birmingham, Manchester etc leading to strange white holes on the map - not to mention a nightmare import procedure with erratic tiles designed to avoid the large cities. But even that only worked for a while and eventually, around late 2009, I stopped updating the database altogether.
Luckily however, Chris Jones of Swansea University Computer Society very generously offered to host the tiles, which has led to Freemap development resuming, so great thanks to him! I also took the opportunity to re-design the maps to more clearly show the differentiation between legal rights and physical condition of paths, described above.
As well as the main layer rendered at SUCS, I render part of southern England (Hampshire, Surrey, Wiltshire, West Sussex) at home, every two weeks or so, to allow more frequent updates in this area. You can select between the two layers on the map.
Technical details
Here is a description of how Freemap is maintained, should you be interested.
- A PostGIS database on the SUCS server (see above) is used for the rendering, together with a custom Mapnik stylesheet
- For Freemap's interactive features, a smaller scale PostGIS database is also present on the Freemap server itself. As the SUCS database covers the whole world, database queries are rather slow. So to counteract that, a pared-down database exists on Freemap containing relevant points of interest (currently places, hills, pubs and restaurants), and (and there is a slight change here as at December 2011) roads and footpaths (anything with a highway tag) in certain counties only (Hampshire, West Sussex, Surrey, Wiltshire, Somerset, all of Wales, Derbyshire, Lancashire, Cumbria - I am aiming to cover my local area plus popular walking areas in the north of England and Wales). This is done by downloading county extracts from geofabrik.de, and then using Osmosis to extract the relevant information and osm2pgsql to import to the database. These small extracts do not have the memory issues of attempting to import the whole of the UK into the database.
Source code
Freemap and OpenTrailView source code is available via Subversion, under the address svn://free-map.org.uk/svn/freemap. Please email me on nick underscore whitelegg at yahoo dot co dot uk if you would like to contribute to the code and require an SVN account. It can also be browsed online here.