当前位置: 代码迷 >> GIS >> 利用高斯投影来计算地球上两地之间的距离,为什么不对?解决方法
  详细解决方案

利用高斯投影来计算地球上两地之间的距离,为什么不对?解决方法

热度:375   发布时间:2016-05-05 06:38:57.0
利用高斯投影来计算地球上两地之间的距离,为什么不对?
采用高斯投影把大地坐标转化为平面直角坐标,然后采用如下公式计算两地之间的距离,结果不对

BL2xy(B1,   L1,   &x1,   &y1);
BL2xy(B2,   L2,   &x2,   &y2);

d   =   sqrt((x1-x2)*(x1-x2)   +   (y1-y2)*(y1-y2));

是不是对于较远的距离,采用这种方式计算就失效?

------解决方案--------------------
地球表面是个曲面,不是平面,本来把球面投影成平面,就有失真,所有的投影方法都有失真。应该利用球面几何的方面来求两点间距离。当然如果两点较近,地球曲率可以忽略的话,是可以用平面上的两点间距离公式的。
我记得在www.codeguru.com上,有过一篇文章讲计算地球上两点间距离的算法。
------解决方案--------------------
高斯投影不适合在大范围内的距离测算,只有在中线附近才会得到比较准确的测量结果。

和直线距离还是球面距离无关。投影以后近似的也是球面距离
  相关解决方案