已知两点经纬度求夹角
时间: 2024-06-08 22:12:36 浏览: 10
已知两点的经纬度,可以使用以下代码计算它们之间的夹角:
```
function bearing(start, end) {
let rad = Math.PI / 180,
lat1 = start.latitude * rad,
lat2 = end.latitude * rad,
lon1 = start.longitude * rad,
lon2 = end.longitude * rad;
const a = Math.sin(lon2 - lon1) * Math.cos(lat2);
const b = Math.cos(lat1) * Math.sin(lat2) - Math.sin(lat1) * Math.cos(lat2) * Math.cos(lon2 - lon1);
return radiansToDegrees(Math.atan2(a, b));
}
function radiansToDegrees(radians) {
const degrees = radians % (2 * Math.PI);
return degrees * 180 / Math.PI;
}
// 例子
const pointA = {'latitude': 30, 'longitude': 120};
const pointB = {'latitude': 35, 'longitude': 125};
const angle = bearing(pointA, pointB);
console.log(angle);
```
这段代码使用给定的两个点的经纬度计算它们之间的夹角,并将结果归一化到0~360度的范围内。
相关问题:
1. 通过经纬度计算两点之间的距离的方法是什么?
2. 如何将角度转换为弧度?
3. 是否有其他方法可以计算两点
相关推荐
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![xls](https://img-home.csdnimg.cn/images/20210720083658.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)