当前位置: 首页 > article >正文

经纬度计算距离方法

公式1

短距离公式可以简写:

A(lat1, lon1),B(lat2, lon2)

(纬度,经度)单位为弧度

d = R * arccos(sin(lat1) * sin(lat2) + cos(lat1) * cos(lat2) * cos(lon1 - lon2))

其中d是两点间的距离,R是地球的平均半径,6371000m

公式2

A(lat1, lon1),B(lat2, lon2)

1、纬度差值除以2后求sin,然后sin的平方  :  sin( (lat1 -lat2)/2) *sin( (lat1 -lat2)/2)

2、两个纬度各自的cos 相乘:    cos (lat1)*cos (lat2)

3、两个经度差除以2,求sin,然后sin平方 :sin((lng1 -lng2)/2)*sin((lng1 -lng2)/2)

4、123相加 得到总和,记作a

5、对a开方,求反正弦 得到b

6、 2*b*R(地球平均半径)  得到距离

公式  2* asin  (   sqrt   [  sin( (lat1 -lat2)/2) * sin( (lat1 -lat2)/2)  cos (lat1)*cos (lat2)*

    sin ((lng1 -lng2)/2)* sin ((lng1 -lng2)/2)  )  *R


http://www.kler.cn/a/312663.html

相关文章:

  • 大数据面试题--kafka夺命连环问(后10问)
  • 重新认识HTTPS
  • C++ QT 工具日志异步分批保存
  • 【设计模式】结构型模式(四):组合模式、享元模式
  • VCSVerdi:KDB文件的生成和导入
  • 漏洞挖掘 | 某医院小程序支付漏洞+越权
  • Git:版本控制工具介绍
  • 【busybox记录】【shell指令】timeout
  • Flink 与 Kubernetes (K8s)、YARN 和 Mesos集成对比
  • HarmonyOS元服务与卡片
  • 基于Vue 3组合函数的分页、搜索与排序实践 —— nbsaas-boot项目的实际应用
  • .Net Core 生成管理员权限的应用程序
  • 部署在线GBA游戏,并通过docker安装启动
  • 二级等保测评中安全物理环境的重要性及高危项分析
  • JMM:Java内存模型
  • Python 中的异步编程:从入门到实践
  • gRPC介绍
  • LeetCode: 197. 上升的温度
  • 105.WEB渗透测试-信息收集-FOFA语法(5)
  • 动态语言? 静态语言? ------区别何在?java,js,c,c++,python分给是静态or动态语言?
  • 计算机网络各层有哪些协议?
  • Ubuntu 软件仓库镜像使用帮助
  • js中【argument】知识点详解
  • 低级编程语言和高级编程语言
  • Linux 开发工具篇(〇)yum
  • The application may be doing too much work on its main thread.