Frequently Used

Distance Between Coordinates

2つの座標(緯度・経度)の間の距離をメートル単位で計算するブロック。GPSなどの位置情報から距離を求めるのに使う。

Block
Distance Between Coordinates
Text Code for This Block
function sbGeoDistance(lat1, lon1, lat2, lon2) {
  var R = 6371000; // Earth radius in meters
  var dLat = (lat2 - lat1) * Math.PI / 180;
  var dLon = (lon2 - lon1) * Math.PI / 180;
  var a = Math.sin(dLat/2) * Math.sin(dLat/2) +
          Math.cos(lat1 * Math.PI / 180) * Math.cos(lat2 * Math.PI / 180) *
          Math.sin(dLon/2) * Math.sin(dLon/2);
  var c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1-a));
  var distance = R * c;
  return Math.round(distance);
}

sbGeoDistance(0, 0, 0, 0)
Arguments
  • Arg 1Number
  • Arg 2Number
  • Arg 3Number
  • Arg 4Number