tethys-feature-service/node_modules/mgrs/test/test.js
2023-10-02 15:04:02 +02:00

37 lines
1.5 KiB
JavaScript

var should = require('chai').should();
var mgrs = require('../dist/mgrs');
describe('First MGRS set', function() {
var mgrsStr = "33UXP04";
var point = mgrs.toPoint(mgrsStr);
it('Longitude of point from MGRS correct.', function() {
point[0].should.be.closeTo(16.41450, 0.000001);
});
it('Latitude of point from MGRS correct.', function() {
point[1].should.be.closeTo(48.24949, 0.000001);
});
it('MGRS reference with highest accuracy correct.', function() {
mgrs.forward(point).should.equal("33UXP0500444998");
});
it('MGRS reference with 1-digit accuracy correct.', function() {
mgrs.forward(point,1).should.equal(mgrsStr);
});
});
describe('Second MGRS set', function() {
var mgrsStr = "24XWT783908"; // near UTM zone border, so there are two ways to reference this
var point = mgrs.toPoint(mgrsStr);
it('Longitude of point from MGRS correct.', function() {
point[0].should.be.closeTo(-32.66433, 0.00001);
});
it('Latitude of point from MGRS correct.', function() {
point[1].should.be.closeTo(83.62778, 0.00001);
});
it('MGRS reference with 1-digit accuracy correct.', function() {
mgrs.forward(point,3).should.equal('25XEN041865');
});
it('MGRS reference with 5-digit accuracy, northing all zeros', function(){
mgrs.forward([0,0],5).should.equal('31NAA6602100000');
});
it('MGRS reference with 5-digit accuracy, northing one digit', function(){
mgrs.forward([0,0.00001],5).should.equal('31NAA6602100001');
});
})