// updates the Deal table
let tDeals = base.getTable(‘Deals’);
let qDeals = await tDeals.selectRecordsAsync();
for (let rDeals of qDeals.records){
let d= getDistanceFromLatLonInKm(rDeals.getCellValue(‘Latitide’),rDeals.getCellValue(‘Longitude’),rDeals.getCellValue(‘BLa’),rDeals.getCellValue(‘BLong’));
await tDeals.updateRecordAsync(rDeals.id, {‘Distance’ : d})
}
// distance between 2 given points (in miles)
function getDistanceFromLatLonInKm(lat1,lon1,lat2,lon2) {
var R = 3958.75586579; // Radius of the earth in miles
var dLat = deg2rad(lat2-lat1); // deg2rad below
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; // Distance in miles
return d;
}
function deg2rad(deg) {
return deg * (Math.PI/180)
}