diff options
| author | Frank Warmerdam <warmerdam@pobox.com> | 2001-04-04 21:13:21 +0000 |
|---|---|---|
| committer | Frank Warmerdam <warmerdam@pobox.com> | 2001-04-04 21:13:21 +0000 |
| commit | eea77f043090837996df016af5f01e878be58602 (patch) | |
| tree | 030ca41640405acd1d799e42b999bb4971dcfca0 /src | |
| parent | c92c5d8e556365e3b01abb72d340ed91576703a6 (diff) | |
| download | PROJ-eea77f043090837996df016af5f01e878be58602.tar.gz PROJ-eea77f043090837996df016af5f01e878be58602.zip | |
do arcsecond/radian and ppm datum parm transformation in pj_set_datum()
git-svn-id: http://svn.osgeo.org/metacrs/proj/trunk@922 4e78687f-474d-0410-85f9-8d5e500ac6b2
Diffstat (limited to 'src')
| -rw-r--r-- | src/pj_datum_set.c | 16 | ||||
| -rw-r--r-- | src/pj_transform.c | 14 |
2 files changed, 23 insertions, 7 deletions
diff --git a/src/pj_datum_set.c b/src/pj_datum_set.c index 417479a5..a121ed2f 100644 --- a/src/pj_datum_set.c +++ b/src/pj_datum_set.c @@ -28,6 +28,9 @@ ****************************************************************************** * * $Log$ + * Revision 1.2 2001/04/04 21:13:21 warmerda + * do arcsecond/radian and ppm datum parm transformation in pj_set_datum() + * * Revision 1.1 2000/07/06 23:32:27 warmerda * New * @@ -36,6 +39,9 @@ #include <projects.h> #include <string.h> +/* SEC_TO_RAD = Pi/180/3600 */ +#define SEC_TO_RAD 4.84813681109535993589914102357e-6 + /************************************************************************/ /* pj_datum_set() */ /************************************************************************/ @@ -120,7 +126,17 @@ int pj_datum_set(paralist *pl, PJ *projdef) || projdef->datum_params[4] != 0.0 || projdef->datum_params[5] != 0.0 || projdef->datum_params[6] != 0.0 ) + { projdef->datum_type = PJD_7PARAM; + + /* transform from arc seconds to radians */ + projdef->datum_params[3] *= SEC_TO_RAD; + projdef->datum_params[4] *= SEC_TO_RAD; + projdef->datum_params[5] *= SEC_TO_RAD; + /* transform from parts per million to scaling factor */ + projdef->datum_params[6] = + (projdef->datum_params[6]/1000000.0) + 1; + } else projdef->datum_type = PJD_3PARAM; diff --git a/src/pj_transform.c b/src/pj_transform.c index 0c665d54..683bdab8 100644 --- a/src/pj_transform.c +++ b/src/pj_transform.c @@ -30,6 +30,9 @@ ****************************************************************************** * * $Log$ + * Revision 1.3 2001/04/04 21:13:21 warmerda + * do arcsecond/radian and ppm datum parm transformation in pj_set_datum() + * * Revision 1.2 2001/04/04 16:08:08 warmerda * rewrote 7 param datum shift to match EPSG:9606, now works with example * @@ -51,16 +54,13 @@ #define SRS_WGS84_ESQUARED 0.006694379990 #endif -/* SEC_TO_RAD = Pi/180/3600 */ -#define SEC_TO_RAD 4.84813681109535993589914102357e-6 - #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] * SEC_TO_RAD) -#define Ry_BF (defn->datum_params[4] * SEC_TO_RAD) -#define Rz_BF (defn->datum_params[5] * SEC_TO_RAD) -#define M_BF (1 + defn->datum_params[6] * 0.000001) +#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]) /************************************************************************/ /* pj_transform() */ |
