获取AB直线间任意一点经纬度
1、目标
已知A点经纬度,距离;B点经纬度,距离,如果C点在AB之间,且知道C点距离,求C点的经纬度信息。
目标:在AB这条直线上,根据给定的距离(从A点开始沿直线到某点的距离)来求该点的经纬度。

2、方法
首先计算AB的总长度(大圆距离),然后根据比例(距离/总长度)在球面上进行插值。
3、流程
1. 计算A到B的大圆路径(即球面上的直线)。
2. 计算大圆路径的总角距离(以弧度表示)。
3. 根据给定的距离(沿大圆路径的长度),计算该距离对应的角距离(弧度)。
4. 使用球面线性插值(Slerp)计算该角距离处点的笛卡尔坐标,再转换为经纬度。
步骤:
设地球为球体,半径为R(通常取6371千米,注意单位转换:1000米=1千米)。
具体步骤:
a) 将A、B的经纬度转换为笛卡尔坐标(单位球)。
b) 计算A、B两点间的角距离θ(通过点积和反余弦函数)。
c) 总距离d_total = R * θ(千米)。
d) 对于给定距离d(米),先转换为千米,然后计算对应的角距离:α = d / R(弧度)。
注意:这里d是从A点出发的距离,所以α就是沿大圆路径从A点出发的角距离。
e) 使用球面线性插值公式:
P = (A
订阅专栏 解锁全文
4万+

被折叠的 条评论
为什么被折叠?



