Diario de Abordo

PHP Calcular la distancia entre dos puntos usando latitud y longitud

Cómo calcular la distancia entre dos puntos utilizando latitud y longitud, (PHP).

Haversine Formula http://en.wikipedia.org/wiki/Haversine_formula


Funció en PHP para calcular la distancia entre 2 puntos:

function distance($lat1, $lon1, $lat2, $lon2) { 
$pi80 = M_PI / 180; 
$lat1 *= $pi80; 
$lon1 *= $pi80; 
$lat2 *= $pi80; 
$lon2 *= $pi80; 
$r = 6372.797; // mean radius of Earth in km 
$dlat = $lat2 - $lat1; 
$dlon = $lon2 - $lon1; 
$a = sin($dlat / 2) * sin($dlat / 2) + cos($lat1) * cos($lat2) * sin($dlon / 2) * sin($dlon / 2); 
$c = 2 * atan2(sqrt($a), sqrt(1 - $a)); 
$km = $r * $c; 
//echo ' '.$km; 
return $km; 
}
 

También se puede calcular con un query Mysql para obtener los puntos más cercanos a un punto.
Este SlideShare puede ayudarte a optimzizar tus querys, ya que este tipo de querys pueden ser lentos y consumir mucho tiempo con bases de datos grandes.

Geo Distance Search with MySQL by Oleksiy Kovyrin

Un poco de prueba/error antes de programar nada http://www.movable-type.co.uk/scripts/latlong.html    

Beto López
Ingeniero de Software y programador web "Full stack" que ha dejado una startup dónde los miércoles eran día de yoga, para construir un servicio de soporte técnico estandarizado low cost, más profundo que el que el servicio que ofrecen las compañias de hosting, para particulares, autónomos y empresas digitales. Web Personal, LinkedinTwitter.


PHP Calcular la distancia entre dos puntos usando latitud y longitud
Te respondemos rapidamente. Sin compromiso.
Recibir asistencia
Php Ninja
Php Ninja
icono whatsapp programador web