aboutsummaryrefslogtreecommitdiff
path: root/src/transformations
diff options
context:
space:
mode:
Diffstat (limited to 'src/transformations')
-rw-r--r--src/transformations/helmert.cpp8
1 files changed, 2 insertions, 6 deletions
diff --git a/src/transformations/helmert.cpp b/src/transformations/helmert.cpp
index 9fb568a8..d3857d89 100644
--- a/src/transformations/helmert.cpp
+++ b/src/transformations/helmert.cpp
@@ -373,7 +373,7 @@ static PJ_XYZ helmert_forward_3d (PJ_LPZ lpz, PJ *P) {
return point.xyz;
}
- if (Q->no_rotation) {
+ if (Q->no_rotation && Q->scale == 0) {
point.xyz.x = lpz.lam + Q->xyz.x;
point.xyz.y = lpz.phi + Q->xyz.y;
point.xyz.z = lpz.z + Q->xyz.z;
@@ -413,7 +413,7 @@ static PJ_LPZ helmert_reverse_3d (PJ_XYZ xyz, PJ *P) {
return point.lpz;
}
- if (Q->no_rotation) {
+ if (Q->no_rotation && Q->scale == 0) {
point.xyz.x = xyz.x - Q->xyz.x;
point.xyz.y = xyz.y - Q->xyz.y;
point.xyz.z = xyz.z - Q->xyz.z;
@@ -678,10 +678,6 @@ PJ *TRANSFORMATION(helmert, 0) {
proj_log_trace(P, "ds= %8.5f t_epoch=%8.5f", Q->dscale, Q->t_epoch);
}
- if (Q->no_rotation) {
- return P;
- }
-
update_parameters(P);
build_rot_matrix(P);