获取垂直轴(北轴)的两点(LatLng)之间的角度

阿纳塔

目前,我在Google地图上有两个点(LatLng)A和B。我以图像如下显示我的问题:在此处输入图片说明

沿垂直轴旋转设备时,我想在点A和点B之间获得角度@ 在此处输入图片说明

我想获取AB与北轴(y轴)之间的角度。我该怎么做。我创建了一个获取角度的函数,但它返回null :(

    public double getAngleTwoPoint(LatLng point1,LatLng point2){
    double lat1=point1.latitude;
    double lat2=point2.latitude;
    double long1=point1.longitude;
    double long2=point2.longitude;
    double deltaLong=long2-long1;
    double angle = Math.atan2(Math.sin(deltaLong)*Math.cos(lat2), Math.cos(lat1)*Math.sin(lat2)-Math.sin(lat1)*Math.cos(lat2)*Math.cos(deltaLong));     
    return Math.toDegrees(angle);
}
阿米特·古普塔(Amit Gupta)

您可以使用此公式来获取经纬度之间的夹角。

θ= atan2(sin(Δlong)* cos(lat2),cos(lat1)* sin(lat2)-sin(lat1)* cos(lat2)* cos(Δlong))

请注意,在使用此公式和Δlong= long2-long1之前,应将角度(θ)转换为弧度。

atan2是几乎所有编程语言(大多数在Math软件包中)中发现的常见功能。通常,还有用于度和弧度之间转换的函数(也在Math包中)。

请记住,atan2返回的值在-π... +π范围内,以将结果转换为罗盘方位,您需要将θ乘以180 /π然后使用(θ+ 360)%360,其中%是模数除法操作返回除法的其余部分。

以下链接是涉及纬度和经度的公式的一个很好的资源。他们还提供公式的Javascript实现。实际上,答案是基于此页面上的信息:

http://www.yourhomenow.com/house/haversine.html

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

获取垂直轴(北轴)的两点(LatLng)之间的角度

来自分类Dev

计算水平轴与两点之间的角度

来自分类Dev

R:对数x轴从图中的两点之间的差

来自分类Dev

R:对数x轴从图中的两点之间的差

来自分类Dev

两点之间的Geokit LatLng中点

来自分类Dev

两点之间的Geokit LatLng中点

来自分类Dev

更改垂直轴起点

来自分类Dev

如何找到旋转角度,所以两点的Y轴相同

来自分类Dev

如何计算等轴测图上两点之间的现实距离?

来自分类Dev

Java:确定两点之间的角度

来自分类Dev

提高两点之间的几何角度

来自分类Dev

获取两点之间的坐标?

来自分类Dev

获取两点之间的距离/位移

来自分类Dev

谷歌图表垂直轴奇怪的标签

来自分类Dev

ggplot:居中并移动垂直轴标签

来自分类Dev

极坐标图旁边的垂直轴

来自分类Dev

如何夹紧垂直轴上的旋转?

来自分类Dev

全日历ResourceView水平轴和垂直轴

来自分类Dev

如何标记表格的水平轴和垂直轴?

来自分类Dev

如何计算两点之间的 3D 角度?

来自分类Dev

Word 2013-垂直轴标题-垂直显示的文本

来自分类常见问题

根据纬度/经度获取两点之间的距离

来自分类Dev

获取两点之间的一组坐标?

来自分类Dev

从两点之间的numpy数组获取值

来自分类Dev

EmguCV:获取两点之间的直线中像素的坐标

来自分类Dev

单循环获取两点之间的坐标

来自分类Dev

获取曲线上两点之间的值

来自分类Dev

获取两点之间的最短距离

来自分类Dev

创建垂直轴标签,而不是在ggplot中旋转