【发布时间】:2013-06-23 01:39:18
【问题描述】:
下面是从谷歌地图捕获的地图。我想计算角度ABC。我有三个点的坐标(纬度/经度)。
有什么方法可以解决我的问题吗?
谢谢
【问题讨论】:
-
Wkipedia 页面 -- en.wikipedia.org/wiki/… -- 包含解决问题的公式,无论您是平面地球还是球形地球。
标签: google-maps math geometry
下面是从谷歌地图捕获的地图。我想计算角度ABC。我有三个点的坐标(纬度/经度)。
有什么方法可以解决我的问题吗?
谢谢
【问题讨论】:
标签: google-maps math geometry
您可以使用 Google Maps Javascript API v3 的 google.maps.geometry.spherical.computeHeading 方法找到任意两点之间的航向:
computeHeading(from:LatLng, to:LatLng) |号码 |将航向从一个 LatLng 返回到另一个 LatLng。航向在 [-180,180) 范围内从北顺时针以度数表示。
两者之间的角度将是两个标题之间的差异。
在this answer 中使用computeHeading 的示例
【讨论】:
您可以使用law of cosines 来近似角度。我说近似值是因为地球的曲率会对计算产生一些非零影响。
在您的示例中,计算点之间的距离就足够了,然后对余弦定律执行适当的操作。参考余弦定律wiki文章applications中的第二个公式和对应的图片。
【讨论】: