aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorFrank Warmerdam <warmerdam@pobox.com>2001-04-04 21:13:21 +0000
committerFrank Warmerdam <warmerdam@pobox.com>2001-04-04 21:13:21 +0000
commiteea77f043090837996df016af5f01e878be58602 (patch)
tree030ca41640405acd1d799e42b999bb4971dcfca0 /src
parentc92c5d8e556365e3b01abb72d340ed91576703a6 (diff)
downloadPROJ-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.c16
-rw-r--r--src/pj_transform.c14
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() */