golang與php實(shí)現(xiàn)計(jì)算兩個(gè)經(jīng)緯度之間距離的方法
更新時(shí)間:2016年07月22日 15:12:59 作者:dotcoo
這篇文章主要介紹了golang與php實(shí)現(xiàn)計(jì)算兩個(gè)經(jīng)緯度之間距離的方法,結(jié)合實(shí)例形式對(duì)比分析了Go語(yǔ)言與php進(jìn)行經(jīng)緯度計(jì)算的相關(guān)數(shù)學(xué)運(yùn)算技巧,需要的朋友可以參考下
本文實(shí)例講述了golang與php實(shí)現(xiàn)計(jì)算兩個(gè)經(jīng)緯度之間距離的方法。分享給大家供大家參考,具體如下:
golang版本:
復(fù)制代碼 代碼如下:
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
}
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);
希望本文所述對(duì)大家Go語(yǔ)言程序設(shè)計(jì)有所幫助。
您可能感興趣的文章:
相關(guān)文章
php數(shù)組函數(shù)array_key_exists()小結(jié)
本文給大家匯總介紹了php數(shù)組函數(shù)array_key_exists()的相關(guān)知識(shí)以及與in_array的性能對(duì)比,與isset的區(qū)別分析,非常的詳細(xì),有需要的小伙伴可以參考下。2015-12-12
Highcharts?圖表中圖例顯示狀態(tài)存儲(chǔ)的功能設(shè)計(jì)詳解
這篇文章主要介紹了Highcharts?圖表中圖例顯示狀態(tài)存儲(chǔ)的功能設(shè)計(jì)詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-03-03
WordPress開(kāi)發(fā)中用于獲取近期文章的PHP函數(shù)使用解析
這篇文章主要介紹了WordPress開(kāi)發(fā)中用于獲取近期文章的PHP函數(shù)使用解析,即對(duì)wp_get_recent_posts函數(shù)的使用方法介紹,需要的朋友可以參考下2016-01-01
簡(jiǎn)單的php 驗(yàn)證圖片生成函數(shù)
本函數(shù)可以生成簡(jiǎn)單的驗(yàn)證圖片,用于輸入的驗(yàn)證。2009-05-05
一個(gè)PHP的遠(yuǎn)程圖片抓取函數(shù)分享
遠(yuǎn)程圖片抓取的方法有很多,在本文將為大家介紹下php中是如何實(shí)現(xiàn)的,感興趣的朋友可以了解下2013-09-09

