抵消 GPS 坐标的公式/算法



我以纬度、经度的形式提供 GPS 坐标,并希望将它们偏移一段距离和一个角度。

例如:如果我沿方位角偏移 22 度 104 公里,7.34567偏移 45.12345 公里,新坐标是什么?

谢谢

对于大多数应用程序,以下两个公式之一就足够了:

"纬度/纬度给定径向和距离"

第二个速度较慢,但在特殊情况下产生的问题较少(请参阅该页面上的 docu)。
阅读该页面上的介绍,并确保纬度/纬度在获得结果之前转换为弧度,并在获得结果后转换回度数。确保您的系统使用 atan2(y,x)(通常是这种情况),而不是 excell 中的情况 atan2(x,y)。

上一个答案中的链接不再有效,这里是使用回程机的链接:

https://web.archive.org/web/20161209044600/http://williams.best.vwh.net/avform.htm

公式为:

点 {lat,lon} 是 tc 径向距点 1 的距离 d,如果:

 lat=asin(sin(lat1)*cos(d)+cos(lat1)*sin(d)*cos(tc))
 IF (cos(lat)=0)
    lon=lon1      // endpoint a pole
 ELSE
    lon=mod(lon1-asin(sin(tc)*sin(d)/cos(lat))+pi,2*pi)-pi
 ENDIF

该算法仅限于dlon

 lat =asin(sin(lat1)*cos(d)+cos(lat1)*sin(d)*cos(tc))
 dlon=atan2(sin(tc)*sin(d)*cos(lat1),cos(d)-sin(lat1)*sin(lat))
 lon=mod( lon1-dlon +pi,2*pi )-pi

最新更新