Ando haciendo una aplicacion web de geolocalización bastante compleja con Openstreetmap, Openlayers, Ajax y PHP, y una de las funcionalidades que necesito es saber la distancia que hay entre dos coordenadas GPS decimales. Y la solución se llama función Haversine.
Este caso perticular está en PHP, y devuelve la distancia en Kilómetros, pero haciendo los ajustes pertinentes se puede hacer que lo devuelva en metros, millas o las unidades que uno necesite.
función Haversine:
function distancia($lat1,$long1,$lat2,$long2){ $distancia = (sin(deg2rad($lat1)) * sin(deg2rad($lat2))) + (cos(deg2rad($lat1)) * cos(deg2rad($lat2)) * cos(deg2rad($long1 - $long2))); $distancia = acos($distancia); $distancia = rad2deg($distancia); $distancia = $distancia * 60 * 1.1515 * 1.609344; return (round($distancia,2)); }
Saludos.
Últimos comentarios