qd-changjing/public/leaflet/libs/iclient8c/examples/js/proj4js/test/mgrs.js

29 lines
1.6 KiB
JavaScript

(function() {
assert(typeof Proj4js.util.MGRS, "object", "MGRS available in the Proj4js.util namespace");
assert(typeof Proj4js.Point.fromMGRS, "function", "fromMGRS method added to Proj4js.Point prototype");
assert(typeof Proj4js.Point.prototype.toMGRS, "function", "toMGRS method added to Proj4js.Point prototype");
// Conversions cross-tested with http://geographiclib.sourceforge.net/cgi-bin/GeoConvert
var mgrs, point;
mgrs = "33UXP04";
point = Proj4js.Point.fromMGRS(mgrs);
assert(point.x.toPrecision(7), "16.41450", "Longitude of point from MGRS correct.");
assert(point.y.toPrecision(7), "48.24949", "Latitude of point from MGRS correct.");
assert(point.toMGRS(), "33UXP0500444998", "MGRS reference with highest accuracy correct.");
assert(point.toMGRS(1), mgrs, "MGRS reference with 1-digit accuracy correct.");
mgrs = "24XWT783908"; // near UTM zone border, so there are two ways to reference this
point = Proj4js.Point.fromMGRS(mgrs);
assert(point.x.toPrecision(7), "-32.66433", "Longitude of point from MGRS correct.");
assert(point.y.toPrecision(7), "83.62778", "Latitude of point from MGRS correct.");
assert(point.toMGRS(3), "25XEN041865", "MGRS reference with 3-digit accuracy correct.");
function assert(got, expected, msg) {
if (got == expected) {
document.write('<div>' + msg + '</div>');
} else {
document.write('<div style="background-color:red">' + msg + ' - got ' + got + ', but expected ' + expected + '</div>');
}
}
})();