首页 > 其他分享 >计算两个点之间的距离(两个经纬度点之间的距离)

计算两个点之间的距离(两个经纬度点之间的距离)

时间:2024-09-26 18:35:06浏览次数:1  
标签:lat1 经纬度 lat2 距离 之间 lon1 lon2 math

import math  
  
def haversine(lon1, lat1, lon2, lat2):  
    """  
    计算两个经纬度点之间的距离(单位:公里)  
  
    参数:  
    lon1, lat1 : float  
        第一个点的经度和纬度(度)  
    lon2, lat2 : float  
        第二个点的经度和纬度(度)  
  
    返回:  
    float  
        两点之间的距离(公里)  
    """  
    # 将十进制度数转化为弧度  
    lon1, lat1, lon2, lat2 = map(math.radians, [lon1, lat1, lon2, lat2])  
  
    # haversine公式  
    dlon = lon2 - lon1  
    dlat = lat2 - lat1  
    a = math.sin(dlat/2)**2 + math.cos(lat1) * math.cos(lat2) * math.sin(dlon/2)**2  
    c = 2 * math.atan2(math.sqrt(a), math.sqrt(1-a))  
  
    # 地球平均半径,单位为公里  
    radius = 6371  
    return radius * c  
  
# 示例  
lon1, lat1 = 139.76, 35.68  # 东京的经纬度  
lon2, lat2 = 139.69, 35.69  # 另一个在东京附近的点的经纬度  
distance = haversine(lon1, lat1, lon2, lat2)  
print(f"两点之间的距离是: {distance:.2f} 公里")

 

标签:lat1,经纬度,lat2,距离,之间,lon1,lon2,math
From: https://www.cnblogs.com/air/p/18434045

相关文章

  • python画图|横向填充两条线之间的区域
    前述已经学习了《python画图|竖向填充两条线之间的区域》,点击下方链接直达:python画图|竖向填充两条线之间的区域-CSDN博客现在我们尝试更换填充方向,转向横向填充。【1】官网教程首先点击官网链接,直达教程:https://matplotlib.org/stable/gallery/lines_bars_and_markers/fi......
  • Thread , ThreadLocal , ThreadLocalMap , Entry 之间的关系?
    Thread,ThreadLocal,ThreadLocalMap,Entry之间的关系?首先ThradLocal是线程的本地副本,怎么理解这句话呢?一个Thread都有一个它自己的ThreadLocalMap。ThreadLocalMap不是HashMap的结构,而是一个Entry数组,里面存放了一个一个的Entry。而Entry中存放的就是key和value,这个......
  • 【软考机考问答】—联考科目之间可以切换作答或修改吗?
    不可以软考机考联考科目要按顺序作答,当第一个科目考完进行交卷才会进入第二科目,进入第二科目后将无法回到第一科目进行答卷或者修改,所以应试生在第一个科目作答完仔细检查,确认后再提交试卷。考试采取科目连考、分批次考试的方式,第一个科目节余的时长可为第二个科目使用。高级资格:综......
  • python-成绩转换/药房管理/求正整数2~n之间的完全数
    一:成绩转换题目描述输入一个百分制的成绩 t ,将其转换成对应的等级,具体转换规则如下:90∼10090∼100 为A;80∼8980∼89为B;70∼7970∼79为C;60∼6960∼69为D;0∼590∼59为E。输入格式输入数据有多组,每组占一行,由一个整数组成。输出格式对于每组输入数据,输出一行。......
  • 【JUC并发编程系列】深入理解Java并发机制:线程局部变量的奥秘与最佳实践(五、ThreadLo
    文章目录【JUC并发编程系列】深入理解Java并发机制:线程局部变量的奥秘与最佳实践(五、ThreadLocal原理、对象之间的引用)1.基本API介绍2.简单用法3.应用场景4.Threadlocal与Synchronized区别5.内存溢出和内存泄漏5.2内存溢出(MemoryOverflow)5.2内存泄漏(Mem......
  • Python中,你可以使用`scipy.stats`库中的`entropy`函数来计算两个连续变量之间的KL散度
    在Python中,你可以使用`scipy.stats`库中的`entropy`函数来计算两个连续变量之间的KL散度。这个函数计算的是两个概率分布之间的熵,即KL散度。以下是一个使用`scipy`计算KL散度的示例:首先,你需要安装`scipy`库(如果还未安装的话):```bashpipinstallscipy```然后,你可以使用以下代码......
  • 算法:获取雷达的目标经纬度信息
    @Testpublicvoidtest(){//雷达信息doubleradarLon=120.283664;doubleradarLat=29.892702;doublenorthAngle=26.5;//目标信息floatx=-13.7f*0.1f;floaty=234.7f*0.1f;......
  • Deformable-DETR改进|爆改模型|在可变形编解码器之间加入RT-DETR中的CCFM模块(附代码+
    一、文本介绍本文修改的模型是Deformable-DETR,修改的位置是在可变形编码器和可变形解码器之间,在可变形编码器和可变形解码器之间加入RT-DERT中的CCFM模块,CCFM模块的输入为可变形编码器的最高层级特征图以及backbone的输出。CCFM模块可以提升模型的特征融合能力。二、模型图......
  • 低代码工具和大模型AI助手之间的关系(二)
    ......
  • 第24篇 局域网内数据之间传输的方式
    在局域网内,各个电脑可以通过无线网卡进行接口数据的直接传输。以下是一些实现方法和注意事项:1.使用网络共享在局域网内建立一个文件共享服务,比如通过Windows的文件共享或Linux的Samba服务。各个电脑可以直接访问共享的文件或目录进行数据传输。2.使用Socket编程:可以编写应用程......