Fiona Hemsley-Flint had a good look at the OS Locator dataset which is available from the Ordnance Survey Open Data portal. I thought a summary of her findings might be of use to others thinking about how to use this dataset.
OS Locator contains a list of all the road names in UK, “derived from a number of Ordnance Survey datasets [Meridian2, Road database, Locality dataset, Boundary-Line]. These include the roads database which contains information on road names and road numbers and is the latest generation of Ordnance Survey’s sophisticated and highly detailed geographic data”. OS recommend viewing it on top of mid-scale datasets such as 1:10k & 1:25k Raster and streetview (which is freely available via OS opendata).
Each feature is geo-referenced by a centre point and a bounding box (although some of the bboxes are actually line features where the road segment of the feature is horizontal or vertical).
Figure 1. Multiple occurrences of Ferry Road, differentiated by their locality.
The roads have a name and/or a classification, where the classification represents a road number, (e.g. ‘A1’ or ‘B1243’). They also have an associated settlement (town), locality, county/region and local authority; the latter two are derived from Boundary-Line, it is unclear what is used to form the ‘Locality dataset’. Locality and settlement are likely to be the most useful of these attributes when displaying result sets. For roads which cross locality boundaries, a point is assigned for each separate locality, therefore one road may have more than one point associated with it, distinguished by its locality.
851505 rows of data were added to a development server.
Multiple geometry columns have been added to take into account the different geometries available.
A ‘tsvector’ column has also been added to implement Postgres text search functionality. An example query might be:
select name, classification, locality, settlement from os.locator_nov_10 where search @@ to_tsquery(‘high & street & edinburgh’);
Which returns the following result set:
Name Classification Locality settlement CORSTORPHINE HIGH STREET Se Corstorphine EDINBURGH HIGH STREET Musselburgh Central EDINBURGH HIGH STREET Musselburgh North EDINBURGH HIGH STREET Holyrood EDINBURGH HIGH STREET A199 Musselburgh North EDINBURGH HIGH STREET A199 Musselburgh Central EDINBURGH NORTH HIGH STREET Musselburgh North EDINBURGH NORTH HIGH STREET A199 Musselburgh West EDINBURGH PORTOBELLO HIGH STREET B6415 Milton EDINBURGH PORTOBELLO HIGH STREET B6415 Portobello EDINBURGH NORTH HIGH STREET A199 Musselburgh North EDINBURGH
Overall, the dataset contains a comprehensive list of the roads names within the UK. Decisions will need to be made about how to treat multiple features that actually refer to the same real world road.
The main limitation of this dataset is that it can only be used to show the user the general location of a road – it can’t be used as a precise address gazetteer since it only provides street names with no knowledge of building numbers.