Golang計算兩個經度和緯度之間的距離
Go語言計算兩個經度和緯度之間的距離
package mainimport ( "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
} </pre>
本文由用戶 n2n3 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!