Lat Long km distance

Measure distance between two Lat Long Cords

by Richard_Pearce

JavaScript

function degreesToRadians(degrees) {
  return degrees * Math.PI / 180;
}

function distanceInKmBetweenEarthCoordinates(lat1, lon1, lat2, lon2) {
  var earthRadiusKm = 6371;

  var dLat = degreesToRadians(lat2-lat1);
  var dLon = degreesToRadians(lon2-lon1);

  lat1 = degreesToRadians(lat1);
  lat2 = degreesToRadians(lat2);
  
  console.log("dLat " + dLat );
  console.log("dLon " + dLon );
  console.log("lat1 " + lat1 );
  console.log("lat2 " + lat2 );

  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)); 
  
  console.log("a " + a );
  console.log("c " + c );
  
  
  return earthRadiusKm * c;
}


console.log(distanceInKmBetweenEarthCoordinates(51.5, 0, 38.8, -77.1))