# 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
``````