What is the order of parameters in +towgs84?

What is the order of parameters in +towgs84 attribute within a proj string. I assume it is dx,dy,dz,rx,ry,rz,sf

dx,dy,dz are expressed in meters rx,ry,rz are these in degrees/radians/arc seconds? sf value units as well would be great

The TOWGS84 parameter is described here:

``````#define Dx_BF (defn->datum_params[0])
#define Dy_BF (defn->datum_params[1])
#define Dz_BF (defn->datum_params[2])
#define Rx_BF (defn->datum_params[3])
#define Ry_BF (defn->datum_params[4])
#define Rz_BF (defn->datum_params[5])
#define M_BF  (defn->datum_params[6])

x_out = M_BF*(       x[io] - Rz_BF*y[io] + Ry_BF*z[io]) + Dx_BF;
y_out = M_BF*( Rz_BF*x[io] +       y[io] - Rx_BF*z[io]) + Dy_BF;
z_out = M_BF*(-Ry_BF*x[io] + Rx_BF*y[io] +       z[io]) + Dz_BF;
``````

The numbers are coefficients responsible for translation, rotation and scaling. From the linked page

The three translation parameters are in meters as in the three parameter case. The rotational parameters are in seconds of arc. The scaling is apparently the scale change in parts per million.

• if the coefficients don't have units what does the below statement mean? The seven parameter case uses delta_x, delta_y, delta_z, Rx - rotation X, Ry - rotation Y, Rz - rotation Z, M_BF - Scaling. The three translation parameters are in meters as in the three parameter case. The rotational parameters are in seconds of arc. The scaling is apparently the scale change in parts per million. Commented Aug 11, 2020 at 5:37
• You're right, from that page The three translation parameters are in meters as in the three parameter case. The rotational parameters are in seconds of arc. The scaling is apparently the scale change in parts per million. so I was mistaken, they do have units. Commented Aug 11, 2020 at 5:42
• Last question. What does this mean?Note that EPSG method 9607 (coordinate frame rotation) coefficients can be converted to EPSG method 9606 (position vector 7-parameter) supported by PROJ.4 by reversing the sign of the rotation vectors. The methods are otherwise the same. Do i need to change the sign of rotation arc seconds? Commented Aug 11, 2020 at 5:55
• You do need to change the signs if you change from one method into another. Some guidance and links in epsg-registry.org/export.htm?gml=urn:ogc:def:method:EPSG::9607. Notice also the changes in Proj6 rgdal.r-forge.r-project.org/articles/PROJ6_GDAL3.html. Commented Aug 11, 2020 at 6:49

The scale parameter are the parts per millon, difference from 1.

Other parameters are ok (meters and arc seconds).

The 3D rotation matrix assumes that angles are really small (it is the case in datum transformations, but can´t be used in other transformations as an angle). The assumption is that the cosine of a small angle is 1 and its sine is the angle itself.

• So if i be more precise. dx,dy,dz are in meters, rx,ry,rz in arc seconds, sf=1+sf*10^-6. am i right? Commented Aug 11, 2020 at 5:58
• Yes, it is, you are right. Commented Aug 11, 2020 at 11:14