计算两个点之间的距离(两个经纬度点之间的距离)
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} 公里")
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 提示词工程——AI应用必不可少的技术
· 字符编码:从基础到乱码解决
· 地球OL攻略 —— 某应届生求职总结