diff options
Diffstat (limited to 'src/PJ_vgridshift.c')
| -rw-r--r-- | src/PJ_vgridshift.c | 61 |
1 files changed, 0 insertions, 61 deletions
diff --git a/src/PJ_vgridshift.c b/src/PJ_vgridshift.c index 5ab4a162..97faa240 100644 --- a/src/PJ_vgridshift.c +++ b/src/PJ_vgridshift.c @@ -75,64 +75,3 @@ PJ *TRANSFORMATION(vgridshift,0) { return P; } - -#ifndef PJ_SELFTEST -/* selftest stub */ -int pj_vgridshift_selftest (void) {return 0;} -#else -int pj_vgridshift_selftest (void) { - PJ *P; - PJ_COORD expect, a, b; - double dist; - int failures = 0; - - /* fail on purpose: +grids parameter is mandatory*/ - P = proj_create(PJ_DEFAULT_CTX, "+proj=vgridshift"); - if (0!=P) { - proj_destroy (P); - return 99; - } - - /* fail on purpose: open non-existing grid */ - P = proj_create(PJ_DEFAULT_CTX, "+proj=vgridshift +grids=nonexistinggrid.gtx"); - if (0!=P) { - proj_destroy (P); - return 999; - } - - /* Failure most likely means the grid is missing */ - P = proj_create(PJ_DEFAULT_CTX, "+proj=vgridshift +grids=egm96_15.gtx +ellps=GRS80"); - if (0==P) - return 10; - - a = proj_coord(0,0,0,0); - a.lpz.lam = PJ_TORAD(12.5); - a.lpz.phi = PJ_TORAD(55.5); - b = a; - dist = proj_roundtrip (P, PJ_FWD, 1, &b); - if (dist > 0.00000001) - return 1; - - expect = a; - /* Appears there is a difference between the egm96_15.gtx distributed by OSGeo4W, */ - /* and the one from http://download.osgeo.org/proj/vdatum/egm96_15/egm96_15.gtx */ - /* Was: expect.lpz.z = -36.021305084228515625; (download.osgeo.org) */ - /* Was: expect.lpz.z = -35.880001068115234000; (OSGeo4W) */ - /* This is annoying, but must be handled elsewhere. So for now, we check for both. */ - expect.lpz.z = -36.021305084228516; - failures = 0; - b = proj_trans(P, PJ_FWD, a); - if (proj_xyz_dist(expect.xyz, b.xyz) > 1e-4) failures++; - expect.lpz.z = -35.880001068115234000; - if (proj_xyz_dist(expect.xyz, b.xyz) > 1e-4) failures++; - /* manual roundtrip a->b, b<-b, b==a */ - b = proj_trans(P, PJ_INV, b); - if (proj_xyz_dist(a.xyz, b.xyz) > 1e-9) failures++; - if (failures > 1) - return 2; - - proj_destroy (P); - - return 0; -} -#endif |
