2015-02-23 60 views
0

在Java API中集成Google API時,我需要使用現有緯度/經度,距離和方向來計算另一個地方的緯度/經度。如何計算該點?我需要使用現有的緯度/經度,距離和方向來計算經緯度

+0

你爲什麼要這麼做$lat1,$lng1 & $brng?緯度/長度是否改變? – SMA 2015-02-23 05:39:59

+0

@SMA我認爲他的意思是說,如果你從經緯度已知的點開始,並且沿某個方向走一定距離,那麼最終點的經緯度是多少? – ajb 2015-02-23 05:41:58

+0

這是一個數學問題,而不是Java問題,甚至是編程問題。如果你有需要的公式,但不知道如何在Java程序中表達它們,那麼你可以問一個Java問題。 – ajb 2015-02-23 05:43:26

回答

0

以下PHP代碼提供了沿着軸承$brng的距離$lat1,$lng1的距離$dist(公里)的點。

function destination($lat1,$lng1,$dist,$brng){ 
$alpha = $dist/6371; // km 
$lat2 = asin((sin($lat1)*cos($alpha)) +(cos($lat1)*sin($alpha)*cos($brng))); 
$lng2 = $lng1 + atan2(sin($brng)*sin($alpha)*cos($lat1),cos($alpha)-sin($lat1)*sin($lat2)); 
return array(toDeg($lat2),toDeg($lng2)); 
} 

弧度

function toRad($deg) { 
// Converts numeric degrees to radians 
    return $deg * pi()/180; 
} 
function toDeg($rad){ 
    return $rad * 180/pi(); 
} 
相關問題