Tôi có một kinh độ và vĩ độ như là một chuỗi trong PHP như dưới đâyTìm kinh độ và vĩ độ gần nhất trong mảng?
49.648881
-103.575312
Và tôi muốn đi đó và nhìn vào một mảng các giá trị để tìm ra gần nhất. Mảng trông giống như
array(
'0'=>array('item1','otheritem1details....','55.645645','-42.5323'),
'1'=>array('item1','otheritem1details....','100.645645','-402.5323')
);
Tôi muốn trả về mảng có thân dài và chàng trai gần nhất. Trong trường hợp này, nó sẽ là cái đầu tiên (và có tôi biết -400 không phải là một giá trị có thể).
Có cách nào nhanh chóng và dễ dàng để thực hiện việc này không? Tôi đã thử tìm kiếm mảng nhưng điều đó không hiệu quả.
đang Difference
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;
}
}
bạn có thể vui lòng cung cấp mã của bạn, nơi bạn sẽ có được khoảng cách giữa hai cặp lat/dài như 'chức năng khoảng cách ($ lat1, $ long1, $ lat2, $ long2) {... '? – hakre
Điều đó không có ý nghĩa, đó là toán học đơn giản? 55 - 49 = 6, 55-100 = 45 6 nhỏ hơn 45. – Steven
Bạn có thực sự biết cách tính khoảng cách giữa hai điểm trên quả địa cầu? – hakre