8 | function distance(lat1, lon1, lat2, lon2) {
var deg2rad = 0.017453292519943295;
var cos = Math.cos;
lat1 *= deg2rad;
lon1 *= deg2rad;
lat2 *= deg2rad;
lon2 *= deg2rad;
var diam = 12742;
var dLat = lat2 - lat1;
var dLon = lon2 - lon1;
var cdLat = (1 - cos(dLat));
var cdLon = (1 - cos(dLon));
var a = (cdLat + cdLon * cos(lat1) * cos(lat2)) / 2;
return diam * Math.asin(Math.sqrt(a));
}
distance(48, -122, 49, -121);
| ready |
7 | function distance(lat1, lon1, lat2, lon2) {
var deg2rad = 0.017453292519943295;
var cos = Math.cos;
lat1 *= deg2rad;
lon1 *= deg2rad;
lat2 *= deg2rad;
lon2 *= deg2rad;
var a = (
(1 - cos(lat2 - lat1)) +
(1 - cos(lon2 - lon1)) * cos(lat1) * cos(lat2)
) / 2;
return 12742 * Math.asin(Math.sqrt(a));
}
distance(48, -122, 49, -121);
| ready |
6 | function distance(lat1, lon1, lat2, lon2) {
var deg2rad = 0.017453292519943295;
var cos = Math.cos;
lat1 *= deg2rad;
lon1 *= deg2rad;
lat2 *= deg2rad;
lon2 *= deg2rad;
var diam = 12742;
var dLat = lat2 - lat1;
var dLon = lon2 - lon1;
var a = (
(1 - cos(dLat)) +
(1 - cos(dLon)) * cos(lat1) * cos(lat2)
) / 2;
return diam * Math.asin(Math.sqrt(a));
}
distance(48, -122, 49, -121);
| ready |
5 | function distance(lat1, lon1, lat2, lon2) {
var deg2rad = Math.PI / 180;
lat1 *= deg2rad;
lon1 *= deg2rad;
lat2 *= deg2rad;
lon2 *= deg2rad;
var diam = 12742;
var dLat = lat2 - lat1;
var dLon = lon2 - lon1;
var a = (
(1 - Math.cos(dLat)) +
(1 - Math.cos(dLon)) * Math.cos(lat1) * Math.cos(lat2)
) / 2;
return diam * Math.asin(Math.sqrt(a));
}
distance(48, -122, 49, -121);
| ready |
4 | function distance(lat1, lon1, lat2, lon2) {
var R = 6371;
var dLat = (lat2 - lat1) * Math.PI / 180;
var dLon = (lon2 - lon1) * Math.PI / 180;
var a =
0.5 - Math.cos(dLat) / 2 +
Math.cos(lat1 * Math.PI / 180) * Math.cos(lat2 * Math.PI / 180) *
(1 - Math.cos(dLon)) / 2;
return R * 2 * Math.asin(Math.sqrt(a));
}
distance(48, -122, 49, -121);
| ready |
3 | function distance(lat1, lon1, lat2, lon2) {
var R = 6371;
var dLat = (lat2 - lat1) * Math.PI / 180;
var dLon = (lon2 - lon1) * Math.PI / 180;
var a =
0.5 - Math.cos(dLat) / 2 +
Math.cos(lat1 * Math.PI / 180) * Math.cos(lat2 * Math.PI / 180) *
(1 - Math.cos(dLon)) / 2;
return R * 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1 - a));
}
distance(48, -122, 49, -121);
| ready |
2 | function distance(lat1, lon1, lat2, lon2) {
var R = 6371;
var dLat = deg2rad(lat2 - lat1);
var dLon = deg2rad(lon2 - lon1);
var a =
0.5 - Math.cos(dLat) / 2 +
Math.cos(deg2rad(lat1)) * Math.cos(deg2rad(lat2)) *
(1 - Math.cos(dLon)) / 2;
return R * 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1 - a));
}
distance(48, -122, 49, -121);
| ready |
1 | function distance(lat1, lon1, lat2, lon2) {
var R = 6371;
var dLat = deg2rad(lat2 - lat1);
var dLon = deg2rad(lon2 - lon1);
var a =
Math.sin(dLat / 2) * Math.sin(dLat / 2) +
Math.cos(deg2rad(lat1)) * Math.cos(deg2rad(lat2)) *
Math.sin(dLon / 2) * Math.sin(dLon / 2);
var c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1 - a));
var d = R * c;
return d;
}
distance(48, -122, 49, -121);
| ready |