吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 1261|回复: 17
收起左侧

[讨论] 关于一个距离计算的算法

[复制链接]
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

这个是基于大地坐标系吗?
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-25 11:02

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表