这些变量名称代表什么?

时间:2017-03-31 21:31:37

标签: javascript

我正在使用一个函数,它有一些我不知道它们代表什么的变量。

变量是:

a   //From var a = Math ...

The d in dLat

以下是代码:

function checkDistance(lat1,lon1,lat2,lon2) {
      var R = 6371; // Radius of the earth in km
      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 km
      return d;
    }

您认为他们代表什么?

1 个答案:

答案 0 :(得分:1)

这是一个使用 hasrsine 公式来计算两点之间的地球表面距离的函数(使用点的纬度和经度值)。

 a = sin²(Δφ/2) + cos φ1 ⋅ cos φ2 ⋅ sin²(Δλ/2) 
 c = 2 ⋅ atan2( √a, √(1−a) ) 
 d = R ⋅ c

dLat中的“d”代表 delta Δ(也就是两个纬度之间的差异)。这就是在此函数中调用变量的内容。 dLat相当于Δφ,而dLon相当于Δλ

a变量等效于公式的第一行。

我希望这能回答你的问题。

您可以在此处找到更多信息:http://www.movable-type.co.uk/scripts/latlong.html