Golang计算两个经度和纬度之间的距离
2018-07-20 来源:open-open
Go语言计算两个经度和纬度之间的距离
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 := 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 }
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点!
本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。
上一篇:Golang 导出Excel
最新资讯
热门推荐