diff options
| author | Frank Warmerdam <warmerdam@pobox.com> | 2002-12-01 19:25:35 +0000 |
|---|---|---|
| committer | Frank Warmerdam <warmerdam@pobox.com> | 2002-12-01 19:25:35 +0000 |
| commit | f8e9a822d7e9166b9925f75ba36bb7aa75afc3c1 (patch) | |
| tree | 1a7a3fcf463e9b6d04068fd3b387e2324870ae9b /src | |
| parent | 0cacdd1b5918ed7e7d593c79202265fd6f64e3d4 (diff) | |
| download | PROJ-f8e9a822d7e9166b9925f75ba36bb7aa75afc3c1.tar.gz PROJ-f8e9a822d7e9166b9925f75ba36bb7aa75afc3c1.zip | |
applied fix for 7 param shift in pj_geocentric_from_wgs84, see bug 194
git-svn-id: http://svn.osgeo.org/metacrs/proj/trunk@1040 4e78687f-474d-0410-85f9-8d5e500ac6b2
Diffstat (limited to 'src')
| -rw-r--r-- | src/pj_transform.c | 17 |
1 files changed, 10 insertions, 7 deletions
diff --git a/src/pj_transform.c b/src/pj_transform.c index 8285878f..ba136d20 100644 --- a/src/pj_transform.c +++ b/src/pj_transform.c @@ -30,6 +30,9 @@ ****************************************************************************** * * $Log$ + * Revision 1.5 2002/12/01 19:25:26 warmerda + * applied fix for 7 param shift in pj_geocentric_from_wgs84, see bug 194 + * * Revision 1.4 2002/02/15 14:30:36 warmerda * provide default Z array if none passed in in pj_datum_transform() * @@ -333,15 +336,15 @@ int pj_geocentric_from_wgs84( PJ *defn, for( i = 0; i < point_count; i++ ) { long io = i * point_offset; - double x_out, y_out, z_out; + double x_tmp, y_tmp, z_tmp; - 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; + x_tmp = (x[io] - Dx_BF) / M_BF; + y_tmp = (y[io] - Dy_BF) / M_BF; + z_tmp = (z[io] - Dz_BF) / M_BF; - x[io] = x_out; - y[io] = y_out; - z[io] = z_out; + x[io] = x_tmp + Rz_BF*y_tmp - Ry_BF*z_tmp; + y[io] = -Rz_BF*x_tmp + y_tmp + Rx_BF*z_tmp; + z[io] = Ry_BF*x_tmp - Rx_BF*y_tmp + z_tmp; } } |
