static const LatLonDegMinSec testETRSCoords[] = { // OSTN02 test coordinates provided by OS {.lat = {.deg = 53, .min = 46, .sec = L(44.796925), .westOrSouth = false}, .lon = {.deg = 3, .min = 2, .sec = L(25.637665), .westOrSouth = true }, .elevation = L(64.940)}, {.lat = {.deg = 51, .min = 25, .sec = L(39.170761), .westOrSouth = false}, .lon = {.deg = 2, .min = 32, .sec = L(38.674270), .westOrSouth = true }, .elevation = L(104.018)}, {.lat = {.deg = 58, .min = 30, .sec = L(56.173025), .westOrSouth = false}, .lon = {.deg = 6, .min = 15, .sec = L(39.292403), .westOrSouth = true }, .elevation = L(115.026)}, {.lat = {.deg = 54, .min = 53, .sec = L(43.524259), .westOrSouth = false}, .lon = {.deg = 2, .min = 56, .sec = L(17.798693), .westOrSouth = true }, .elevation = L(93.541)}, {.lat = {.deg = 51, .min = 51, .sec = L(32.072283), .westOrSouth = false}, .lon = {.deg = 4, .min = 18, .sec = L(30.689158), .westOrSouth = true }, .elevation = L(81.351)}, {.lat = {.deg = 51, .min = 53, .sec = L(39.718951), .westOrSouth = false}, .lon = {.deg = 0, .min = 53, .sec = L(50.075790), .westOrSouth = false}, .elevation = L(75.273)}, {.lat = {.deg = 53, .min = 20, .sec = L(41.290104), .westOrSouth = false}, .lon = {.deg = 2, .min = 38, .sec = L(25.775546), .westOrSouth = true }, .elevation = L(88.411)}, {.lat = {.deg = 52, .min = 15, .sec = L(19.057739), .westOrSouth = false}, .lon = {.deg = 2, .min = 9, .sec = L(16.510138), .westOrSouth = true }, .elevation = L(101.526)}, {.lat = {.deg = 55, .min = 55, .sec = L(29.217549), .westOrSouth = false}, .lon = {.deg = 3, .min = 17, .sec = L(41.251876), .westOrSouth = true }, .elevation = L(119.032)}, {.lat = {.deg = 54, .min = 7, .sec = L(0.665196), .westOrSouth = false}, .lon = {.deg = 0, .min = 4, .sec = L(39.832776), .westOrSouth = true }, .elevation = L(86.778)}, {.lat = {.deg = 57, .min = 8, .sec = L(20.490695), .westOrSouth = false}, .lon = {.deg = 2, .min = 2, .sec = L(54.817138), .westOrSouth = true }, .elevation = L(108.610)}, {.lat = {.deg = 55, .min = 51, .sec = L(14.398307), .westOrSouth = false}, .lon = {.deg = 4, .min = 17, .sec = L(47.364560), .westOrSouth = true }, .elevation = L(71.617)}, {.lat = {.deg = 57, .min = 29, .sec = L(10.500012), .westOrSouth = false}, .lon = {.deg = 4, .min = 13, .sec = L(9.350362), .westOrSouth = true }, .elevation = L(66.178)}, {.lat = {.deg = 54, .min = 19, .sec = L(45.103478), .westOrSouth = false}, .lon = {.deg = 4, .min = 23, .sec = L(18.568248), .westOrSouth = true }, .elevation = L(94.503)}, {.lat = {.deg = 54, .min = 5, .sec = L(11.987451), .westOrSouth = false}, .lon = {.deg = 4, .min = 38, .sec = L(4.278066), .westOrSouth = true }, .elevation = L(84.366)}, {.lat = {.deg = 52, .min = 45, .sec = L(4.920748), .westOrSouth = false}, .lon = {.deg = 0, .min = 24, .sec = L(5.527717), .westOrSouth = false}, .elevation = L(66.431)}, {.lat = {.deg = 53, .min = 48, .sec = L(0.774717), .westOrSouth = false}, .lon = {.deg = 1, .min = 39, .sec = L(49.650033), .westOrSouth = true }, .elevation = L(215.609)}, {.lat = {.deg = 49, .min = 57, .sec = L(36.220979), .westOrSouth = false}, .lon = {.deg = 5, .min = 12, .sec = L(10.965961), .westOrSouth = true }, .elevation = L(124.269)}, {.lat = {.deg = 51, .min = 29, .sec = L(21.716326), .westOrSouth = false}, .lon = {.deg = 0, .min = 7, .sec = L(11.732031), .westOrSouth = true }, .elevation = L(66.057)}, {.lat = {.deg = 53, .min = 24, .sec = L(58.626568), .westOrSouth = false}, .lon = {.deg = 4, .min = 17, .sec = L(21.050495), .westOrSouth = true }, .elevation = L(100.776)}, {.lat = {.deg = 53, .min = 24, .sec = L(58.713306), .westOrSouth = false}, .lon = {.deg = 4, .min = 17, .sec = L(21.040535), .westOrSouth = true }, .elevation = L(100.854)}, {.lat = {.deg = 57, .min = 0, .sec = L(21.841075), .westOrSouth = false}, .lon = {.deg = 5, .min = 49, .sec = L(42.120935), .westOrSouth = true }, .elevation = L(68.494)}, {.lat = {.deg = 51, .min = 24, .sec = L(2.815934), .westOrSouth = false}, .lon = {.deg = 3, .min = 33, .sec = L(4.620554), .westOrSouth = true }, .elevation = L(112.371)}, {.lat = {.deg = 54, .min = 58, .sec = L(44.841864), .westOrSouth = false}, .lon = {.deg = 1, .min = 36, .sec = L(59.676644), .westOrSouth = true }, .elevation = L(125.878)}, {.lat = {.deg = 51, .min = 22, .sec = L(28.092933), .westOrSouth = false}, .lon = {.deg = 1, .min = 26, .sec = L(40.370305), .westOrSouth = false}, .elevation = L(99.439)}, {.lat = {.deg = 52, .min = 15, .sec = L(5.794233), .westOrSouth = false}, .lon = {.deg = 0, .min = 54, .sec = L(44.962452), .westOrSouth = true }, .elevation = L(131.594)}, {.lat = {.deg = 52, .min = 57, .sec = L(43.887942), .westOrSouth = false}, .lon = {.deg = 1, .min = 11, .sec = L(50.915622), .westOrSouth = true }, .elevation = L(93.825)}, {.lat = {.deg = 50, .min = 55, .sec = L(52.605759), .westOrSouth = false}, .lon = {.deg = 1, .min = 27, .sec = L(1.851626), .westOrSouth = true }, .elevation = L(100.405)}, {.lat = {.deg = 50, .min = 26, .sec = L(19.889717), .westOrSouth = false}, .lon = {.deg = 4, .min = 6, .sec = L(31.124303), .westOrSouth = true }, .elevation = L(215.251)}, {.lat = {.deg = 50, .min = 34, .sec = L(32.291946), .westOrSouth = false}, .lon = {.deg = 1, .min = 17, .sec = L(52.161977), .westOrSouth = true }, .elevation = L(94.688)}, {.lat = {.deg = 59, .min = 51, .sec = L(14.756913), .westOrSouth = false}, .lon = {.deg = 1, .min = 16, .sec = L(29.528804), .westOrSouth = true }, .elevation = L(149.890)}, {.lat = {.deg = 58, .min = 34, .sec = L(52.336612), .westOrSouth = false}, .lon = {.deg = 3, .min = 43, .sec = L(34.716767), .westOrSouth = true }, .elevation = L(98.634)}, {.lat = {.deg = 49, .min = 55, .sec = L(20.150196), .westOrSouth = false}, .lon = {.deg = 6, .min = 17, .sec = L(59.199098), .westOrSouth = true }, .elevation = L(100.000)}, {.lat = {.deg = 53, .min = 20, .sec = L(49.312599), .westOrSouth = false}, .lon = {.deg = 4, .min = 51, .sec = L(3.503091), .westOrSouth = true }, .elevation = L(100.000)}, {.lat = {.deg = 56, .min = 10, .sec = L(31.115299), .westOrSouth = false}, .lon = {.deg = 2, .min = 22, .sec = L(31.048596), .westOrSouth = true }, .elevation = L(100.000)}, {.lat = {.deg = 57, .min = 48, .sec = L(48.666318), .westOrSouth = false}, .lon = {.deg = 8, .min = 34, .sec = L(42.760597), .westOrSouth = true }, .elevation = L(100.000)}, {.lat = {.deg = 58, .min = 12, .sec = L(45.440933), .westOrSouth = false}, .lon = {.deg = 7, .min = 35, .sec = L(33.200272), .westOrSouth = true }, .elevation = L(140.404)}, {.lat = {.deg = 59, .min = 5, .sec = L(48.178240), .westOrSouth = false}, .lon = {.deg = 5, .min = 49, .sec = L(40.776272), .westOrSouth = true }, .elevation = L(140.716)}, {.lat = {.deg = 59, .min = 5, .sec = L(36.061263), .westOrSouth = false}, .lon = {.deg = 4, .min = 25, .sec = L(3.276270), .westOrSouth = true }, .elevation = L(100.000)}, {.lat = {.deg = 60, .min = 7, .sec = L(59.091315), .westOrSouth = false}, .lon = {.deg = 2, .min = 4, .sec = L(25.781605), .westOrSouth = true }, .elevation = L(140.716)}, {.lat = {.deg = 59, .min = 32, .sec = L(4.948596), .westOrSouth = false}, .lon = {.deg = 1, .min = 37, .sec = L(30.610770), .westOrSouth = true }, .elevation = L(100.000)}, {.lat = {.deg = 59, .min = 2, .sec = L(14.779356), .westOrSouth = false}, .lon = {.deg = 3, .min = 12, .sec = L(52.344038), .westOrSouth = true }, .elevation = L(100.000)}, {.lat = {.deg = 58, .min = 43, .sec = L(8.173859), .westOrSouth = false}, .lon = {.deg = 3, .min = 4, .sec = L(26.133727), .westOrSouth = true }, .elevation = L(100.000)}, {.lat = {.deg = 58, .min = 43, .sec = L(15.898312), .westOrSouth = false}, .lon = {.deg = 3, .min = 8, .sec = L(16.378343), .westOrSouth = true }, .elevation = L(100.000)}, // extra (extreme) coords {.lat = {.deg = 90, .min = 0, .sec = L(0.000000), .westOrSouth = false}, .lon = {.deg = 0, .min = 0, .sec = L(0.000000), .westOrSouth = false}, .elevation = L(100.000)}, // N pole {.lat = {.deg = 90, .min = 0, .sec = L(0.000000), .westOrSouth = true }, .lon = {.deg = 0, .min = 0, .sec = L(0.000000), .westOrSouth = false}, .elevation = L(100.000)}, // S pole {.lat = {.deg = 51, .min = 0, .sec = L(0.000000), .westOrSouth = true }, .lon = {.deg = 180, .min = 0, .sec = L(0.000000), .westOrSouth = false}, .elevation = L(100.000)}, // other side of world {.lat = {.deg = 0, .min = 0, .sec = L(0.000000), .westOrSouth = false}, .lon = {.deg = 0, .min = 0, .sec = L(0.000000), .westOrSouth = false}, .elevation = L(100.000)}, // equator/Greenwich Meridian }; static const EastingNorthing testOSGB36Coords[] = { // these coordinates come either from the OSTN02 test files, or from one of the online OS conversion tools (marked '*') // -- sometimes the elevations differ by 1mm, presumably because of rounding policies {.e = L(331534.552), .n = L(431920.792), .elevation = L(12.636), .geoid = 1}, {.e = L(362269.979), .n = L(169978.688), .elevation = L(54.467), .geoid = 1}, {.e = L(151968.641), .n = L(966483.777), .elevation = L(58.836), .geoid = 4}, {.e = L(339921.133), .n = L(556034.759), .elevation = L(41.077), .geoid = 1}, {.e = L(241124.573), .n = L(220332.638), .elevation = L(27.590), .geoid = 1}, {.e = L(599445.578), .n = L(225722.824), .elevation = L(30.192), .geoid = 1}, {.e = L(357455.831), .n = L(383290.434), .elevation = L(36.750), .geoid = 1}, {.e = L(389544.178), .n = L(261912.151), .elevation = L(51.977), .geoid = 1}, {.e = L(319188.423), .n = L(670947.532), .elevation = L(66.361), .geoid = 1}, // * {.e = L(525745.658), .n = L(470703.211), .elevation = L(41.217), .geoid = 1}, {.e = L(397160.479), .n = L(805349.734), .elevation = L(58.902), .geoid = 1}, {.e = L(256340.914), .n = L(664697.266), .elevation = L(17.414), .geoid = 1}, {.e = L(267056.756), .n = L(846176.969), .elevation = L(13.230), .geoid = 1}, {.e = L(244780.625), .n = L(495254.884), .elevation = L(39.891), .geoid = 3}, {.e = L(227778.318), .n = L(468847.386), .elevation = L(29.335), .geoid = 3}, {.e = L(562180.535), .n = L(319784.993), .elevation = L(20.889), .geoid = 1}, // * {.e = L(422242.174), .n = L(433818.699), .elevation = L(165.891), .geoid = 1}, {.e = L(170370.706), .n = L(11572.404), .elevation = L(71.223), .geoid = 1}, // * {.e = L(530624.963), .n = L(178388.461), .elevation = L(20.518), .geoid = 1}, {.e = L(247958.959), .n = L(393492.906), .elevation = L(46.315), .geoid = 1}, // * {.e = L(247959.229), .n = L(393495.580), .elevation = L(46.393), .geoid = 1}, {.e = L(167634.190), .n = L(797067.142), .elevation = L(13.190), .geoid = 1}, {.e = L(292184.858), .n = L(168003.462), .elevation = L(60.615), .geoid = 1}, {.e = L(424639.343), .n = L(565012.700), .elevation = L(76.551), .geoid = 1}, {.e = L(639821.823), .n = L(169565.856), .elevation = L(55.110), .geoid = 1}, {.e = L(474335.957), .n = L(262047.752), .elevation = L(83.961), .geoid = 1}, {.e = L(454002.822), .n = L(340834.941), .elevation = L(45.252), .geoid = 1}, // * {.e = L(438710.908), .n = L(114792.248), .elevation = L(54.029), .geoid = 1}, {.e = L(250359.798), .n = L(62016.567), .elevation = L(163.081), .geoid = 1}, {.e = L(449816.359), .n = L(75335.859), .elevation = L(48.570), .geoid = 1}, // * {.e = L(440725.061), .n = L(1107878.445), .elevation = L(100.992), .geoid = 6}, // * {.e = L(299721.879), .n = L(967202.99), .elevation = L(46.011), .geoid = 1}, {.e = L(91492.135), .n = L(11318.801), .elevation = L(46.882), .geoid = 2}, {.e = L(0.000), .n = L(0.000), .elevation = L(0.000), .geoid = 0}, {.e = L(0.000), .n = L(0.000), .elevation = L(0.000), .geoid = 0}, {.e = L(9587.897), .n = L(899448.993), .elevation = L(43.424), .geoid = 5}, {.e = L(71713.120), .n = L(938516.401), .elevation = L(83.594), .geoid = 9}, {.e = L(180862.449), .n = L(1029604.111), .elevation = L(85.197), .geoid = 10}, {.e = L(261596.767), .n = L(1025447.599), .elevation = L(46.348), .geoid = 11}, // * {.e = L(395999.656), .n = L(1138728.948), .elevation = L(89.901), .geoid = 12}, {.e = L(421300.513), .n = L(1072147.236), .elevation = L(50.951), .geoid = 8}, {.e = L(330398.311), .n = L(1017347.013), .elevation = L(47.978), .geoid = 7}, {.e = L(337898.195), .n = L(981746.359), .elevation = L(48.631), .geoid = 7}, {.e = L(334198.101), .n = L(982046.419), .elevation = L(48.439), .geoid = 1}, {.e = L(0.000), .n = L(0.000), .elevation = L(0.000), .geoid = 0}, {.e = L(0.000), .n = L(0.000), .elevation = L(0.000), .geoid = 0}, {.e = L(0.000), .n = L(0.000), .elevation = L(0.000), .geoid = 0}, {.e = L(0.000), .n = L(0.000), .elevation = L(0.000), .geoid = 0}, };