【go语言计算两个经纬度距离】根据经纬度计算两点之间距离
来源:互联网 发布:淘宝实名认证怎么解除 编辑:程序博客网 时间:2024/05/16 15:27
一、需求分析:
输入两个经纬度,计算它们之间的距离
lat1,lng1 := 32.060255,118.796877lat2,lng2 := 39.904211,116.407395
二、计算公式
//C = sin(LatA*Pi/180)*sin(LatB*Pi/180) + cos(LatA*Pi/180)*cos(LatB*Pi/180)*cos((MLonA-MLonB)*Pi/180)////Distance = R*Arccos(C)*Pi/180
三、运行效果
"D:\Program Files (x86)\JetBrains\Gogland 171.3780.106\bin\runnerw.exe" D:/Go\bin\go.exe run D:/Go/code/src/awesomeProject/EarthDistance.go899.217935kmProcess finished with exit code 0
四、实现代码
package mainimport ( "fmt" "math")//计算公式//C = sin(LatA*Pi/180)*sin(LatB*Pi/180) + cos(LatA*Pi/180)*cos(LatB*Pi/180)*cos((MLonA-MLonB)*Pi/180)////Distance = R*Arccos(C)*Pi/180func EarthDistance(lat1, lng1, lat2, lng2 float64) float64 { radius :=6378.137 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}func main() { lat1,lng1 := 32.060255,118.796877 lat2,lng2 := 39.904211,116.407395 distance:=EarthDistance(lat1, lng1, lat2, lng2) fmt.Printf("%fkm",distance)}
阅读全文
1 0
- 【go语言计算两个经纬度距离】根据经纬度计算两点之间距离
- 根据经纬度计算两点之间的距离
- 根据经纬度计算两点之间的距离
- php 根据经纬度计算两点之间距离
- 根据经纬度计算两点之间的距离
- 根据经纬度计算两点之间的距离
- sqlserver 根据经纬度计算两点之间距离
- 根据两点经纬度计算距离
- 根据两点经纬度计算距离
- 根据两点经纬度计算距离
- 根据两点经纬度计算距离
- 根据两点经纬度计算距离
- 根据两点经纬度计算距离
- 根据两点经纬度计算距离
- 根据两点经纬度计算距离
- 根据两点经纬度计算距离
- 根据两点经纬度计算距离
- 根据两点经纬度计算距离
- POJ 1329 Circle Through Three Points 笔记
- wireshark抓包HTTP正文乱码的问题
- JavaSE高级之GUI编程
- Myeclipse js jsp 编辑卡炸了 解决方案
- 日本公司推出第一款MR购物应用,今秋上市
- 【go语言计算两个经纬度距离】根据经纬度计算两点之间距离
- Lua 脚本 控制 XML配置
- 谈谈改变 UIAlertView 和 UIActionSheet 的颜色 iOS8及以上应该使用的方式
- 【Tensorflow学习历程】1. windows 8 下的tensorflow 安装
- find命令查找文件
- AVL平衡树
- action属性
- wireshark如何抓取本机包
- NAPI 之(三)——技术在 Linux 网络驱动上的应用和完善