は、私は以下の配列の中で最も近い経度と緯度を見つけますか?
49.648881
-103.575312
のようなPHPの文字列として経度と緯度を持っていると私はそれを取ると、最も近いものを見つけるために値の配列で見てみたいです。配列は次のようになります
array(
'0'=>array('item1','otheritem1details....','55.645645','-42.5323'),
'1'=>array('item1','otheritem1details....','100.645645','-402.5323')
);
最も近いlongとladを持つ配列を返したいと思います。この場合、それは最初のものになります(そして、私は-400が可能な値ではないことを知っています)。
これを行う簡単な方法はありますか?私は配列の検索を試みたが、それは動作しませんでした。
違いコード
function distance($lat1, $lon1, $lat2, $lon2, $unit) {
$theta = $lon1 - $lon2;
$dist = sin(deg2rad($lat1)) * sin(deg2rad($lat2)) + cos(deg2rad($lat1)) * cos(deg2rad($lat2)) * cos(deg2rad($theta));
$dist = acos($dist);
$dist = rad2deg($dist);
$miles = $dist * 60 * 1.1515;
$unit = strtoupper($unit);
if ($unit == "K") {
return ($miles * 1.609344);
} else if ($unit == "N") {
return ($miles * 0.8684);
} else {
return $miles;
}
}
あなたは '関数の距離($ LAT1、$のような2緯度/長いペア間の距離を取得する場所、あなたのコードを提供していただけますlong1、$ lat2、$ long2){... '? – hakre
それは意味がありません、それは簡単な数学ですか? 55 - 49 = 6、55-100 = 45 6は45より小さい。 – Steven
地球上の2点間の距離を計算する方法は実際に分かっていますか? – hakre