16

現在の位置 ({lat:x,lon:y}) を知っており、速度と方向角も知っています。次回の次の位置を予測する方法は?

4

5 に答える 5

7

ここでは、指定された方位と距離を計算するための JS を使用しています。

//lat, lng in degrees. Bearing in degrees. Distance in Km
calculateNewPostionFromBearingDistance = function(lat, lng, bearing, distance) {
  var R = 6371; // Earth Radius in Km

  var lat2 = Math.asin(Math.sin(Math.PI / 180 * lat) * Math.cos(distance / R) + Math.cos(Math.PI / 180 * lat) * Math.sin(distance / R) * Math.cos(Math.PI / 180 * bearing));
  var lon2 = Math.PI / 180 * lng + Math.atan2(Math.sin( Math.PI / 180 * bearing) * Math.sin(distance / R) * Math.cos( Math.PI / 180 * lat ), Math.cos(distance / R) - Math.sin( Math.PI / 180 * lat) * Math.sin(lat2));

  return [180 / Math.PI * lat2 , 180 / Math.PI * lon2];
};

calculateNewPostionFromBearingDistance(60,25,30,1)
[60.007788047871614, 25.008995333937197]
于 2013-10-24T09:03:32.413 に答える