aboutsummaryrefslogtreecommitdiff
path: root/src/PJ_vgridshift.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/PJ_vgridshift.c')
-rw-r--r--src/PJ_vgridshift.c61
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