[GIS] British National Grid to KML results in offset polygons

convertcoordinate systemkmlshapefile

I have a shapefile of English wards from ONS.

It is similar to the files available here:
http://www.ons.gov.uk/ons/guide-method/geography/products/census/spatial/2011/index.html
except I had to explicitly ask them for ward shapes, for which they have just released census data.

They sent me a shapefile, and I would like a KML. The shapefile lines up perfectly (I use MapWindow GIS to view it) with The other shapefiles in that set, suggesting there is nothing wrong with the coordinates of this one file.

When I convert it to KML, all the coordinates are offset. I use Google Earth to view it, and it does not line up with the other KML files (for example MSOA).

In both cases I am looking at the clipped to the coastline versions. I am specifically looking at Lambeth, and I can see that the border does not line up with the Thames and is in land too far east and and possibly a bit too far south.

To convert from shapefile to KML I have tried PostGIS, a Shape2Earth plugin for MapWindow GIS and an application called shp2kml. In all cases I get the same result.

I have tried converting the Shapefile from BNG to WGS84 then converting that to KML. I also tried converting to ETRS89, and then to WGS84 as suggested in one of the answers here:

Converting from British National Grid (27700) to WGS84 (4326) to Web Mercator (102100)

My prj file looks like this:

PROJCS["British_National_Grid",
GEOGCS["GCS_OSGB_1936",
    DATUM["D_OSGB_1936",
        SPHEROID["Airy_1830",6377563.396,299.3249646]
    ],
    PRIMEM["Greenwich",0.0],
    UNIT["Degree",0.0174532925199433]
],
PROJECTION["Transverse_Mercator"],
PARAMETER["False_Easting",400000.0],
PARAMETER["False_Northing",-100000.0],
PARAMETER["Central_Meridian",-2.0],
PARAMETER["Scale_Factor",0.999601272],
PARAMETER["Latitude_Of_Origin",49.0],
UNIT["Meter",1.0]
]

Any idea what I am doing wrong?

Best Answer

I think you are running into the OSGB36-reprojection shift as described here:

Raster incorrectly reprojected to OSGB(27700)

OSGB36 to WGS84 reprojection 'error'

There are a few reprojection methods around, with more ore less accuracy. I don't know what transformation MapWindowGIS uses. Late versions of QGIS and GDAL do it right by now.

Related Question