我需要一个C#中的函数来执行以下操作:从gps点a向gps点B的方向移动50米并计算该点的gps坐标。
例如,我有两个坐标:

LatLon LatLonA = new LatLon(51.83966, 5.04631); // Latitude 51.83966, Longitude 5.04631
LatLon LatLonB = new LatLon(51.84172, 5.01961); // Latitude 51.84172, Longitude 5.01961

我想要的是这样一个函数:
function LatLon MoveTowards(LatLon A, LatLon B, double MetersOverGround)
{
    //code here
}

该函数将返回B方向上距离A x米的坐标。

最佳答案

地球不是球体,甚至也不是椭圆。如果不购买商业图书馆,你所能得到的最好的结果就是一个近似值(对于大多数人来说,这是足够好的)。
你可以从查看Haversine formula开始,而this page将有很大帮助。
或者如果你想要一个商业图书馆,我已经成功地使用了ProLat

关于c# - 从LatLonA到LatLonB“移动”#米(地面)(WGS84),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7813617/

10-12 23:29