时间:2021-05-28
本文实例讲述了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语言程序设计有所帮助。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
利用JS实现的根据经纬度计算地球上两点之间的距离最近用到了根据经纬度计算地球表面两点间距离的公式,然后就用JS实现了一下。计算地球表面两点间的距离大概有两种办法
本文实例讲述了Java编程获取经纬度之间距离的方法。分享给大家供大家参考,具体如下:publicclassGeoUtil{/***根据经纬度和距离返回一个矩形范
本文实例讲述了php计算两个坐标(经度,纬度)之间距离的方法。分享给大家供大家参考。具体如下:这里使用php计算两个坐标(经度,纬度)之间的距离,返回结果为米或
SQLSERVER根据地图经纬度计算距离的公式复制代码代码如下:go--创建经纬度距离计算函数CREATEFUNCTION[dbo].[fnGetDistanc
具体代码如下所述:/*计算两组经纬度坐标之间的距离*@param$lat1纬度1*@param$lng1经度1*@param$lat2纬度2*@param$ln