我有两个点指定为lat/long(s),并想在它们之间插入一个新的点

本文关键字:之间 插入 一个 long 两个 lat | 更新日期: 2023-09-27 18:17:52

我有两个指定为lat/long(s)的点,我想在这两个点之间插入一个新的点,与起始点保持一定距离(以米为单位)

大概我把纬度/长度转换成弧度,然后使用中点公式的一个版本?

我怎样才能完成这个任务?

我生活在c#的世界里。

TIA

我有两个点指定为lat/long(s),并想在它们之间插入一个新的点

确切的解决方案不是那么简单(一个近似的解决方案只是由线性插值给出)。你不会喜欢的。

轨迹沿着一个大圆,这个大圆是球体与平面通过圆心和两个给定点的交点。

首先从球面坐标转换为笛卡尔坐标。然后通过从中心到两点的向量的叉乘,确定平面的法线方向(归一化向量)。然后使用3D旋转公式绕这个轴旋转起点。旋转角度由所需的距离除以地球的半径得到。最后,转换回球坐标。