本文实例讲述了golang与php实现计算两个经纬度之间距离的方法。分享给大家供大家参考,具体如下:

golang版本:

package main

import (

"fmt"

"math"

)

func main() {

lat1 := 29.490295

lng1 := 106.486654

lat2 := 29.615467

lng2 := 106.581515

fmt.Println(EarthDistance(lat1, lng1, lat2, lng2))

}

// 返回值的单位为米

func EarthDistance(lat1, lng1, lat2, lng2 float64) float64 {

radius := float64(6371000) // 6378137

rad := math.Pi/180.0

lat1 = lat1 * rad

lng1 = lng1 * rad

lat2 = lat2 * rad

lng2 = lng2 * rad

theta := lng2 - lng1

dist := math.Acos(math.Sin(lat1) * math.Sin(lat2) + math.Cos(lat1) * math.Cos(lat2) * math.Cos(theta))

return dist * radius

}

php版本:

// 返回值的单位为米

function pc_sphere_distance($lat1, $lon1, $lat2, $lon2, $radius = 6371000) {

$rad = doubleval(M_PI/180.0);

$lat1 = doubleval($lat1) * $rad;

$lon1 = doubleval($lon1) * $rad;

$lat2 = doubleval($lat2) * $rad;

$lon2 = doubleval($lon2) * $rad;

$theta = $lon2 - $lon1;

$dist = acos(sin($lat1) * sin($lat2) + cos($lat1) * cos($lat2) * cos($theta));

return $dist * $radius * 1000;

}

$lat1 = 29.490295;

$lon1 = 106.486654;

$lat2 = 29.615467;

$lon2 = 106.581515;

echo pc_sphere_distance($lat1, $lon1, $lat2, $lon2);

希望本文所述对大家Go语言程序设计有所帮助。

php经纬度之间的距离计算公式,golang与php实现计算两个经纬度之间距离的方法相关推荐

  1. python 两个word文档之间的相似度_如何用 word2vec 计算两个句子之间的相似度?

    现在是2018年7月,在这里总结这个问题下已有的答案,并补充一些2017年以来这方面研究的新进展. 从大类上分,计算句子相似度的方法可以分为两类: 1)无监督的方法,即不使用额外的标注数据,常用的方法 ...

  2. php经纬度之间的距离计算公式,php计算两个经纬度地点之间距离的方法分享

    用php计算两个指定的经纬度地点之间的距离,代码: /** *求两个已知经纬度之间的距离,单位为米 *@param lng1,lng2 经度 *@param lat1,lat2 纬度 *@return ...

  3. 计算两个经纬度的距离

    一 点睛 计算两个经纬度的距离的方法这里提供两种. 1 基于 googleMap 中的算法得到两经纬度之间的距离,计算精度与谷歌地图的距离精度差不多. 2 计算中心经纬度与目标经纬度的距离(米) 二  ...

  4. Python:计算两个日期之间的天数

    Python:计算两个日期之间的天数 这次用python编写了计算两个日期之间的天数的代码,编写的思路是在编写中逐步产生的,过程比较流畅.有几点分析的细节需要点出来: 分析 1. 是否为闰年,2月的天 ...

  5. 高德经纬度距离计算php,计算两个经纬度之间的距离 单位(m)

    /** * 计算两个经纬度之间的距离 单位(m) * * @param lat1 * @param lng1 * @param lat2 * @param lng2 * @return */ publ ...

  6. Java - 计算两个经纬度之间的直线距离

    Java - 计算两个经纬度之间的直线距离 代码Github地址 https://github.com/FrankZuozuo/JavaSpecial 1.点接口 public interface P ...

  7. hive 计算两个经纬度之间的距离

    select 6378137*2*ASIN(SQRT(POWER(SIN((lat1-lat2)*ACOS(-1)/360),2) + COS(lat1*ACOS(-1)/180)*COS(lat2* ...

  8. geotools 计算两个经纬度点之间的距离

    geotools 计算两个经纬度点之间的距离 主要的maven依赖 代码实现 最近研究geotools,发现网上的直接搜索相关实现比较少,所以贴出示例代码,方便大家寻找. 主要的maven依赖 < ...

  9. c#语言+计算两个位置的距离,C#计算两个经纬度之间的距离

    最近在项目中有一个功能需要计算两个经纬度之间的距离,在网上找了很多,也试了很多,下面的计算方法得出的结果是精度是最高,希望对大家有所帮助. private const double EARTH_RAD ...

最新文章

  1. 2022-2028年中国B2C电子商务市场投资分析及前景预测报告
  2. 基于曲率的体素聚类的三维激光雷达点云实时鲁棒分割方法
  3. 结构体和typedef
  4. 积分梯度:一种新颖的神经网络可视化方法
  5. 又拍网架构-又一个用到python的网站
  6. react封装函数_react request.js 函数封装
  7. 如何看待蒂姆·库克在苹果的地位
  8. ogg oracle 测试kafka_利用ogg实现oracle到kafka的增量数据实时同步
  9. glassfish启动后不能进入部署页面_Flink on Yarn三部曲之二:部署和设置
  10. 《常见问题集》Maven
  11. sql数据库备份默认路径_在Linux上SQL Server中更改默认数据库文件和备份路径
  12. puppet详解(四)——package资源详解
  13. error C2065等:******未声明的标识符错误
  14. 电子信息工程跨保计算机、生物医学工程保研经验分享~
  15. CasperJS 实现百度登录
  16. Excel的使用-查看公式引用的单元格【跬步】
  17. Win10邮箱管理QQ邮箱+163邮箱
  18. 《C语言入门经典》Ivor Horton第10章习题2
  19. python周末_python区分节假日、工作日、周末
  20. ORA-01455: converting column overflows integer datatype

热门文章

  1. 招银网络科技前端开发电话面试
  2. 《Qt开发》基于QPolarChart的极坐标图绘制
  3. 排序算法之冒泡排序及鸡尾酒排序
  4. 一部现世安稳、岁月静好的传奇
  5. css animation 平移,CSS动画相关(打字动画、逐帧动画、环形路径平移)
  6. 计算机毕业设计JAVA贴吧管理系统mybatis+源码+调试部署+系统+数据库+lw
  7. Linux系统怎么安装鲁大师,windows电脑下怎么安装苹果系统?
  8. 评测 i5 13600kf和r7 5800x3D差距 酷睿i513600kf和锐龙r7 5800x3D选哪个好
  9. png如何转pdf?这几个方法快收藏起来
  10. Python有趣|寻找知乎最美小姐姐