如何在2个坐标之间找到直线上的几个坐标?
例如:
开始坐标:Lat = X1 Long = Y1
结束坐标:Lat = X2 Long = Y2
从X1,Y1到X2,Y2做一条直线。
然后找到位于该线的5个点,它们以相同的距离展开。
任何人都可以帮助找到算法和计算?
坐标为十进制格式,例如50.123456,6.123456
感谢。
答案 0 :(得分:2)
球体(或椭圆体)上没有“直线”。
无论如何,你需要:
计算从(x1,y1)到(x2,y2)的距离和初始方位角。
您可以使用Vincenty的逆方法。
计算距离(x1,y1)在该方位角(加上点(x1,y1)和(x2,y2))距离(0,25d,0.5d,0.75d)的点坐标
您可以使用Vincenty的直接方法。
直接和反向方法都是described on Wikipedia。
GeographicLib的一部分提供了针对直接和反向问题的极其准确的实现。
Aviation Formulary中描述了不太准确但更简单的方法。