xxlaotou1997 发表于 2022-7-27 10:58

关于一个距离计算的算法

印象中有一个简便的计算方式。就是两个经度之差加上两个纬度之差乘以地球半径这样,然后后面就忘记了,有没有大佬帮忙还原一下或者提出更简便的计算方式

Uman 发表于 2022-7-27 11:26

https://t.wss.ink/f/8wbnub21i5p 复制链接到浏览器打开

详见实验原理部分

xxlaotou1997 发表于 2022-7-27 11:34

Uman 发表于 2022-7-27 11:26
https://t.wss.ink/f/8wbnub21i5p 复制链接到浏览器打开

详见实验原理部分

大部分算法都是需要进行sin或者cos这样进行转化得出结果,是否有跳出这样的简易算法

Uman 发表于 2022-7-27 11:37

xxlaotou1997 发表于 2022-7-27 11:34
大部分算法都是需要进行sin或者cos这样进行转化得出结果,是否有跳出这样的简易算法

简洁就意味着牺牲精度,没有其他的,这应该是基本的了,毕竟这个的精度也还勉勉强强,你建模算,也就是个调用函数的事情,建模应该注重精度。

ryosga 发表于 2022-7-27 11:43

网上找的, 你可以试试

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

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

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

第一步:计算三个参数:

    经度差值dx=x2-x1

    纬度差值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)

codeshealth 发表于 2022-7-27 11:58

这个是基于大地坐标系吗?

pary 发表于 2022-7-27 11:59

测绘、地信很需要这个

xxlaotou1997 发表于 2022-7-27 12:01

ryosga 发表于 2022-7-27 11:43
网上找的, 你可以试试

emm~,那几个数值分别代表什么?

xxlaotou1997 发表于 2022-7-27 12:02

codeshealth 发表于 2022-7-27 11:58
这个是基于大地坐标系吗?

可能是上年纪了,没有啥印象了,我就记得一部分,所以想发出来讨论一下看能否还原一下整个计算的算法

eenny820 发表于 2022-7-27 13:02


这个是基于大地坐标系吗?
页: [1] 2
查看完整版本: 关于一个距离计算的算法