Skip to content
dracos edited this page Nov 30, 2012 · 2 revisions

In the UK, if a boundary has a substantial change, the ONS gives it a new ID. They switched system a couple of years ago; in MapIt, their old codes are "ons", their new ones "gss". MapIt does similarly with its own IDs (using our own IDs was sadly necessary because the ONS does not issue identifiers for county council wards, and in the past other areas too).

This means that, technically, the ID in MapIt is not a stable identifier for a particular administrative body. If Lichfield District Council had a boundary change, it would get a new ID which would no longer be 2434 as present. However, this would be bad, because many systems, including mySociety's own, pretty much treat these IDs as stable identifiers for particular administrative bodies.

When this arose with councils (for the first time, it appears), as opposed to smaller things like wards, in the May 2012 OS Boundary-Line release, we made the decision to maintain the ID, give it the new boundary, and create a new ID containing the old boundary. This isn't very pretty, but there you go, it's how it is. In the future, we should perhaps treat the current identifiers as 'stable' and 'current', and put historical information "underneath" it (in a URL sense) in some way.

This means that if you have a UK MapIt which links with other datasets, even solely using ONS IDs, problems may arise if you need to keep this mapping even through boundary changes.

For example, Glasgow City Council had a boundary change in the May 2012 Boundary-Line. Before then, it had ONS identifier S12000043 (00QS in the old system). ONS then gave the new boundary identifier S12000046. So in mapit, if you import (to an empty database) the latest Boundary-Line and then run the add_ons_to_gss script (because you need the old identifiers too), you will have one boundary with ID S12000046. This is correct. However, if you need to map to some other database that uses "00QS" as a stable identifier for Glasgow, then I'm not sure what you should do. You could add 00QS to S12000046, but technically that is incorrect, 00QS was equivalent to the old boundary S12000043. I leave this up to you and your requirements.

Clone this wiki locally