[GIS] What are the differences between 81989 and 27700 CRS for the British National Grid

coordinate systemoracle-spatial

We are using Oracle Spatial to run point in polygon queries in Great Britain using Ordnance Survey MasterMap and point data. MasterMap is on British National Grid (BNG) and has the Coordinate Reference System (CRS) 27700, while our point data has the Oracle Spatial 'BNG version' 81989. Will it matter that we are using different systems?

Best Answer

The two coordinate systems are essentially equivalent: 81989 is the older "legacy" definition that used to ship with Oracle before 10gR2. 27700 is the EPSG definition that ships since 10gR2. Transformations give slightly different results due to the difference in datum shifts.

Onto your specific question: your Mastermap data is 27700, your point data is 81989. Will you be able to use your 81989 points to search the 27700 Mastermap data ? The answer is yes. Queries will automatically transform your points from 81989 to 27700 to perform the searches. That transformation will either retain the same coordinates, or slightly shift them. The main issue will be wasted performance due to this essentially unnecessary transformation.

A better solution will be to change the SRID in your points. For that, you need to drop the spatial index, update the SRID inside your points, change the SRID in your metadata and rebuild the index. To replace the SRIDs in the geometries use this approach:

update my_points p set p.geom.sdo_srid=27700;

i.e. remember to use an alias.

Generally speaking it is better to use the EPSG codes instead of the Oracle "legacy" SRIDs. EPSG codes are generally a bit more accurate, but more important they are more "standard" and make it easier to exchange data with others.

Related Question