aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorFrank Warmerdam <warmerdam@pobox.com>2010-09-20 19:55:09 +0000
committerFrank Warmerdam <warmerdam@pobox.com>2010-09-20 19:55:09 +0000
commitec9c4401eea825e6488feeb469b4a4a51c98b170 (patch)
treec6767e3b16841e91dd179c07a6a9c041bf897dc0 /src
parent783043034627d9930f39a53a8a40fe7918b01e74 (diff)
downloadPROJ-ec9c4401eea825e6488feeb469b4a4a51c98b170.tar.gz
PROJ-ec9c4401eea825e6488feeb469b4a4a51c98b170.zip
fix vgrid inverse and error handling
git-svn-id: http://svn.osgeo.org/metacrs/proj/trunk@1904 4e78687f-474d-0410-85f9-8d5e500ac6b2
Diffstat (limited to 'src')
-rw-r--r--src/pj_apply_vgridshift.c4
-rw-r--r--src/pj_transform.c16
2 files changed, 10 insertions, 10 deletions
diff --git a/src/pj_apply_vgridshift.c b/src/pj_apply_vgridshift.c
index d8f18e07..f4b80bd9 100644
--- a/src/pj_apply_vgridshift.c
+++ b/src/pj_apply_vgridshift.c
@@ -155,9 +155,9 @@ int pj_apply_vgridshift( PJ *defn, const char *listname,
else
{
if( inverse )
- z[io] += value;
- else
z[io] -= value;
+ else
+ z[io] += value;
}
if( value != HUGE_VAL )
diff --git a/src/pj_transform.c b/src/pj_transform.c
index 4f0585ea..2d0d06ef 100644
--- a/src/pj_transform.c
+++ b/src/pj_transform.c
@@ -205,10 +205,10 @@ int pj_transform( PJ *srcdefn, PJ *dstdefn, long point_count, int point_offset,
/* -------------------------------------------------------------------- */
if( srcdefn->has_geoid_vgrids )
{
- if( !pj_apply_vgridshift( srcdefn, "sgeoidgrids",
- &(srcdefn->vgridlist_geoid),
- &(srcdefn->vgridlist_geoid_count),
- 0, point_count, point_offset, x, y, z ) )
+ if( pj_apply_vgridshift( srcdefn, "sgeoidgrids",
+ &(srcdefn->vgridlist_geoid),
+ &(srcdefn->vgridlist_geoid_count),
+ 0, point_count, point_offset, x, y, z ) != 0 )
return pj_ctx_get_errno(srcdefn->ctx);
}
@@ -230,10 +230,10 @@ int pj_transform( PJ *srcdefn, PJ *dstdefn, long point_count, int point_offset,
/* -------------------------------------------------------------------- */
if( dstdefn->has_geoid_vgrids )
{
- if( !pj_apply_vgridshift( dstdefn, "sgeoidgrids",
- &(dstdefn->vgridlist_geoid),
- &(dstdefn->vgridlist_geoid_count),
- 0, point_count, point_offset, x, y, z ) )
+ if( pj_apply_vgridshift( dstdefn, "sgeoidgrids",
+ &(dstdefn->vgridlist_geoid),
+ &(dstdefn->vgridlist_geoid_count),
+ 1, point_count, point_offset, x, y, z ) != 0 )
return dstdefn->ctx->last_errno;
}