已知经纬度坐标求两点间距离,用python表示

已知地球上任意两点(lon1, lat1),( lon2, lat2)的经纬度坐标,求两点间的距离用haversine表示:
1.首先先将经纬度坐标的角度化成弧度(mlon1,mlat1),(mlon2,mlat2)
2.利用公式:
其中a表示两点维度的差值,即 a = mlat1 - mlat2
其中a表示两点经度的差值,即 b = mlon1 - mlon2
其中r表示地球的半径


用python表示为

def geo_distance(lon1, lat1, lon2, lat2):  #地理距离"""Calculate the great circle distance between two pointson the earth (specified in decimal degrees)"""lon1, lat1, lon2, lat2 = map(radians, map(float, [lon1, lat1, lon2, lat2]))  #根据提供的函数对指定序列做映,radians:将角度转换为弧度。dlon = lon2 - lon1dlat = lat2 - lat1a = sin(dlat/2)**2 + cos(lat1) * cos(lat2) * sin(dlon/2)**2c = 2 * asin(sqrt(a))r = 6371return c * r
print(geo_distance(111.5,36.08,121.47,31.23))  #我老家到上海的距离

结果

1067.9651712083848 #单位 km

其实python自带haversine库,可以直接调用,这样就可以不记公式啦!

from haversine import haversine
linfen = (111.5,36.08)
shanghai = (121.47,31.23)
dis = haversine(linfen,shanghai)
print(dis)

结果

1133.5471931316163 #单位 km

可以看出还是有差距的,那那个准确呢? _

用那种方法知道了吧!嘿嘿

已知经纬度坐标求两点间距离,用python表示相关推荐

  1. python坐标表示_已知经纬度坐标求两点间距离,用python表示

    已知经纬度坐标求两点间距离,用python表示 已知地球上任意两点(lon1, lat1),( lon2, lat2)的经纬度坐标,求两点间的距离用haversine表示: 1.首先先将经纬度坐标的角 ...

  2. ArcGis中已知经纬度坐标转任意坐标系(以点和80坐标系为讲解模板)

    文章首发微信公众号:ArcGisdada 一般经纬度都是以度分秒的格式显示的,如图31-1所示. 图31-1: 我们转至WGS-84坐标需要进行十进制的转化,也就是把度分秒换算为以度为单位的一串数字. ...

  3. wgs84 投影坐标转经纬度 代码_ArcGis中已知经纬度坐标转任意坐标系(以点和80坐标系为讲解模板)...

    一般经纬度都是以度分秒的格式显示的,如图31-1所示. 图31-1: 我们转至WGS-84坐标需要进行十进制的转化,也就是把度分秒换算为以度为单位的一串数字.操作步骤:打开excel>选中代表经 ...

  4. 已知向量坐标求三角形面积

    引出一个问题 如何判断一个点是否在三角形中?

  5. 已知两点坐标求直线的一般表达式

    假设有两个点x1,y1,x2,y2 一般式Ax+By+C=0 A=y2-y1 B=x1-y2 g=__gcd(A,B); A/=g,B/=g 那么C就 C=-(Ax+By) 随便带一个点进去就好了 转 ...

  6. 转 已知两点坐标和半径求圆心坐标程序C++

    数学思想:利用圆方程和直线方程 已知两点坐标和半径求圆心坐标程序 #include <iostream> #include <fstream> #include <cma ...

  7. 高斯投影坐标计算例题_测量学高斯投影已知横坐标如何求在第几度带投影计算而得的?例如:...-y坐标的自然值怎么算-数学-莫囤料同学...

    概述:本道作业题是莫囤料同学的课后练习,分享的知识点是y坐标的自然值怎么算,指导老师为甘老师,涉及到的知识点涵盖:测量学高斯投影已知横坐标如何求在第几度带投影计算而得的?例如:...-y坐标的自然值怎 ...

  8. matlab已知三点求夹角,已知3点如何求其中两点对第3点的夹角

    公告: 为响应国家净网行动,部分内容已经删除,感谢读者理解. 话题:已知3点如何求其中两点对第3点的夹角? 问题详情:有3个问题:1)已知3点如何求其中两点对第3点的夹角?2)如何回答:1)已知3点求 ...

  9. 已知俩点求俩点之间的直线,俩点间的中垂线,俩条直线的交点

    参考博客 https://www.cnblogs.com/DHUtoBUAA/p/8057056.html 用的时候才发现这些基础知识还真忘了不少. 1.俩点之间的直线 直线的一般表达式是:Ax+By ...

最新文章

  1. java arraylist优点_Java中各种集合的特点总结
  2. spring动态代理实现计算器
  3. mysql二进制文件复制_MySQL 主从复制:基于二进制文件复制配置详解
  4. 深度学习(四十五)——Stack GAN, GAN Ensemble, Pix2Pix, CycleGAN
  5. mysql约束教程,MySQL 约束
  6. MaxCompute客户端在windows命令行下查询中文乱码怎么办?
  7. 双表查询java代码_多表增删改查
  8. python中属性是什么意思啊_python中的“对象属性”和一般属性是什么?
  9. Java中String,StringBuffer,StringBuilder的区别
  10. 固高运动控制卡学习6 --编码器
  11. php xss漏洞扫描工具,XSS漏洞扫描器工具:XSpear
  12. 【思科、华为、华三这三大认证,选哪个考最好?】
  13. Microsoft Store转圈圈
  14. Sourcetree 分支合到主干
  15. 关于Dve C++——[Warning] pointer to a function used inarithmetic
  16. 数字化时代:企业数字化转型实践路径
  17. 岁月温柔-9 妈妈吃人参果的后遗症
  18. 基于云效Flow配置 Jenkins 源
  19. potplayer默认专辑加载同一文件夹下所有视频,只读取一部分视频,加载视频目录不完整
  20. oracle中的crs,Oracle CRS简介

热门文章

  1. TinyPng批量压缩图片
  2. 数字签名(代码签名)流程和数字签名的验证
  3. 什么是RIA,他的优势?
  4. 动态图册用HTML怎么制作,imgplay gif动图制作如何使用?imgplay图文使用教程
  5. java发邮件的代码
  6. 得物技术Filament Creator材质编辑工具的实现
  7. 报错:libpng warning: iCCP: cHRM chunk does not match sRGB解决办法
  8. Centos7安装后不显示IP地址,具体解决办法
  9. Java8新特性1:lambda表达式入门--由浅入深,从单发步枪迈向自动步枪
  10. linux 内核usleep,linux 内核 usleep