aboutsummaryrefslogtreecommitdiff
path: root/src/pj_transform.c
diff options
context:
space:
mode:
authorFrank Warmerdam <warmerdam@pobox.com>2002-12-14 20:35:43 +0000
committerFrank Warmerdam <warmerdam@pobox.com>2002-12-14 20:35:43 +0000
commitbb2de72aab4b914baa19750a634d259ffa695972 (patch)
treea1a4400625d1a9b450a9c6872b9d8ba2164d0496 /src/pj_transform.c
parent1645c04257199bd63c5f7f8f7c443a91ab2717d8 (diff)
downloadPROJ-bb2de72aab4b914baa19750a634d259ffa695972.tar.gz
PROJ-bb2de72aab4b914baa19750a634d259ffa695972.zip
implement units support for geocentric coordinates
git-svn-id: http://svn.osgeo.org/metacrs/proj/trunk@1060 4e78687f-474d-0410-85f9-8d5e500ac6b2
Diffstat (limited to 'src/pj_transform.c')
-rw-r--r--src/pj_transform.c21
1 files changed, 21 insertions, 0 deletions
diff --git a/src/pj_transform.c b/src/pj_transform.c
index 1b4092b8..0e649bae 100644
--- a/src/pj_transform.c
+++ b/src/pj_transform.c
@@ -30,6 +30,9 @@
******************************************************************************
*
* $Log$
+ * Revision 1.8 2002/12/14 20:35:43 warmerda
+ * implement units support for geocentric coordinates
+ *
* Revision 1.7 2002/12/14 20:14:35 warmerda
* added geocentric support
*
@@ -108,6 +111,15 @@ int pj_transform( PJ *srcdefn, PJ *dstdefn, long point_count, int point_offset,
return PJD_ERR_GEOCENTRIC;
}
+ if( srcdefn->to_meter != 1.0 )
+ {
+ for( i = 0; i < point_count; i++ )
+ {
+ x[point_offset*i] *= srcdefn->to_meter;
+ y[point_offset*i] *= srcdefn->to_meter;
+ }
+ }
+
pj_geocentric_to_geodetic( srcdefn->a, srcdefn->es,
point_count, point_offset, x, y, z );
}
@@ -163,6 +175,15 @@ int pj_transform( PJ *srcdefn, PJ *dstdefn, long point_count, int point_offset,
pj_geodetic_to_geocentric( dstdefn->a, dstdefn->es,
point_count, point_offset, x, y, z );
+
+ if( dstdefn->fr_meter != 1.0 )
+ {
+ for( i = 0; i < point_count; i++ )
+ {
+ x[point_offset*i] *= dstdefn->fr_meter;
+ y[point_offset*i] *= dstdefn->fr_meter;
+ }
+ }
}
/* -------------------------------------------------------------------- */