Łukasz C.

Łukasz C. Senior Technical
Architect

Temat: obliczanie odleglosci na podstawie latlng

._____.

konto usunięte

Temat: obliczanie odleglosci na podstawie latlng

TO CIE WSPOMOŻE KOLEGO!


/**
* get distance between to geocoords using great circle distance formula
*
* @param float $lat1
* @param float $lat2
* @param float $lon1
* @param float $lon2
* @param float $unit M=miles, K=kilometers, N=nautical miles, I=inches, F=feet
* @return float
*/
function geoGetDistance($lat1,$lon1,$lat2,$lon2,$unit='M') {

// calculate miles
$M = 69.09 * rad2deg(acos(sin(deg2rad($lat1)) * sin(deg2rad($lat2)) + cos(deg2rad($lat1)) * cos(deg2rad($lat2)) * cos(deg2rad($lon1 - $lon2))));

switch(strtoupper($unit))
{
case 'K':
// kilometers
return $M * 1.609344;
break;
case 'N':
// nautical miles
return $M * 0.868976242;
break;
case 'F':
// feet
return $M * 5280;
break;
case 'I':
// inches
return $M * 63360;
break;
case 'M':
default:
// miles
return $M;
break;
}

}


Enjoy!

z klasy GoogleMap.php ;]
Konrad Karpieszuk

Konrad Karpieszuk WordPress Plugin
Compatibility
Assurance for WPML

Temat: obliczanie odleglosci na podstawie latlng

Jakub Świegot:

Enjoy!


dzięks :)

konto usunięte

Temat: obliczanie odleglosci na podstawie latlng

Wydaje mi się, że metoda z ortodromą (vide wikipedia) jest najbardziej sensowna, gdyż i tak wszystkie metody obarczone są błędami (zakładają, że ziemia jest kulą, a nie jest).

Z tego względu do częstych obliczeń oparłbym się raczej o ten model niż wzór podany wcześniej w wątku (tak - jest on bardziej dokładny, ale nadal nie-dokładny)



Wyślij zaproszenie do