# Can we use proj to offset coordinates?

The detail we have - one coordinate point in a local construction grid, and the corresponding WGS1984 LatLong which we converted to a UTM coordinate (as the desired output projection).

Manually applying this offset in a 3d Modelling package aligns the data set correctly, so we conclude there is no scaling or rotation involved.

So basically - how do we define the local projection in proj so we can apply the offset to all other data sets?

-

The only parameters (AFAIK) that handle any sort of offset in Proj4 are the `+x_0` `+y_0` false easting and northing parameters. Unfortunately, UTM projections have implicit false eastings and northings that can't be overridden, so you'll need to choose a different projection that is defined for your local area. Then it's just a case of subtracting your local CS offset to the false offsets of the proj4 string.

E.g. The UK's Ordnance Survey projection, OSGB36, normally looks like this:

``````+proj=tmerc +lat_0=49 +lon_0=-2 +k=0.9996012717 +x_0=400000 +y_0=-100000 +ellps=airy +datum=OSGB36 +units=m +no_defs
``````

If I were to have a local grid who's origin is at Buckingham Palace (528949 179697 in OSGB36 coordinates) I would need to subtract my local origin from the false eastings and northings parameters:

``````+proj=tmerc +lat_0=49 +lon_0=-2 +k=0.9996012717 +x_0=-128949 +y_0=-279697 +ellps=airy +datum=OSGB36 +units=m +no_defs
``````

Running this command (proj4's `cs2cs` works just as well):

``````gdaltransform -t_srs "+proj=tmerc +lat_0=49 +lon_0=-2 +k=0.9996012717 +x_0=400000 +y_0=-100000 +ellps=airy +datum=OSGB36 +units=m +no_defs" -s_srs "+proj=tmerc +lat_0=49 +lon_0=-2 +k=0.9996012717 +x_0=-128949 +y_0=-279697 +ellps=airy +datum=OSGB36 +units=m +no_defs"
``````

And entering some local coordinates gives me:

``````100 100
529049.000000115 179796.99999956 0
``````
-