【问题标题】:Mathematic way to know 50 km around an specific coordinate了解特定坐标周围 50 公里的数学方法
【发布时间】:2014-08-20 19:23:23
【问题描述】:

我正在研究了解特定坐标周围坐标的最佳方法。 我是说: 如果在坐标中:

@29.817178,-95.4012915

我如何知道坐标:@30.00121, -93.13213 是否距离我的实际位置 50 公里(或更少)?

【问题讨论】:

  • 您需要提及的是,物品仅位于球形表面上。

标签: math coordinates coordinate-systems


【解决方案1】:

你应该使用Haversine formula,一个很好的解释可以在here和一个javascript示例中找到。

【讨论】:

  • 嘿!真的很好用var R = 6371; // km var φ1 = lat1.toRadians(); var φ2 = lat2.toRadians(); var Δφ = (lat2-lat1).toRadians(); var Δλ = (lon2-lon1).toRadians(); var a = Math.sin(Δφ/2) * Math.sin(Δφ/2) + Math.cos(φ1) * Math.cos(φ2) * Math.sin(Δλ/2) * Math.sin(Δλ/2); var c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1-a)); var d = R * c;谢谢!
【解决方案2】:

由于您正在处理纬度和经度,因此您需要计算两点之间的great circle distance

公式有点详细,所以我不会在这里复制它,但在上面链接的维基百科文章中有解释。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-07-11
    • 1970-01-01
    • 2019-12-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多