[GIS] Layer misalignment with UK Ordnance Survey data and OpenLayers

bing-mapsgoogle mapsopenlayers-2qgis

I am in the UK and my QGIS projects are based on UK Ordnance Survey mapping data and are set up in EPSG:27700. Whenever I have tried dropping an OpenLayers layer (Google Satellite/Bing Maps Aerial) in via the OpenLayers plugin (v0.90) it is always offset by 10 metres or so from my mapping data (rendering it useless).

I have tried turning on 'on the fly' reprojection, reprojecting in Google Mercator (EPSG:900913), starting a new QGIS project in Google Mercator projection, etc etc but the result is always the same.

I don't suppose anyone can describe a workflow that would result in a QGIS project containing an OpenLayers layer correctly aligned with (UK Ordnance Survey) mapping data?

(Apologies if this is the wrong place to post this type of query but I am inclined to think it is a case of me being stupid rather than a bug in the software.)

—-Edit—-

Update… The problem appears to be with QGIS, as an export of a correctly georeferenced vector map to KML as suggested by nhopton below also results in a misalignment with the satellite imagery.

Best Answer

If you have a shift of a few metres, you should try using a nadgrid instead of the constant +towgs84 parameters as defined by EPSG:27700. The three-parameter transformation used only has a accuracy of 21m.

You can find the official grid data here: http://www.ordnancesurvey.co.uk/oswebsite/gps/osnetfreeservices/furtherinfo/ostn02_ntv2.html

An alternative solution would be

+towgs84=446.448,-125.157,542.060,0.1502,0.2470,0.8421,-20.4894

with an accuracy of 2 metres.

See also:

Raster incorrectly reprojected to OSGB(27700)

How to reproject a raster file in QGIS with datum transformation?

Related Question