经纬度距离的简化计算

来源:互联网 发布:mac自带的flash软件 编辑:程序博客网 时间:2024/05/22 12:24

经纬度距离的简化计算

 

地球是椭圆的,用经纬度表示地点的坐标,精确计算距离的公式非常复杂,在精度要求不高的情况下,可以用简化的公式计算近似值。一般人用圆球的公式进行简化,但误差可能超过0.5%,而且还用到三角函数公式。

有一种更简化的方法是利用多项式代替计算,完全不采用三角函数,只需要加减乘除和开根号即可。计算速度更快,误差更小,即便没有三角函数的计算器也能实现。

考虑中国主要城市的纬度在20~46之间,下面是专用于纬度20°~46°的简化计算公式,

假设两点的经纬度坐标为(x1,y1)和(x2,y2

第一步:计算三个参数:

    经度差值dx=x2-x2

    纬度差值dy=y2-y1

    平均纬度 b =(y1+y2)*0.5

第二步,计算东西方向距离和南北方向距离(单位:米)

 东西距离采用三阶多项式,南北采用一阶多项式即可

东西距离Lx = (0.05 * b*b*b - 19.16 * b*b + 47.13 * b + 110966 ) * dx

南北距离Ly = (17 * b + 110352) * dy

 

    第三步,用平面的方长形对角距离公式计算总距离:

      总距离 = sqrt ( Lx * Lx + Ly * Ly)

 

其它说明:

1)        经纬度采用最新的GPS坐标系或中国2000坐标,而不采用旧的北京BJ54坐标或西安C80坐标。

2)        本公式的平均误差约万分之一,最大误差约万分之二,如果发现误差过大的情况,恳请告知本人修正公式。

3)        公式适用于纬度20°~46°之间的城市,海拔高度小于600,两地距离在300公里内的情况,如果超出纬度、高度或距离,都将会导致误差增加,精度下降。

4)        公式的各个参数是阿广辛苦试出来的,大家可以免费使用,没有版权限制。

5)        今后考虑海拔高度修正、大地凸起修正、经纬夹角修正等因素,力求将适用范围扩大。

 

原创粉丝点击