# [Proj] grid shifting

Paul Kelly paul-grass at stjohnspoint.co.uk
Mon Oct 23 13:33:43 EDT 2006

```Hello

On Mon, 23 Oct 2006, Hamish wrote:

> cp wrote:
>> Firts, excuse me for my poor english.
>>
>> Just a question to see if I have understood the mechanism of grid
>> shifting  in proj lib....
>> The grid shifting is a correction of phi and lambda in a particular
>> point on  the ellipsoid : this corection is made by a matrix which is
>> unique in a  "step" of longitude and latitude. Isn't it ?

That is how the Canadian NTv2 gridshift file format (as used by PROJ.4)
works, yes. But it's not the only (nor necessarily the best) way.

>> So datum transformation can be schematized as :
>>
>> Plane Coordinates A => Geodetic Coordinates A => Grid Shifting =>
>> Geodetic  coordinates B => Plane Coordinates B

Yes, internal to PROJ.4 that is how datum shifting with +nadgrids=xxxxx
parameters works.

>> So it is not possible (except by modifying code) to make a correction
>> for  these cases :
>>
>> 1) We have a grid of correction that represents differents values of
>> 3D  shifts for geocentric coordinates
>> like this :
>> Plane Coordinates A => Geotetic coordinate A => Geocentric cartesian
>> coordinates A => Grid shifting => Geocentric cartesian coordinates B
>> =>  Plane Coordinates B

Internal to PROJ.4 that is how datum shifting with +towgs84=x,x,x,...
parameters works.
Note that you can go straight from plane co-ordinates to Geocentric
cartesian co-ordinates in PROJ.4: use the "fake" projection +proj=geocent.
So it *is* possible to do a transformation this way.

>> 2) We have a grid of correction that represents differents values of
>> plane  shifts like this
>> Plane Coordinates A => Grid shifting (matrix : grid is based on planes
>>
>> coordinates and no more on geodesic coordinates) => Plane Coordinates
>> B
>>
>> Isn't it ?

You could convert the matrix into a grid in NTv2 format that can be read
by PROJ.4 - it needs some logical thinking and a bit of GIS work but it is
quite easily possible and with accurate results too - see the page on my
website below as Hamish has suggested.

>> We have to do this because of increasing accuracy of transformation
>> beetween  systems ( the grids could be experimental calculations)
>
>
> maybe this helps:
>  http://www.stjohnspoint.co.uk/gis/france.htm
>
> The deep IGN links seem to be broken now, but grid file for France and
> instructions are there..

They weren't working for a while but I fixed them to account for the
updated IGN site in July so all should be fine now... ;)

Paul

```