123456789101112131415161718 |
- export const calcDistance = (path) => {
- let distance = 0;
- for(let i=0; i<path.length-1; i++) {
- if (path[i]===undefined | path[i+1]===undefined){
- continue
- }
- var radlat1 = Math.PI * path[i][0]/180;
- var radlat2 = Math.PI * path[i+1][0]/180;
- var theta = path[i][1]-path[i+1][1];
- var radtheta = Math.PI * theta/180;
- var d = Math.sin(radlat1) * Math.sin(radlat2) + Math.cos(radlat1) * Math.cos(radlat2) * Math.cos(radtheta);
- if (d > 1) {
- d = 1;
- }
- distance += Math.acos(d) * 180/Math.PI * 60 * 1.1515 * 1.609344;
- }
- return distance
- }
|