计算两个经纬度坐标之间的距离

这里的每个坐标值都是弧度制!弧度制啊弧度制

const coord1 = [lat1 / 180 * Math.PI, lon1 / 180 * Math.PI]
const coord2 = [lat2 / 180 * Math.PI, lon2 / 180 * Math.PI]
/**
* 计算两个经纬度坐标对之间的距离,单位: km
* @param {Array} coord1 第一个点的经纬度 [lat, lon]
* @param {Array} coord2 第二个点的经纬度 [lat, lon]
* @returns 两个坐标对之间的距离,保留两位小数,单位 km
*/
function calcDisByLatLon(coord1, coord2) {
const R = 6378.137
const a = coord1[0] - coord2[0]
const b = coord1[1] - coord2[1]
const result = 2 * Math.asin(Math.sqrt(Math.pow(Math.sin(a / 2), 2) + Math.cos(coord1[0]) * Math.cos(coord2[0]) * Math.pow(Math.sin(b / 2), 2))) * R;
return Math.round(result * 100) / 100
}

__EOF__

本文作者echo_lovely
本文链接https://www.cnblogs.com/echo-lovely/p/17127376.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。您的鼓励是博主的最大动力!
posted @   echo_lovely  阅读(99)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
历史上的今天:
2022-02-16 Qt QVariant 与 自定义类型转换的方法
点击右上角即可分享
微信分享提示