En wil je de afstand uitrekenen tussen 2 adressen:
Let op: Deze berekening houd rekening met de kromming van de aarde en berekent dus de WERKELIJKE afstand tussen 2 punten!!!
function calcDistICAO($lat1,$lon1,$lat2,$lon2)
{
$r = 6367000; // Radius of the Earth in meters
//convert degrees to radians
$lat1 = ($lat1 * pi() ) / 180;
$lon1 = ($lon1 * pi() ) / 180;
$lat2 = ($lat2 * pi() ) / 180;
$lon2 = ($lon2 * pi() ) / 180;
//Haversine Formula (
http://www.movable-type.co.uk/scripts/gis-faq-5.1.html)
$dlon = $lon2 - $lon1;
$dlat = $lat2 - $lat1;
$a = pow(sin($dlat/2), 2) + cos($lat1) * cos($lat2) * pow(sin($dlon/2), 2);
$intermediate_result = 2 * asin(min(1,sqrt($a)));
$distance = $r * $intermediate_result;
//Distance is in meters, now to go from meters to Nm
$distance = ceil($distance / 1852);
return $distance;
}
Ook een erg leuke functie..
Groet,
Björn.