golang与php实现计算两个经纬度之间距离的方法


Posted in PHP onJuly 22, 2016

本文实例讲述了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版本:

<?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 相关文章推荐
PHP获取类中常量,属性,及方法列表的方法
Apr 09 PHP
phpmyadmin安装时提示:Warning: require_once(./libraries/common.inc.php)错误解决办法
Aug 18 PHP
使用PHP下载CSS文件中的图片的代码
Sep 24 PHP
PHP中使用CURL获取页面title例子
Jan 07 PHP
PHP5全版本绕过open_basedir读文件脚本漏洞详细介绍
Jan 20 PHP
PHP共享内存用法实例分析
Feb 12 PHP
CodeIgniter框架常见用法工作总结
Mar 16 PHP
PHP 实现人民币小写转换成大写的方法及大小写转换函数
Nov 17 PHP
PHP实现基于3DES算法加密解密字符串示例
Aug 24 PHP
laravel 解决多库下的DB::transaction()事务失效问题
Oct 21 PHP
php设计模式之模板模式实例分析【星际争霸游戏案例】
Mar 24 PHP
PHP设计模式(八)装饰器模式Decorator实例详解【结构型】
May 02 PHP
PHP微信刮刮卡 附微信接口
Jul 22 #PHP
php判断用户是否关注微信公众号
Jul 22 #PHP
微信支付扫码支付php版
Jul 22 #PHP
php如何执行非缓冲查询API
Jul 22 #PHP
PHP面试常用算法(推荐)
Jul 22 #PHP
微信红包随机生成算法php版
Jul 21 #PHP
php集成动态口令认证
Jul 21 #PHP
You might like
不用GD库生成当前时间的PNG格式图象的程序
2006/10/09 PHP
深入解析php模板技术原理【一】
2008/01/10 PHP
php自动适应范围的分页代码
2008/08/05 PHP
关于使用key/value数据库redis和TTSERVER的心得体会
2013/06/28 PHP
php利用腾讯ip分享计划获取地理位置示例分享
2014/01/20 PHP
PHP采集静态页面并把页面css,img,js保存的方法
2014/12/23 PHP
Yii中的relations数据关联查询及统计功能用法详解
2016/07/14 PHP
laravel 5.1下php artisan migrate的使用注意事项总结
2017/06/07 PHP
写了10年的Javascript也未必全了解的连续赋值运算
2011/03/25 Javascript
Raphael带文本标签可拖动的图形实现代码
2013/02/20 Javascript
jqplot通过ajax动态画折线图的方法及思路
2013/12/08 Javascript
window.showModalDialog()返回值的学习心得总结
2014/01/07 Javascript
JavaScript版的TwoQueues缓存模型
2014/12/29 Javascript
JavaScript匿名函数用法分析
2015/02/13 Javascript
JavaScript设计模式学习之“类式继承”
2015/03/12 Javascript
js控住DOM实现发布微博效果
2016/08/30 Javascript
自定义类似于jQuery UI Selectable 的Vue指令v-selectable
2017/08/23 jQuery
关于JavaScript中高阶函数的魅力详解
2018/09/07 Javascript
JavaScript中的类型检查
2020/02/03 Javascript
基于javascript实现放大镜特效
2020/12/03 Javascript
JavaScript实现4位随机验证码的生成
2021/01/28 Javascript
wxPython 入门教程
2008/10/07 Python
学习python之编写简单简单连接数据库并执行查询操作
2016/02/27 Python
Python 利用切片从列表中取出一部分使用的方法
2019/02/01 Python
使用python模拟高斯分布例子
2019/12/09 Python
django框架两个使用模板实例
2019/12/11 Python
django的模型类管理器——数据库操作的封装详解
2020/04/01 Python
中外合拍动画首获奥斯卡提名,“上海出品”《飞奔去月球》能否拿下最终大奖?
2021/03/16 国漫
一款利用纯css3实现的win8加载动画的实例分析
2014/12/11 HTML / CSS
应届优秀本科大学毕业生自我鉴定
2014/01/21 职场文书
勤俭节约演讲稿
2014/05/08 职场文书
信电学院毕业生自荐书
2014/05/24 职场文书
农业项目合作意向书
2015/05/08 职场文书
承兑汇票延期证明
2015/06/23 职场文书
redis哨兵常用命令和监控示例详解
2021/05/27 Redis
OpenCV实现常见的四种图像几何变换
2022/04/01 Python