mirror of
https://github.com/Ekokumppanit/Lentolaskuri.git
synced 2026-01-26 11:13:58 +00:00
27 lines
683 B
JavaScript
27 lines
683 B
JavaScript
'use strict';
|
|
define([
|
|
'config',
|
|
'libs/airports'
|
|
], function (cfg, airports) {
|
|
var toRad = function toRad(n) {
|
|
return n * Math.PI / 180;
|
|
};
|
|
|
|
var haversine = function haversine(from, to) {
|
|
var dLat = toRad(to.get('lat') - from.get('lat'));
|
|
var dLon = toRad(to.get('long') - from.get('long'));
|
|
var lat1 = toRad(from.get('lat'));
|
|
var lat2 = toRad(to.get('lat'));
|
|
|
|
var a = Math.sin(dLat / 2) * Math.sin(dLat / 2) +
|
|
Math.sin(dLon / 2) * Math.sin(dLon / 2) * Math.cos(lat1) * Math.cos(lat2);
|
|
var c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1 - a));
|
|
return cfg.R * c;
|
|
};
|
|
|
|
return {
|
|
toRad: toRad,
|
|
haversine: haversine
|
|
};
|
|
});
|