int pj_eck1_selftest (void) { double tolerance_lp = 1e-10; double tolerance_xy = 1e-7; char s_args[] = {"+proj=eck1 +a=6400000 +lat_1=0.5 +lat_2=2"}; LP fwd_in[] = { { 2, 1}, { 2,-1}, {-2, 1}, {-2,-1} }; XY s_fwd_expect[] = { { 204680.88820295094, 102912.17842606473}, { 204680.88820295094, -102912.17842606473}, {-204680.88820295094, 102912.17842606473}, {-204680.88820295094, -102912.17842606473}, }; XY inv_in[] = { { 200, 100}, { 200,-100}, {-200, 100}, {-200,-100} }; LP s_inv_expect[] = { { 0.0019434150820034624, 0.00097170229538813102}, { 0.0019434150820034624, -0.00097170229538813102}, {-0.0019434150820034624, 0.00097170229538813102}, {-0.0019434150820034624, -0.00097170229538813102}, }; return pj_generic_selftest (0, s_args, tolerance_xy, tolerance_lp, 4, 4, fwd_in, 0, s_fwd_expect, inv_in, 0, s_inv_expect);
int pj_bonne_selftest (void) { double tolerance_lp = 1e-10; double tolerance_xy = 1e-7; char e_args[] = {"+proj=bonne +ellps=GRS80 +lat_1=0.5 +lat_2=2"}; char s_args[] = {"+proj=bonne +a=6400000 +lat_1=0.5 +lat_2=2"}; LP fwd_in[] = { { 2, 1}, { 2,-1}, {-2, 1}, {-2,-1} }; XY e_fwd_expect[] = { { 222605.29609715697, 55321.139565494814}, { 222605.29609923941, -165827.64779905154}, {-222605.29609715697, 55321.139565494814}, {-222605.29609923941, -165827.64779905154}, }; XY s_fwd_expect[] = { { 223368.11557252839, 55884.555246393575}, { 223368.11557463196, -167517.59936969393}, {-223368.11557252839, 55884.555246393575}, {-223368.11557463196, -167517.59936969393}, }; XY inv_in[] = { { 200, 100}, { 200,-100}, {-200, 100}, {-200,-100} }; LP e_inv_expect[] = { { 0.0017966987691132891, 0.50090436853737497}, { 0.0017966982774478867, 0.4990956309655612}, {-0.0017966987691132891, 0.50090436853737497}, {-0.0017966982774478867, 0.4990956309655612}, }; LP s_inv_expect[] = { { 0.0017905615332457991, 0.50089524631087834}, { 0.0017905610449335603, 0.49910475320072978}, {-0.0017905615332457991, 0.50089524631087834}, {-0.0017905610449335603, 0.49910475320072978}, }; return pj_generic_selftest (e_args, s_args, tolerance_xy, tolerance_lp, 4, 4, fwd_in, e_fwd_expect, s_fwd_expect, inv_in, e_inv_expect, s_inv_expect); }
int pj_fouc_selftest (void) { double tolerance_lp = 1e-10; double tolerance_xy = 1e-7; char e_args[] = {"+proj=fouc +ellps=GRS80 +lat_1=0.5 +lat_2=2 +n=0.5"}; char s_args[] = {"+proj=fouc +a=6400000 +lat_1=0.5 +lat_2=2 +n=0.5"}; LP fwd_in[] = { { 2, 1}, { 2,-1}, {-2, 1}, {-2,-1} }; XY e_fwd_expect[] = { {222588.12067589167, 111322.31670069379}, {222588.12067589167, -111322.31670069379}, {-222588.12067589167, 111322.31670069379}, {-222588.12067589167, -111322.31670069379}, }; XY s_fwd_expect[] = { {223351.10900341379, 111703.9077217125}, {223351.10900341379, -111703.9077217125}, {-223351.10900341379, 111703.9077217125}, {-223351.10900341379, -111703.9077217125}, }; XY inv_in[] = { { 200, 100}, { 200,-100}, {-200, 100}, {-200,-100} }; LP e_inv_expect[] = { {0.0017966305685702751, 0.00089831528410111959}, {0.0017966305685702751, -0.00089831528410111959}, {-0.0017966305685702751, 0.00089831528410111959}, {-0.0017966305685702751, -0.00089831528410111959}, }; LP s_inv_expect[] = { {0.0017904931101116717, 0.00089524655487369749}, {0.0017904931101116717, -0.00089524655487369749}, {-0.0017904931101116717, 0.00089524655487369749}, {-0.0017904931101116717, -0.00089524655487369749}, }; return pj_generic_selftest (e_args, s_args, tolerance_xy, tolerance_lp, 4, 4, fwd_in, e_fwd_expect, s_fwd_expect, inv_in, e_inv_expect, s_inv_expect); }
int pj_mbt_s_selftest (void) { double tolerance_lp = 1e-10; double tolerance_xy = 1e-7; char e_args[] = {"+proj=mbt_s +ellps=GRS80 +lat_1=0.5 +lat_2=2 +n=0.5"}; char s_args[] = {"+proj=mbt_s +a=6400000 +lat_1=0.5 +lat_2=2 +n=0.5"}; LP fwd_in[] = { { 2, 1}, { 2,-1}, {-2, 1}, {-2,-1} }; XY e_fwd_expect[] = { {204131.51785027285, 121400.33022550763}, {204131.51785027285, -121400.33022550763}, {-204131.51785027285, 121400.33022550763}, {-204131.51785027285, -121400.33022550763}, }; XY s_fwd_expect[] = { {204831.24057099217, 121816.46669603503}, {204831.24057099217, -121816.46669603503}, {-204831.24057099217, 121816.46669603503}, {-204831.24057099217, -121816.46669603503}, }; XY inv_in[] = { { 200, 100}, { 200,-100}, {-200, 100}, {-200,-100} }; LP e_inv_expect[] = { {0.0019593827209883237, 0.00082369854658027549}, {0.0019593827209883237, -0.00082369854658027549}, {-0.0019593827209883237, 0.00082369854658027549}, {-0.0019593827209883237, -0.00082369854658027549}, }; LP s_inv_expect[] = { {0.0019526892859206603, 0.00082088471512331508}, {0.0019526892859206603, -0.00082088471512331508}, {-0.0019526892859206603, 0.00082088471512331508}, {-0.0019526892859206603, -0.00082088471512331508}, }; return pj_generic_selftest (e_args, s_args, tolerance_xy, tolerance_lp, 4, 4, fwd_in, e_fwd_expect, s_fwd_expect, inv_in, e_inv_expect, s_inv_expect); }
int pj_qua_aut_selftest (void) { double tolerance_lp = 1e-10; double tolerance_xy = 1e-7; char e_args[] = {"+proj=qua_aut +ellps=GRS80 +lat_1=0.5 +lat_2=2 +n=0.5"}; char s_args[] = {"+proj=qua_aut +a=6400000 +lat_1=0.5 +lat_2=2 +n=0.5"}; LP fwd_in[] = { { 2, 1}, { 2,-1}, {-2, 1}, {-2,-1} }; XY e_fwd_expect[] = { {222613.54903309655, 111318.07788798446}, {222613.54903309655, -111318.07788798446}, {-222613.54903309655, 111318.07788798446}, {-222613.54903309655, -111318.07788798446}, }; XY s_fwd_expect[] = { {223376.62452402918, 111699.65437918637}, {223376.62452402918, -111699.65437918637}, {-223376.62452402918, 111699.65437918637}, {-223376.62452402918, -111699.65437918637}, }; XY inv_in[] = { { 200, 100}, { 200,-100}, {-200, 100}, {-200,-100} }; LP e_inv_expect[] = { {0.0017966305684046586, 0.00089831528412872229}, {0.0017966305684046586, -0.00089831528412872229}, {-0.0017966305684046586, 0.00089831528412872229}, {-0.0017966305684046586, -0.00089831528412872229}, }; LP s_inv_expect[] = { {0.0017904931099477471, 0.00089524655490101819}, {0.0017904931099477471, -0.00089524655490101819}, {-0.0017904931099477471, 0.00089524655490101819}, {-0.0017904931099477471, -0.00089524655490101819}, }; return pj_generic_selftest (e_args, s_args, tolerance_xy, tolerance_lp, 4, 4, fwd_in, e_fwd_expect, s_fwd_expect, inv_in, e_inv_expect, s_inv_expect); }
int pj_kav5_selftest (void) { double tolerance_lp = 1e-10; double tolerance_xy = 1e-7; char e_args[] = {"+proj=kav5 +ellps=GRS80 +lat_1=0.5 +lat_2=2 +n=0.5"}; char s_args[] = {"+proj=kav5 +a=6400000 +lat_1=0.5 +lat_2=2 +n=0.5"}; LP fwd_in[] = { { 2, 1}, { 2,-1}, {-2, 1}, {-2,-1} }; XY e_fwd_expect[] = { {200360.90530882866, 123685.08247699818}, {200360.90530882866, -123685.08247699818}, {-200360.90530882866, 123685.08247699818}, {-200360.90530882866, -123685.08247699818}, }; XY s_fwd_expect[] = { {201047.7031108776, 124109.05062917093}, {201047.7031108776, -124109.05062917093}, {-201047.7031108776, 124109.05062917093}, {-201047.7031108776, -124109.05062917093}, }; XY inv_in[] = { { 200, 100}, { 200,-100}, {-200, 100}, {-200,-100} }; LP e_inv_expect[] = { {0.0019962591348533314, 0.00080848256185253912}, {0.0019962591348533314, -0.00080848256185253912}, {-0.0019962591348533314, 0.00080848256185253912}, {-0.0019962591348533314, -0.00080848256185253912}, }; LP s_inv_expect[] = { {0.0019894397264987643, 0.00080572070962591153}, {0.0019894397264987643, -0.00080572070962591153}, {-0.0019894397264987643, 0.00080572070962591153}, {-0.0019894397264987643, -0.00080572070962591153}, }; return pj_generic_selftest (e_args, s_args, tolerance_xy, tolerance_lp, 4, 4, fwd_in, e_fwd_expect, s_fwd_expect, inv_in, e_inv_expect, s_inv_expect); }
int pj_rhealpix_selftest (void) { double tolerance_lp = 1e-10; double tolerance_xy = 1e-7; char e_args[] = {"+proj=rhealpix +ellps=GRS80 +lat_1=0.5 +lat_2=2"}; char s_args[] = {"+proj=rhealpix +a=6400000 +lat_1=0.5 +lat_2=2"}; LP fwd_in[] = { { 2, 1}, { 2,-1}, {-2, 1}, {-2,-1} }; XY e_fwd_expect[] = { { 222390.10394923863, 130406.58866448226}, { 222390.10394923863, -130406.58866448054}, {-222390.10394923863, 130406.58866448226}, {-222390.10394923863, -130406.58866448054}, }; XY s_fwd_expect[] = { { 223402.14425527418, 131588.04444199943}, { 223402.14425527418, -131588.04444199943}, {-223402.14425527418, 131588.04444199943}, {-223402.14425527418, -131588.04444199943}, }; XY inv_in[] = { { 200, 100}, { 200,-100}, {-200, 100}, {-200,-100} }; LP e_inv_expect[] = { { 0.0017986411845524453, 0.00076679453057823619}, { 0.0017986411845524453, -0.00076679453057823619}, {-0.0017986411845524453, 0.00076679453057823619}, {-0.0017986411845524453, -0.00076679453057823619}, }; LP s_inv_expect[] = { { 0.0017904931097838226, 0.00075990887733981202}, { 0.0017904931097838226, -0.00075990887733981202}, {-0.0017904931097838226, 0.00075990887733981202}, {-0.0017904931097838226, -0.00075990887733981202}, }; return pj_generic_selftest (e_args, s_args, tolerance_xy, tolerance_lp, 4, 4, fwd_in, e_fwd_expect, s_fwd_expect, inv_in, e_inv_expect, s_inv_expect); }
int pj_cass_selftest (void) { double tolerance_lp = 1e-10; double tolerance_xy = 1e-7; char e_args[] = {"+proj=cass +ellps=GRS80 +lat_1=0.5 +lat_2=2"}; char s_args[] = {"+proj=cass +a=6400000 +lat_1=0.5 +lat_2=2"}; LP fwd_in[] = { { 2, 1}, { 2,-1}, {-2, 1}, {-2,-1} }; XY e_fwd_expect[] = { { 222605.28577699114, 110642.22925399939}, { 222605.28577699114, -110642.22925399939}, {-222605.28577699114, 110642.22925399939}, {-222605.28577699114, -110642.22925399939}, }; XY s_fwd_expect[] = { { 223368.10520348375, 111769.14504058579}, { 223368.10520348375, -111769.14504058579}, {-223368.10520348375, 111769.14504058579}, {-223368.10520348375, -111769.14504058579}, }; XY inv_in[] = { { 200, 100}, { 200,-100}, {-200, 100}, {-200,-100} }; LP e_inv_expect[] = { { 0.0017966305684613522, 0.00090436947663183841}, { 0.0017966305684613522, -0.00090436947663183841}, {-0.0017966305684613522, 0.00090436947663183841}, {-0.0017966305684613522, -0.00090436947663183841}, }; LP s_inv_expect[] = { { 0.0017904931100023887, 0.00089524655445477922}, { 0.0017904931100023887, -0.00089524655445477922}, {-0.0017904931100023887, 0.00089524655445477922}, {-0.0017904931100023887, -0.00089524655445477922}, }; return pj_generic_selftest (e_args, s_args, tolerance_xy, tolerance_lp, 4, 4, fwd_in, e_fwd_expect, s_fwd_expect, inv_in, e_inv_expect, s_inv_expect); }
int pj_poly_selftest (void) { double tolerance_lp = 1e-10; double tolerance_xy = 1e-7; char e_args[] = {"+proj=poly +ellps=GRS80 +lat_1=0.5 +lat_2=2"}; char s_args[] = {"+proj=poly +a=6400000 +lat_1=0.5 +lat_2=2"}; LP fwd_in[] = { { 2, 1}, { 2,-1}, {-2, 1}, {-2,-1} }; XY e_fwd_expect[] = { { 222605.285770237475, 110642.194561440483}, { 222605.285770237475, -110642.194561440483}, {-222605.285770237475, 110642.194561440483}, {-222605.285770237475, -110642.194561440483}, }; XY s_fwd_expect[] = { { 223368.105210218986, 111769.110491224754}, { 223368.105210218986, -111769.110491224754}, {-223368.105210218986, 111769.110491224754}, {-223368.105210218986, -111769.110491224754}, }; XY inv_in[] = { { 200, 100}, { 200,-100}, {-200, 100}, {-200,-100} }; LP e_inv_expect[] = { { 0.00179663056846135222, 0.000904369476631838518}, { 0.00179663056846135222, -0.000904369476631838518}, {-0.00179663056846135222, 0.000904369476631838518}, {-0.00179663056846135222, -0.000904369476631838518}, }; LP s_inv_expect[] = { { 0.0017904931100023887, 0.000895246554454779222}, { 0.0017904931100023887, -0.000895246554454779222}, {-0.0017904931100023887, 0.000895246554454779222}, {-0.0017904931100023887, -0.000895246554454779222}, }; return pj_generic_selftest (e_args, s_args, tolerance_xy, tolerance_lp, 4, 4, fwd_in, e_fwd_expect, s_fwd_expect, inv_in, e_inv_expect, s_inv_expect); }
int pj_qsc_selftest (void) { double tolerance_lp = 1e-10; double tolerance_xy = 1e-7; char e_args[] = {"+proj=qsc +ellps=GRS80 +lat_1=0.5 +lat_2=2"}; char s_args[] = {"+proj=qsc +a=6400000 +lat_1=0.5 +lat_2=2"}; LP fwd_in[] = { { 2, 1}, { 2,-1}, {-2, 1}, {-2,-1} }; XY e_fwd_expect[] = { { 304638.450843852363, 164123.870923793991}, { 304638.450843852363, -164123.870923793991}, {-304638.450843852363, 164123.870923793962}, {-304638.450843852421, -164123.870923793904}, }; XY s_fwd_expect[] = { { 305863.792402890511, 165827.722754715243}, { 305863.792402890511, -165827.722754715243}, {-305863.792402890511, 165827.722754715243}, {-305863.792402890569, -165827.722754715156}, }; XY inv_in[] = { { 200, 100}, { 200,-100}, {-200, 100}, {-200,-100} }; LP e_inv_expect[] = { { 0.00132134098471627126, 0.000610652900922527926}, { 0.00132134098471627126, -0.000610652900922527926}, {-0.00132134098471627126, 0.000610652900922527926}, {-0.00132134098471627126, -0.000610652900922527926}, }; LP s_inv_expect[] = { { 0.00131682718763827234, 0.000604493198178676161}, { 0.00131682718763827234, -0.000604493198178676161}, {-0.00131682718763827234, 0.000604493198178676161}, {-0.00131682718763827234, -0.000604493198178676161}, }; return pj_generic_selftest (e_args, s_args, tolerance_xy, tolerance_lp, 4, 4, fwd_in, e_fwd_expect, s_fwd_expect, inv_in, e_inv_expect, s_inv_expect); }
int pj_stere_selftest (void) { double tolerance_lp = 1e-10; double tolerance_xy = 1e-7; char e_args[] = {"+proj=stere +ellps=GRS80 +lat_1=0.5 +lat_2=2 +n=0.5"}; char s_args[] = {"+proj=stere +a=6400000 +lat_1=0.5 +lat_2=2 +n=0.5"}; LP fwd_in[] = { { 2, 1}, { 2,-1}, {-2, 1}, {-2,-1} }; XY e_fwd_expect[] = { { 445289.70910023432, 221221.76694834774}, { 445289.70910023432, -221221.76694835056}, {-445289.70910023432, 221221.76694834774}, {-445289.70910023432, -221221.76694835056}, }; XY s_fwd_expect[] = { { 223407.81025950745, 111737.938996443}, { 223407.81025950745, -111737.938996443}, {-223407.81025950745, 111737.938996443}, {-223407.81025950745, -111737.938996443}, }; XY inv_in[] = { { 200, 100}, { 200,-100}, {-200, 100}, {-200,-100} }; LP e_inv_expect[] = { { 0.0017966305682022392, 0.00090436947502443507}, { 0.0017966305682022392, -0.00090436947502443507}, {-0.0017966305682022392, 0.00090436947502443507}, {-0.0017966305682022392, -0.00090436947502443507}, }; LP s_inv_expect[] = { { 0.001790493109747395, 0.00089524655465513144}, { 0.001790493109747395, -0.00089524655465513144}, {-0.001790493109747395, 0.00089524655465513144}, {-0.001790493109747395, -0.00089524655465513144}, }; return pj_generic_selftest (e_args, s_args, tolerance_xy, tolerance_lp, 4, 4, fwd_in, e_fwd_expect, s_fwd_expect, inv_in, e_inv_expect, s_inv_expect); }
int pj_tpeqd_selftest (void) { double tolerance_lp = 1e-10; double tolerance_xy = 1e-7; char e_args[] = {"+proj=tpeqd +ellps=GRS80 +lat_1=0.5 +lat_2=2 +n=0.5"}; char s_args[] = {"+proj=tpeqd +a=6400000 +lat_1=0.5 +lat_2=2 +n=0.5"}; LP fwd_in[] = { { 2, 1}, { 2,-1}, {-2, 1}, {-2,-1} }; XY e_fwd_expect[] = { {-27750.758831679042, -222599.40369177726}, {-250434.93702403645, -222655.93819326628}, {-27750.758831679042, 222599.40369177726}, {-250434.93702403645, 222655.93819326628}, }; XY s_fwd_expect[] = { {-27845.882978485075, -223362.43069526015}, {-251293.37876465076, -223419.15898590829}, {-27845.882978485075, 223362.43069526015}, {-251293.37876465076, 223419.15898590829}, }; XY inv_in[] = { { 200, 100}, { 200,-100}, {-200, 100}, {-200,-100} }; LP e_inv_expect[] = { {-0.00089855554821257374, 1.2517966304145272}, {0.0008985555481998515, 1.2517966304145272}, {-0.00089855431859741167, 1.2482033692781642}, {0.00089855431859741167, 1.2482033692781642}, }; LP s_inv_expect[] = { {-0.00089548606640108474, 1.2517904929571837}, {0.0008954860663883625, 1.2517904929571837}, {-0.000895484845182587, 1.248209506737604}, {0.00089548484516986475, 1.248209506737604}, }; return pj_generic_selftest (e_args, s_args, tolerance_xy, tolerance_lp, 4, 4, fwd_in, e_fwd_expect, s_fwd_expect, inv_in, e_inv_expect, s_inv_expect); }
int pj_laea_selftest (void) { double tolerance_lp = 1e-10; double tolerance_xy = 1e-7; char e_args[] = {"+proj=laea +ellps=GRS80 +lat_1=0.5 +lat_2=2"}; char s_args[] = {"+proj=laea +a=6400000 +lat_1=0.5 +lat_2=2"}; LP fwd_in[] = { { 2, 1}, { 2,-1}, {-2, 1}, {-2,-1} }; XY e_fwd_expect[] = { { 222602.471450095181, 110589.82722441027}, { 222602.471450095181, -110589.827224408786}, {-222602.471450095181, 110589.82722441027}, {-222602.471450095181, -110589.827224408786}, }; XY s_fwd_expect[] = { { 223365.281370124663, 111716.668072915665}, { 223365.281370124663, -111716.668072915665}, {-223365.281370124663, 111716.668072915665}, {-223365.281370124663, -111716.668072915665}, }; XY inv_in[] = { { 200, 100}, { 200,-100}, {-200, 100}, {-200,-100} }; LP e_inv_expect[] = { { 0.00179663056847900867, 0.000904369475966495845}, { 0.00179663056847900867, -0.000904369475966495845}, {-0.00179663056847900867, 0.000904369475966495845}, {-0.00179663056847900867, -0.000904369475966495845}, }; LP s_inv_expect[] = { { 0.00179049311002060264, 0.000895246554791735271}, { 0.00179049311002060264, -0.000895246554791735271}, {-0.00179049311002060264, 0.000895246554791735271}, {-0.00179049311002060264, -0.000895246554791735271}, }; return pj_generic_selftest (e_args, s_args, tolerance_xy, tolerance_lp, 4, 4, fwd_in, e_fwd_expect, s_fwd_expect, inv_in, e_inv_expect, s_inv_expect); }
int pj_merc_selftest (void) { double tolerance_lp = 1e-10; double tolerance_xy = 1e-7; char e_args[] = {"+proj=merc +ellps=GRS80 +lat_1=0.5 +lat_2=2"}; char s_args[] = {"+proj=merc +a=6400000 +lat_1=0.5 +lat_2=2"}; LP fwd_in[] = { { 2, 1}, { 2,-1}, {-2, 1}, {-2,-1} }; XY e_fwd_expect[] = { { 222638.981586547132, 110579.965218249708}, { 222638.981586547132, -110579.965218249112}, {-222638.981586547132, 110579.965218249708}, {-222638.981586547132, -110579.965218249112}, }; XY s_fwd_expect[] = { { 223402.144255274179, 111706.743574944077}, { 223402.144255274179, -111706.743574944485}, {-223402.144255274179, 111706.743574944077}, {-223402.144255274179, -111706.743574944485}, }; XY inv_in[] = { { 200, 100}, { 200,-100}, {-200, 100}, {-200,-100} }; LP e_inv_expect[] = { { 0.00179663056823904264, 0.00090436947522799056}, { 0.00179663056823904264, -0.00090436947522799056}, {-0.00179663056823904264, 0.00090436947522799056}, {-0.00179663056823904264, -0.00090436947522799056}, }; LP s_inv_expect[] = { { 0.00179049310978382265, 0.000895246554845297135}, { 0.00179049310978382265, -0.000895246554858019272}, {-0.00179049310978382265, 0.000895246554845297135}, {-0.00179049310978382265, -0.000895246554858019272}, }; return pj_generic_selftest (e_args, s_args, tolerance_xy, tolerance_lp, 4, 4, fwd_in, e_fwd_expect, s_fwd_expect, inv_in, e_inv_expect, s_inv_expect); }
int pj_vandg2_selftest (void) { double tolerance_lp = 1e-10; double tolerance_xy = 1e-7; char s_args[] = {"+proj=vandg2 +a=6400000 +lat_1=0.5 +lat_2=2"}; LP fwd_in[] = { { 2, 1}, { 2,-1}, {-2, 1}, {-2,-1} }; XY s_fwd_expect[] = { { 223395.24785043663, 111718.49103722633}, { 223395.24785043663, -111718.49103722633}, {-223395.24785043663, 111718.49103722633}, {-223395.24785043663, -111718.49103722633}, }; return pj_generic_selftest (0, s_args, tolerance_xy, tolerance_lp, 4, 4, fwd_in, 0, s_fwd_expect, 0, 0, 0); }
int pj_vandg3_selftest (void) { double tolerance_lp = 1e-10; double tolerance_xy = 1e-7; char s_args[] = {"+proj=vandg3 +a=6400000 +lat_1=0.5 +lat_2=2"}; LP fwd_in[] = { { 2, 1}, { 2,-1}, {-2, 1}, {-2,-1} }; XY s_fwd_expect[] = { { 223395.24955283134, 111704.51990442065}, { 223395.24955283134, -111704.51990442065}, {-223395.24955283134, 111704.51990442065}, {-223395.24955283134, -111704.51990442065}, }; return pj_generic_selftest (0, s_args, tolerance_xy, tolerance_lp, 4, 4, fwd_in, 0, s_fwd_expect, 0, 0, 0); }
int pj_wag7_selftest (void) { double tolerance_lp = 1e-10; double tolerance_xy = 1e-7; char s_args[] = {"+proj=wag7 +a=6400000 +lat_1=0.5 +lat_2=2"}; LP fwd_in[] = { { 2, 1}, { 2,-1}, {-2, 1}, {-2,-1} }; XY s_fwd_expect[] = { { 198601.87695731167, 125637.0457141714}, { 198601.87695731167, -125637.0457141714}, {-198601.87695731167, 125637.0457141714}, {-198601.87695731167, -125637.0457141714}, }; return pj_generic_selftest (0, s_args, tolerance_xy, tolerance_lp, 4, 4, fwd_in, 0, s_fwd_expect, 0, 0, 0); }
int pj_wink2_selftest (void) { double tolerance_lp = 1e-10; double tolerance_xy = 1e-7; char s_args[] = {"+proj=wink2 +a=6400000 +lat_1=0.5 +lat_2=2"}; LP fwd_in[] = { { 2, 1}, { 2,-1}, {-2, 1}, {-2,-1} }; XY s_fwd_expect[] = { { 223387.39643378611, 124752.03279744535}, { 223387.39643378611, -124752.03279744535}, {-223387.39643378611, 124752.03279744535}, {-223387.39643378611, -124752.03279744535}, }; return pj_generic_selftest (0, s_args, tolerance_xy, tolerance_lp, 4, 4, fwd_in, 0, s_fwd_expect, 0, 0, 0); }
int pj_nicol_selftest (void) { double tolerance_lp = 1e-10; double tolerance_xy = 1e-7; char s_args[] = {"+proj=nicol +a=6400000 +lat_1=0.5 +lat_2=2"}; LP fwd_in[] = { { 2, 1}, { 2,-1}, {-2, 1}, {-2,-1} }; XY s_fwd_expect[] = { { 223374.561814139714, 111732.553988545071}, { 223374.561814139714, -111732.553988545071}, {-223374.561814139714, 111732.553988545071}, {-223374.561814139714, -111732.553988545071}, }; return pj_generic_selftest (0, s_args, tolerance_xy, tolerance_lp, 4, 4, fwd_in, 0, s_fwd_expect, 0, 0, 0); }
int pj_putp3p_selftest (void) { double tolerance_lp = 1e-10; double tolerance_xy = 1e-7; char s_args[] = {"+proj=putp3p +a=6400000 +lat_1=0.5 +lat_2=2"}; LP fwd_in[] = { { 2, 1}, { 2,-1}, {-2, 1}, {-2,-1} }; XY s_fwd_expect[] = { { 178238.118539984745, 89124.5607860879827}, { 178238.118539984745, -89124.5607860879827}, {-178238.118539984745, 89124.5607860879827}, {-178238.118539984745, -89124.5607860879827}, }; XY inv_in[] = { { 200, 100}, { 200,-100}, {-200, 100}, {-200,-100} }; LP s_inv_expect[] = { { 0.00224405032969050844, 0.00112202516475805899}, { 0.00224405032969050844, -0.00112202516475805899}, {-0.00224405032969050844, 0.00112202516475805899}, {-0.00224405032969050844, -0.00112202516475805899}, }; return pj_generic_selftest (0, s_args, tolerance_xy, tolerance_lp, 4, 4, fwd_in, 0, s_fwd_expect, inv_in, 0, s_inv_expect); }
int pj_gstmerc_selftest (void) { double tolerance_lp = 1e-10; double tolerance_xy = 1e-7; char s_args[] = {"+proj=gstmerc +a=6400000 +lat_1=0.5 +lat_2=2"}; LP fwd_in[] = { { 2, 1}, { 2,-1}, {-2, 1}, {-2,-1} }; XY s_fwd_expect[] = { { 223413.46640632182, 111769.14504058557}, { 223413.46640632182, -111769.14504058668}, {-223413.46640632302, 111769.14504058557}, {-223413.46640632302, -111769.14504058668}, }; XY inv_in[] = { { 200, 100}, { 200,-100}, {-200, 100}, {-200,-100} }; LP s_inv_expect[] = { { 0.0017904931097109673, 0.0008952465544509083}, { 0.0017904931097109673, -0.0008952465544509083}, {-0.0017904931097109673, 0.0008952465544509083}, {-0.0017904931097109673, -0.0008952465544509083}, }; return pj_generic_selftest (0, s_args, tolerance_xy, tolerance_lp, 4, 4, fwd_in, 0, s_fwd_expect, inv_in, 0, s_inv_expect); }
int pj_putp5_selftest (void) { double tolerance_lp = 1e-10; double tolerance_xy = 1e-7; char s_args[] = {"+proj=putp5 +a=6400000 +lat_1=0.5 +lat_2=2"}; LP fwd_in[] = { { 2, 1}, { 2,-1}, {-2, 1}, {-2,-1} }; XY s_fwd_expect[] = { { 226367.21338056153, 113204.56855847509}, { 226367.21338056153, -113204.56855847509}, {-226367.21338056153, 113204.56855847509}, {-226367.21338056153, -113204.56855847509}, }; XY inv_in[] = { { 200, 100}, { 200,-100}, {-200, 100}, {-200,-100} }; LP s_inv_expect[] = { { 0.00176671315102969553, 0.000883356575387199546}, { 0.00176671315102969553, -0.000883356575387199546}, {-0.00176671315102969553, 0.000883356575387199546}, {-0.00176671315102969553, -0.000883356575387199546}, }; return pj_generic_selftest (0, s_args, tolerance_xy, tolerance_lp, 4, 4, fwd_in, 0, s_fwd_expect, inv_in, 0, s_inv_expect); }
int pj_cc_selftest (void) { double tolerance_lp = 1e-10; double tolerance_xy = 1e-7; char s_args[] = {"+proj=cc +a=6400000 +lat_1=0.5 +lat_2=2"}; LP fwd_in[] = { { 2, 1}, { 2,-1}, {-2, 1}, {-2,-1} }; XY s_fwd_expect[] = { {223402.14425527418, 111712.41554059254}, {223402.14425527418, -111712.41554059254}, {-223402.14425527418, 111712.41554059254}, {-223402.14425527418, -111712.41554059254}, }; XY inv_in[] = { { 200, 100}, { 200,-100}, {-200, 100}, {-200,-100} }; LP s_inv_expect[] = { {0.0017904931097838226, 0.00089524655481905597}, {0.0017904931097838226, -0.00089524655481905597}, {-0.0017904931097838226, 0.00089524655481905597}, {-0.0017904931097838226, -0.00089524655481905597}, }; return pj_generic_selftest (0, s_args, tolerance_xy, tolerance_lp, 4, 4, fwd_in, 0, s_fwd_expect, inv_in, 0, s_inv_expect); }
int pj_ocea_selftest (void) { double tolerance_lp = 1e-10; double tolerance_xy = 1e-7; char s_args[] = {"+proj=ocea +a=6400000 +lat_1=0.5 +lat_2=2"}; LP fwd_in[] = { { 2, 1}, { 2,-1}, {-2, 1}, {-2,-1} }; XY s_fwd_expect[] = { {127964312562778.156, 1429265667691.05786}, {129394957619297.641, 1429265667691.06812}, {127964312562778.188, -1429265667691.0498}, {129394957619297.688, -1429265667691.03955}, }; XY inv_in[] = { { 200, 100}, { 200,-100}, {-200, 100}, {-200,-100} }; LP s_inv_expect[] = { { 179.999999999860108, 2.79764548403721305e-10}, {-179.999999999860108, 2.7976454840372327e-10}, { 179.999999999860108, -2.7976454840372327e-10}, {-179.999999999860108, -2.79764548403721305e-10}, }; return pj_generic_selftest (0, s_args, tolerance_xy, tolerance_lp, 4, 4, fwd_in, 0, s_fwd_expect, inv_in, 0, s_inv_expect); }
int pj_wag2_selftest (void) { double tolerance_lp = 1e-10; double tolerance_xy = 1e-7; char s_args[] = {"+proj=wag2 +a=6400000 +lat_1=0.5 +lat_2=2"}; LP fwd_in[] = { { 2, 1}, { 2,-1}, {-2, 1}, {-2,-1} }; XY s_fwd_expect[] = { { 206589.88809996162, 120778.04035754716}, { 206589.88809996162, -120778.04035754716}, {-206589.88809996162, 120778.04035754716}, {-206589.88809996162, -120778.04035754716}, }; XY inv_in[] = { { 200, 100}, { 200,-100}, {-200, 100}, {-200,-100} }; LP s_inv_expect[] = { { 0.0019360240367390709, 0.00082795765763814082}, { 0.0019360240367390709, -0.00082795765763814082}, {-0.0019360240367390709, 0.00082795765763814082}, {-0.0019360240367390709, -0.00082795765763814082}, }; return pj_generic_selftest (0, s_args, tolerance_xy, tolerance_lp, 4, 4, fwd_in, 0, s_fwd_expect, inv_in, 0, s_inv_expect); }
int pj_nell_selftest (void) { double tolerance_lp = 1e-10; double tolerance_xy = 1e-7; char s_args[] = {"+proj=nell +a=6400000 +lat_1=0.5 +lat_2=2"}; LP fwd_in[] = { { 2, 1}, { 2,-1}, {-2, 1}, {-2,-1} }; XY s_fwd_expect[] = { { 223385.132504695706, 111698.23644718733}, { 223385.132504695706, -111698.23644718733}, {-223385.132504695706, 111698.23644718733}, {-223385.132504695706, -111698.23644718733}, }; XY inv_in[] = { { 200, 100}, { 200,-100}, {-200, 100}, {-200,-100} }; LP s_inv_expect[] = { { 0.00179049310989310567, 0.000895246554910125161}, { 0.00179049310989310567, -0.000895246554910125161}, {-0.00179049310989310567, 0.000895246554910125161}, {-0.00179049310989310567, -0.000895246554910125161}, }; return pj_generic_selftest (0, s_args, tolerance_xy, tolerance_lp, 4, 4, fwd_in, 0, s_fwd_expect, inv_in, 0, s_inv_expect); }
int pj_collg_selftest (void) { double tolerance_lp = 1e-10; double tolerance_xy = 1e-7; char s_args[] = {"+proj=collg +a=6400000 +lat_1=0.5 +lat_2=2"}; LP fwd_in[] = { { 2, 1}, { 2,-1}, {-2, 1}, {-2,-1} }; XY s_fwd_expect[] = { {249872.921577929839, 99423.1747884602082}, {254272.532301245432, -98559.3077607425657}, {-249872.921577929839, 99423.1747884602082}, {-254272.532301245432, -98559.3077607425657}, }; XY inv_in[] = { { 200, 100}, { 200,-100}, {-200, 100}, {-200,-100} }; LP s_inv_expect[] = { {0.00158679719207879865, 0.00101017310941749921}, {0.001586769215623956, -0.00101018201458258111}, {-0.00158679719207879865, 0.00101017310941749921}, {-0.001586769215623956, -0.00101018201458258111}, }; return pj_generic_selftest (0, s_args, tolerance_xy, tolerance_lp, 4, 4, fwd_in, 0, s_fwd_expect, inv_in, 0, s_inv_expect); }
int pj_wink1_selftest (void) { double tolerance_lp = 1e-10; double tolerance_xy = 1e-7; char s_args[] = {"+proj=wink1 +a=6400000 +lat_1=0.5 +lat_2=2"}; LP fwd_in[] = { { 2, 1}, { 2,-1}, {-2, 1}, {-2,-1} }; XY s_fwd_expect[] = { { 223385.13164095284, 111701.07212763709}, { 223385.13164095284, -111701.07212763709}, {-223385.13164095284, 111701.07212763709}, {-223385.13164095284, -111701.07212763709}, }; XY inv_in[] = { { 200, 100}, { 200,-100}, {-200, 100}, {-200,-100} }; LP s_inv_expect[] = { { 0.0017904931098931057, 0.00089524655489191132}, { 0.0017904931098931057, -0.00089524655489191132}, {-0.0017904931098931057, 0.00089524655489191132}, {-0.0017904931098931057, -0.00089524655489191132}, }; return pj_generic_selftest (0, s_args, tolerance_xy, tolerance_lp, 4, 4, fwd_in, 0, s_fwd_expect, inv_in, 0, s_inv_expect); }
int pj_labrd_selftest (void) { double tolerance_lp = 1e-10; double tolerance_xy = 1e-7; char e_args[] = {"+proj=labrd +ellps=GRS80 +lon_0=0.5 +lat_0=2"}; LP fwd_in[] = { { 2, 1}, { 2,-1}, {-2, 1}, {-2,-1} }; XY e_fwd_expect[] = { { 166973.166090228391, -110536.912730266107}, { 166973.168287157256, -331761.993650884193}, {-278345.500519976194, -110469.032642031714}, {-278345.504185269645, -331829.870790275279}, }; XY inv_in[] = { { 200, 100}, { 200,-100}, {-200, 100}, {-200,-100} }; LP e_inv_expect[] = { {0.501797719349373672, 2.00090435742047923}, {0.501797717380853658, 1.99909564058898681}, {0.498202280650626328, 2.00090435742047923}, {0.498202282619146342, 1.99909564058898681}, }; return pj_generic_selftest (e_args, 0, tolerance_xy, tolerance_lp, 4, 4, fwd_in, e_fwd_expect, 0, inv_in, e_inv_expect, 0); }
int pj_ups_selftest (void) { double tolerance_lp = 1e-10; double tolerance_xy = 1e-7; char e_args[] = {"+proj=ups +ellps=GRS80 +lat_1=0.5 +lat_2=2 +n=0.5"}; LP fwd_in[] = { { 2, 1}, { 2,-1}, {-2, 1}, {-2,-1} }; XY e_fwd_expect[] = { {2433455.5634384668, -10412543.301512826}, {2448749.1185681992, -10850493.419804076}, {1566544.4365615332, -10412543.301512826}, {1551250.8814318008, -10850493.419804076}, }; XY inv_in[] = { { 200, 100}, { 200,-100}, {-200, 100}, {-200,-100} }; LP e_inv_expect[] = { {-44.998567498074834, 64.9182362867341}, {-44.995702709112308, 64.917020250675748}, {-45.004297076028529, 64.915804280954518}, {-45.001432287066002, 64.914588377560719}, }; return pj_generic_selftest (e_args, 0, tolerance_xy, tolerance_lp, 4, 4, fwd_in, e_fwd_expect, 0, inv_in, e_inv_expect, 0); }