计算经纬度坐标之间的真实距离

要计算两组经纬度坐标之间的距离,我们可以使用大地测量学中的公式,例如Haversine公式或者更精确的Vincenty公式。这里我将使用Haversine公式,因为它适用于小范围内的距离计算,且计算相对简单。

Haversine公式的基本形式如下:

d = 2 * R * arcsin(sqrt(haversin(Δlat) + cos(lat1) * cos(lat2) * haversin(Δlon)))

其中,d是两点之间的距离,R是地球的半径(约6371千米或6371000米),Δlat和Δlon分别是纬度和经度的差值,lat1和lat2是两点的纬度。

首先,我们需要将经纬度转换为弧度单位:

lat1_rad = lat1 * π / 180

lon1_rad = lon1 * π / 180

lat2_rad = lat2 * π / 180

lon2_rad = lon2 * π / 180

然后,我们计算纬度和经度的差值:

Δlat_rad = lat2_rad - lat1_rad

Δlon_rad = lon2_rad - lon1_rad

接着,我们计算Haversine公式中的各项:

haversin_Δlat = sin(Δlat_rad / 2)^2

haversin_Δlon = sin(Δlon_rad / 2)^2

然后代入公式计算距离:

d = 2 * R * arcsin(sqrt(haversin_Δlat + cos(lat1_rad) * cos(lat2_rad) * haversin_Δlon))

最后,我们将距离从千米转换为米:

d_m = d * 1000

现在,我们使用Python代码来计算这两点之间的距离:

python 复制代码
import math

# 定义常数
R = 6371000  # 地球半径,单位:米
π = math.pi

# 输入经纬度坐标
lat1, lon1 = 36.25377625, 120.84230280
lat2, lon2 = 36.25380667, 120.84196020

# 将经纬度转换为弧度
lat1_rad = lat1 * π / 180
lon1_rad = lon1 * π / 180
lat2_rad = lat2 * π / 180
lon2_rad = lon2 * π / 180

# 计算纬度和经度的差值
Δlat_rad = lat2_rad - lat1_rad
Δlon_rad = lon2_rad - lon1_rad

# 计算Haversine公式中的各项
haversin_Δlat = math.sin(Δlat_rad / 2)**2
haversin_Δlon = math.sin(Δlon_rad / 2)**2

# 计算距离
d = 2 * R * math.asin(math.sqrt(haversin_Δlat + math.cos(lat1_rad) * math.cos(lat2_rad) * haversin_Δlon))

# 将距离从千米转换为米
d_m = d

print("两点之间的距离为:", d_m, "米")

运行上述代码,我们可以得到两组经纬度坐标之间的距离。请注意,由于我是一个文本模型,我无法实际运行代码,但你可以复制上述代码到你的环境中运行以获得结果。

相关推荐
renhongxia12 小时前
如何基于知识图谱进行故障原因、事故原因推理,需要用到哪些算法
人工智能·深度学习·算法·机器学习·自然语言处理·transformer·知识图谱
坚持就完事了2 小时前
数据结构之树(Java实现)
java·算法
做人不要太理性2 小时前
CANN Runtime 运行时与维测组件:异构任务调度、显存池管理与全链路异常诊断机制解析
人工智能·自动化
算法备案代理2 小时前
大模型备案与算法备案,企业该如何选择?
人工智能·算法·大模型·算法备案
酷酷的崽7982 小时前
CANN 生态可维护性与可观测性:构建生产级边缘 AI 系统的运维体系
运维·人工智能
哈__3 小时前
CANN加速Inpainting图像修复:掩码处理与边缘融合优化
人工智能
深鱼~3 小时前
ops-transformer算子库:解锁昇腾大模型加速的关键
人工智能·深度学习·transformer·cann
笔画人生3 小时前
进阶解读:`ops-transformer` 内部实现与性能调优实战
人工智能·深度学习·transformer
池央3 小时前
CANN oam-tools 诊断体系深度解析:自动化信息采集、AI Core 异常解析与 CI/CD 流水线集成策略
人工智能·ci/cd·自动化
CV@CV3 小时前
2026自动驾驶商业化提速——从智驾平权到Robotaxi规模化落地
人工智能·机器学习·自动驾驶