怎么用经纬度计算两地之间的距离?
1、地球赤道上环绕地球一周走一圈共40075.04公里,而@一圈分成360°,而每1°(度)有60,每一度一秒在赤道上的长度计算如下: 40075.04km/360°=111.31955km 111.31955km/60=1.8553258km=1855.3m
而每一分又有60秒,每一秒就代表1855.3m/60=30.92m 任意两点距离计算公式为
d=111.12cos{1/[sinΦAsinΦB十cosΦAcosΦBcos(λB—λA)]} 其中A点经度,纬度分别为λA和ΦA,B点的经度、纬度分别为λB和ΦB,d为距离。
2、分为3步计算:
第1步 分别将两点经纬度转换为三维直角坐标:
假设地球球心为三维直角坐标系的原点,球心与赤道上0经度点的连线为X轴,球心与赤道上东经90度点的连线为Y轴,球心与北极点的连线为Z轴,则地面上点的直角坐标与其经纬度的关系为: x=R×cosα×cosβ y=R×cosα×sinβ z=R×sinα
R为地球半径,约等于6400km; α为纬度,北纬取+,南纬取-; β为经度,东经取+,西经取-。
第2步 根据直角坐标求两点间的直线距离(即弦长):
如果两点的直角坐标分别为(x1,y1,z1)和(x2,y2,z2),则它们之间的直线距离为: L=[(x1-x2)^2+(y1-y2)^2+(z1-z2)^2]^0.5 上式为三维勾股定理,L为直线距离。 第3步 根据弦长求两点间的距离(即弧长): 由平面几何知识可知弧长与弦长的关系为: S=R×π×2[arc sin(0.5L/R)]/180
上式中角的单位为度,1度=π/180弧度,S为弧长。
3、1度的实际长度是111公里。但纬线的距离会越考两端越小,他的距离就会变成111乘COS纬度数,经度不变。
4、南北方向算出两点纬度差,一度等于60海里,1分等于1海里,海里与公里换算关系1海里等于1.852公里。东西方向量出距离到两点间纬度附近量出纬度差,得出海里数,再乘以1.852换算成公里。可按直角三角形原理求出两点间距离。
5、度的实际长度是111公里。但纬线的距离会越考两端越小,他的距离就会变成111乘COS纬度数,经度不变(如果在同一经度)
mysql 计算经纬度距离 函数 输入经纬度计算距离
转载本文章为转载内容,我们尊重原作者对文章享有的著作权。如有内容错误或侵权问题,欢迎原作者联系我们进行内容更正或删除文章。
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
python抓取经纬度信息
爬取城市经纬度信息
ci 结果集 返回结果 -
经纬度距离计算
数据库中大概有300个左右的经纬度,现
git sql 数据库 -
mysql 经纬度距离筛选 mysql经纬度距离计算
数据库中存了 经纬度信息 id 是设备信息 reportTime 时间信息本人需要 按照 设备ID 处理经纬度 计算里程 然后累加到一起 最后得到 从几点到几点 哪个设备 里程是多少原因是 设备ID 有多条经纬度信息也就是每一次
mysql 经纬度距离筛选 mysql计算量经纬度距离 sql语句 MySQL 表结构