如何从两个地方的纬度和经度获得一个地方到另一个地方的方向?
Posted
技术标签:
【中文标题】如何从两个地方的纬度和经度获得一个地方到另一个地方的方向?【英文标题】:how to get direction of one place to another from latitudes and longitudes of both place? 【发布时间】:2011-12-06 19:10:23 【问题描述】:例如,如果来源是秘鲁或墨西哥,目的地是阿拉斯加,那么结果应该是顺时针北纬 45 度 = 逆时针西纬 45 度。
我实际上需要一个函数,它可以返回同时获取源和目标的 lat lon 的结果......
我在 android 中工作。但这里我只是寻求逻辑/计算
提前谢谢
【问题讨论】:
试试这些链接movable-type.co.uk/scripts/latlong.html和dougv.com/2009/07/13/… 您能否在此处指定您在哪个平台上工作? 我认为GIS 会比数学更好。他们可能会为给定平台指出一个好的库。 这称为大地测量。请参阅trac.osgeo.org/proj/wiki/GeodesicCalculations 以获得很好的概述,正如埃里克森建议的那样,请参阅 [gis.stackexchange.com] 以获得详细帮助。 好问题,我正在尝试解决它!我能假设地球是圆的吗? 【参考方案1】:这个公式将为您提供沿着一个大圆圈从起点出发到目的地的初始航向:
θ = atan2(sin(Δlong)*cos(lat2), cos(lat1)*sin(lat2) − sin(lat1)*cos(lat2)*cos(Δlong))
其中Δlong
是从起点到终点的整体经度变化,lat1
、lat2
是起点/终点的纬度。
请注意,当您沿着大圆圈行驶时,前往目的地的航向会发生变化,因此当您向目的地移动时,需要不断调整该航向。另请注意,您需要将 atan2() 返回的角度从 +/- pi 映射到 0-360°。
发件人:http://www.movable-type.co.uk/scripts/latlong.html
【讨论】:
以上是关于如何从两个地方的纬度和经度获得一个地方到另一个地方的方向?的主要内容,如果未能解决你的问题,请参考以下文章