计算经纬度点之间的距离有三种方法,一种是利用geopy计算;一种是利用haversine公式计算;还可以直接在Excel中计算。

1.直接利用Python第三方库:geopy

代码:

from geopy.distance import geodesic
dist = geodesic((37.193462, 100.1347), (37.194363, 100.1348)).km
print(dist)

更新:利用geopy计算距离

官网资料:https://www.osgeo.cn/geopy/#module-geopy.distance

Geopy可以用 geodesic distance 或 great-circle distance ,默认测地线距离作为函数 geopy.distance.distance .

classgeopy.distance.geodesic(*args, **kwargs)

用于计算两点间的测地线距离。

参考资料:
https://blog.csdn.net/study_in/article/details/86136504

2.半正矢公式(haversine equation)用于计算两经纬度点的距离

https://www.geeksforgeeks.org/haversine-formula-to-find-distance-between-two-points-on-a-sphere/

具体代码:

import math
# Python 3 program for the
# haversine formula
def haversine(lat1, lon1, lat2, lon2):# distance between latitudes# and longitudesdLat = (lat2 - lat1) * math.pi / 180.0dLon = (lon2 - lon1) * math.pi / 180.0# convert to radianslat1 = (lat1) * math.pi / 180.0lat2 = (lat2) * math.pi / 180.0# apply formulaea = (pow(math.sin(dLat / 2), 2) +pow(math.sin(dLon / 2), 2) *math.cos(lat1) * math.cos(lat2));rad = 6371c = 2 * math.asin(math.sqrt(a))return rad * c# Driver code
if __name__ == "__main__":lat1 = 35.289448lon1 = 79.79672lat2 = 35.290348lon2 = 79.796616print(haversine(lat1, lon1,lat2, lon2), "K.M.")

3.在Excel中计算经纬度两点的距离
http://blog.sciencenet.cn/blog-1094854-1025358.html

计算A(lonA,latA),B(lonB,latB)两点的距离:
公式1:

输入公式=6371004*ACOS(1-(POWER((SIN((90-latA)*PI()/180)*COS(lonA*PI()/180)-SIN((90-latB)*PI()/180)*COS(lonB*PI()/180)),2)+POWER((SIN((90-latA)*PI()/180)*SIN(lonA*PI()/180)-SIN((90-latB)*PI()/180)*SIN(lonB*PI()/180)),2)+POWER((COS((90-latA)*PI()/180)-COS((90-latB)*PI()/180)),2))/2)

:公式2:

输入公式=6371004*ACOS((SIN(RADIANS(latA))*SIN(RADIANS(latB))+COS(RADIANS(latA))*COS(RADIANS(latB))*COS(RADIANS(lonB-lonA))))

4.三种方法计算结果对比

Excel中计算的结果(公式2):
100.5196888m

更新于2021-06-02

计算已知经纬度两点的距离_python相关推荐

  1. php经纬度之间的距离计算公式,php计算两个经纬度地点之间距离的方法分享

    用php计算两个指定的经纬度地点之间的距离,代码: /** *求两个已知经纬度之间的距离,单位为米 *@param lng1,lng2 经度 *@param lat1,lat2 纬度 *@return ...

  2. EXCEL中批量计算“已知一点坐标、方位角、距离,求坐标点”

    前言 日常工作中有时需要计算已知点.正本方位角.距离计算坐标点.如下图 已知:蓝点坐标.正本方向夹角为方位角,蓝点与未知点(红色)之间的距离,求红色点坐标. 小O地图Excel插件版提供在excel表 ...

  3. 由经纬度计算地球上任意两点的距离

    由经纬度计算地球上任意两点的距离 在地球上,城市的地理位置.GPS定位.一些地标的地理位置等是由经纬度给出的,本文主要根据两个地理位置的经纬度,来计算两个地理位置之间的距离. %计算城市间距离 zb= ...

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

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

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

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

  6. c#语言+计算两个位置的距离,C#计算两个经纬度之间的距离

    最近在项目中有一个功能需要计算两个经纬度之间的距离,在网上找了很多,也试了很多,下面的计算方法得出的结果是精度是最高,希望对大家有所帮助. private const double EARTH_RAD ...

  7. 高德经纬度距离计算php,计算两个经纬度之间的距离 单位(m)

    /** * 计算两个经纬度之间的距离 单位(m) * * @param lat1 * @param lng1 * @param lat2 * @param lng2 * @return */ publ ...

  8. ArcGIS已知经纬度范围裁剪图像的步骤

    ARCGIS已知经纬度范围裁剪图像的步骤: (1)生成经纬度的面 (2)利用裁剪工具裁剪:分析工具-->提取分析-->裁剪 其中第一步: (1)生成四个顶点的坐标点用xls保存(注意不能用 ...

  9. hive 计算两个经纬度之间的距离

    select 6378137*2*ASIN(SQRT(POWER(SIN((lat1-lat2)*ACOS(-1)/360),2) + COS(lat1*ACOS(-1)/180)*COS(lat2* ...

  10. 经纬度计算---已知一点经纬度和距离,计算其他任意点经纬度

    经纬度计算关系 纬度计算只与地球半径(周长)有关: 经度计算与地球半径(周长)及所处纬度相关. 计算公式 赤道半径:ARC = 6371.393*1000 所求点到已知点的距离:垂直距离lath(所求 ...

最新文章

  1. 江苏省三级偏硬试题样卷
  2. Android基于mAppWidget实现手绘地图(四)--如何附加javadoc
  3. 综合布线的12大热点技术
  4. shell逐行读取每一列
  5. I love counting HDU - 6964
  6. 新闻发布项目——接口类(categoryTBDao)
  7. origin对数据进行操作
  8. c语言程序可以单独编译,c语言的函数能单独进行编译吗?
  9. ajax编辑教程,今天手动编写了一个简易的 ajax 发起器(JavaScript)
  10. 示波器学习笔记(2)——模拟示波器
  11. 定义复数java_自定义数据类型 复数的Java实现
  12. Effective java 读书笔记
  13. Ubuntu16.04完全卸载Mysql 5.7
  14. 【腾讯Bugly干货分享】QFix探索之路—手Q热补丁轻量级方案
  15. vant toast loading 倒计时_法考倒计时3天 | 民法典新旧对照表(四)合同部分(一)...
  16. 2021-10-20-Flask-02 路由与参数解析
  17. GRE考试词汇平静类
  18. java统计string中文数字英文_Java学习(4):统计一个文件中的英文,中文,数字,其他字符以及字符总数...
  19. 当米友遇到同行(二)
  20. 【思维导图软件哪个好】万彩脑图大师教程 | 编辑思维导图背景

热门文章

  1. pandas之combine_first() 合并重叠数据(修补)
  2. redis数据类型-set集合
  3. 计算机组装与维护word,计算机组装与维护实训报告
  4. python使用redis实现session_redis与python交互session的redis存储配置
  5. python语言只能用4个空格_python - 单词之间只保留一个空格,用replace为什么会出错...
  6. mybatis插入时间_深入分析MyBatis源码
  7. Vue源码:虚拟DOM和diff算法
  8. Node:使用node-postgre时,使用async、await查询
  9. 谷歌浏览器:解决Chrome加载扩展程序提示程序包无效:
  10. Node.js:模块化思想中一个Javascript文件分析以及exports 和 module.exports的区别