采用高斯投影把大地坐标转化为平面直角坐标,然后采用如下公式计算两地之间的距离,结果不对
BL2xy(B1, L1, &x1, &y1);
BL2xy(B2, L2, &x2, &y2);
d = sqrt((x1-x2)*(x1-x2) + (y1-y2)*(y1-y2));
是不是对于较远的距离,采用这种方式计算就失效?
------解决方案--------------------
地球表面是个曲面,不是平面,本来把球面投影成平面,就有失真,所有的投影方法都有失真。应该利用球面几何的方面来求两点间距离。当然如果两点较近,地球曲率可以忽略的话,是可以用平面上的两点间距离公式的。
我记得在www.codeguru.com上,有过一篇文章讲计算地球上两点间距离的算法。
------解决方案--------------------
高斯投影不适合在大范围内的距离测算,只有在中线附近才会得到比较准确的测量结果。
和直线距离还是球面距离无关。投影以后近似的也是球面距离