# proj4: how to convert UTM to local coordinate system

I'm trying to convert a set of UTM32N coordinates to a local coordinate system with the same datum.

I have the four Helmert parameters (x,y,scale,theta) that defines the coordinate system.

How can I apply this transformation using proj4 strings?

I've tried the following one but it differs from the expected result:

``````proj +proj=helmert +ellps=WGS84 +x=-711066.2010726777 +y=-4532044.137231419 +s=0.999785911377552 +theta=-2.089700973339795
``````
• Could you give sample points and the results you expect? Jul 24, 2018 at 8:28

The Helmert transformation that you're using is for converting between two geographic coordinate reference systems in 3D Cartesian, XYZ. It's not for applying a 2D Cartesian transformation to coordinates in planar / projected coordinate reference system.

I don't believe that PROJ.4 (or PROJ.5, just released in March 2018) has what you need.

I am not sure if I understood your question correctly. As per my understanding, converting coordinates to local coordinate system means, you need to shift your map origin yet keeping the same datum. In this case, using Extended Transverse Mercator from Proj4 should work as it provides options to specify +lat_0 & +lon_0 i.e. origin for your coordinates.

Using the above things, with Proj4JS and OL, I found following results for my shapes over map

Here is the "New Origin" marker w.r.t. which I need to map the coordinates of highlighted polygon

Original coordinates of polygon

Same coordinates after transformation w.r.t. new origin

The Proj4 string which I used to perform this transformation is

`+proj=etmerc +lat_0=52.481392 +lon_0=13.355795 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs`

However the only thing missing is the angular rotation, which I think should be achieved with Oblique Mercator projection definition.

If you have PROJ 5.2, you can now use cct for your task:

`````` cct -z 0 -o cctout.txt +proj=helmert +convention=coordinate_frame  +x=-711066.2010726777 +y=-4532044.137231419 +s=0.999785911377552 +theta=-2.089700973339795 HelmertIn.txt
``````

Note that theta should be in arc seconds, so you might have to multiply degrees with 3600.

Sad news: This does not (yet) work in GDAL or QGIS.