UK Ordnance Survey Map

With Feature Capture, Conversion, & Editing (OpenLayers API Version)

This page provides a means of capturing, converting, drawing, and editing features on UK Ordnance Survey Maps.  Features such as roads, waypoints, boundaries, areas, etc, can be drawn or edited directly on the map, as well as imported and exported in several formats to and from text buffers, via which they can be selected, copied, and pasted to and from external files on your PC.

Updated March 2017.

Use decimal degrees or Degrees : Minutes : Seconds?
Where is the location?
What projections do you wish to read and write?
What data formats do you wish to read and write?



 Mouse Mode 


 Feature Buffer 


 Layer Buffer 



Choices made in the main form can be set into the page URL by clicking Submit, and then the URL bookmarked, providing an easy way to preserve your settings.

The button to create the map only becomes visible once an initial UK location has been chosen, the form offers a number of choices for setting this.  Once the map has been created it may be recentred using the same choices (recentring may freeze the map in Opera 9, but zooming out a level and then back in again should unfreeze it).

The page also contains choices for importing and exporting features as text, using the two buffers beneath the map.  Importing from either buffer to the map uses the read format and projection choices, exporting from the map to either buffer the write choices.  Although attempts are made to trap erroneous input and recover gracefully, trying to import, say, GML.v2 data as Generic or v3 is not easily recovered, so care is necessary to ensure that the read settings always agree with the format and projection of data placed in the buffers.  For working in buffers, keystrokes can be disabled from affecting the map by moving the mouse pointer out of it, and enabled by moving it back in again.

The first buffer, the Feature Buffer, works on a currently selected features basis.  Write From Features will write to the buffer any features that are currently selected on the map, doing nothing if there are none, while Read To Features will replace any currently selected features, or simply add new ones if none are selected.  Append Features adds the contents of the Feature Buffer to the end of the Layer Buffer.

The second buffer, the Layer Buffer, works on a map basis.  Write From Layer writes all the features on the map to the buffer, Read To Layer replaces all the features on the map with those in the buffer.

The mouse controls next to the map allows the mouse to be switched between navigating the map, drawing new features, selecting existing features, and editing an existing feature.  In line & polygon drawing modes, <Ctrl-Z> undoes the last point(s), <Ctrl-Y> redoes the last undo(s), and <Escape> cancels drawing.  In polygon drawing mode, holes can be inserted into an existing polygon by <Alt-Click>ing the first point of a hole polygon and then continuing as normal.  In multi-select mode, features can be added and removed from the current selection by holding down <Shift>, and selected features can be deleted with <Del> or <D>.  In edit mode, if either of these delete keys is pressed above a vertex, the individual vertex is deleted (you can't delete or undo the last remaining vertices of a line or polygon), otherwise a prompt to delete the entire feature is shown.  If the Read and Write parameters in the form are the same, the feature is displayed in the Feature Buffer during editing, where its numerical coordinates can be edited directly for fine adjustment, the edit taking effect when the feature is unselected.

The mouse position log gives the mouse pointer position in Longitude/Latitude, E/N, and UK Grid Reference, unless the pointer is outside of the map, when the map centre is shown instead.  The feature log beneath gives details of the extent of features on the map.  When no features are selected, the dimensions of the rectangle bounding all features on the map are displayed, when multiple features are selected, the dimensions of the rectangle bounding all selected features are displayed, when a single feature is selected, appropriate feature dimensions such as path length, perimeter length, and enclosed area are displayed.

OS's OpenSpace® on-line mapping covers UK down to street level, including the IoM and Scottish Isles out to St Kilda, but areas of the UK which are the responsibility of other agencies are either only covered by OS at low scale, such as NI, or not at all, such as CI.  If, despite the coordinate vetting, you manage to create a map of somewhere not actually covered, the map may just show nothing, or stick on an area on the north east coast, in which case set a new location.  Coordinate conversion between Lat/Lon and E/N doesn't use OSTN02™, so coordinate readouts should only be considered accurate to around 5m.

Created Using OpenLayers API

Updated Description
18/03/2017 Reinstated support for IE8.
01/01/2017 Corrected degree symbol in DMS mode.  Added GPX file format.  Improved feature dimensions logging and cursor feedback.  Updated site OpenLayers script to remove unnecessary layer z-order changes.
07/12/2014 Updated site OpenLayers script to implement history controls.
29/07/2014 Added ability to draw holes in polygons, and when drawing lines & polygons, to undo and redo points, and to cancel altogether.
01/02/2014 HTML5, OpenLayers v2.13, data and form script updates.
30/09/2013 Added feature dimensions logging.
05/09/2011 Refinements to site OpenLayers script, restoring IE6 compatibility.
27/10/2010 Fixed bug loading DMS values from URL.
03/10/2010 Significant rewrite of asynchronous script loading.  Cut down OpenLayers script for faster loading.  Removed text-editing bugs when read and write parameters differ.  Unfortunately, this page can no longer be supported for some combinations of IE6 and Windows.
13/06/2010 Safer Array for() loops if the Array.prototype is altered.
25/04/2010 Added demo.  Fixed IE8 bug where features were sometimes not read onto the layer.  Added data type tagging to help prevent, and improved behaviour with error message in the event of, bad data being read from a buffer.  Disabled text representation editing when the read and write parameters do not agree.  Added confirmation prompt to prevent unintentional loss of data when submitting data.
06/04/2010 Temporarily fixed post code lookup bug introduced by undocumented and probably unintended OS change to their server response.
27/01/2010 Added confirmation prompt to prevent unintentional loss of data on pressing 'Submit'.
31/12/2009 Copied to server an overlooked script needed for post code lookup.  Fixed bug with editing and deletion.
29/12/2009 First major useable version in its current form.