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
Contacta

Atención y comunicación
Estamos aquí para ayudar. El responsable de ventas también es programador. Incluso coge el teléfono y responde por whatsapp

Expertos en WordPress y Prestashop
Programadores expertos de cada tema para resolver mejor y más rápido. Project Manager + Programador + Q/A Testing

24/7/365
Porqué los problemas aparecen en los peores momentos. De Lunes a Viernes de 9h a 18h contestamos más rápido

Do NOT follow this link or you will be banned from the site!
Php Ninja