aboutsummaryrefslogtreecommitdiff
path: root/src/pj_transform.c
diff options
context:
space:
mode:
authorFrank Warmerdam <warmerdam@pobox.com>2011-05-10 17:06:33 +0000
committerFrank Warmerdam <warmerdam@pobox.com>2011-05-10 17:06:33 +0000
commit67dc958368833fa125415a5e1f64ad33759fbf9e (patch)
tree64744338fad10332a7109ae8e04bdd5405995698 /src/pj_transform.c
parent6d16e577e73d94a8ec98e1b62b4dbe23d30fbb21 (diff)
downloadPROJ-67dc958368833fa125415a5e1f64ad33759fbf9e.tar.gz
PROJ-67dc958368833fa125415a5e1f64ad33759fbf9e.zip
add support for vunits/vto_meter parameters to specify vertical units
git-svn-id: http://svn.osgeo.org/metacrs/proj/trunk@2000 4e78687f-474d-0410-85f9-8d5e500ac6b2
Diffstat (limited to 'src/pj_transform.c')
-rw-r--r--src/pj_transform.c18
1 files changed, 18 insertions, 0 deletions
diff --git a/src/pj_transform.c b/src/pj_transform.c
index 2d0d06ef..2545db16 100644
--- a/src/pj_transform.c
+++ b/src/pj_transform.c
@@ -112,6 +112,15 @@ int pj_transform( PJ *srcdefn, PJ *dstdefn, long point_count, int point_offset,
}
/* -------------------------------------------------------------------- */
+/* Transform Z to meters if it isn't already. */
+/* -------------------------------------------------------------------- */
+ if( srcdefn->vto_meter != 1.0 && z != NULL )
+ {
+ for( i = 0; i < point_count; i++ )
+ z[point_offset*i] *= srcdefn->vto_meter;
+ }
+
+/* -------------------------------------------------------------------- */
/* Transform geocentric source coordinates to lat/long. */
/* -------------------------------------------------------------------- */
if( srcdefn->is_geocent )
@@ -335,6 +344,15 @@ int pj_transform( PJ *srcdefn, PJ *dstdefn, long point_count, int point_offset,
}
/* -------------------------------------------------------------------- */
+/* Transform Z from meters if needed. */
+/* -------------------------------------------------------------------- */
+ if( dstdefn->vto_meter != 1.0 && z != NULL )
+ {
+ for( i = 0; i < point_count; i++ )
+ z[point_offset*i] *= dstdefn->vfr_meter;
+ }
+
+/* -------------------------------------------------------------------- */
/* Transform normalized axes into unusual output coordinate axis */
/* orientation if needed. */
/* -------------------------------------------------------------------- */