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
Php Ninja - Mantenimiento Web
Somos un equipo de programadores web expertos en PHP, WordPress y Prestashop, con más de 15 años de experiencia, 100% especializados en mantenimiento y arreglos, lo que nos permite ofrecer un servicio muy completo y único de mantenimiento y reparación de páginas web. Conoce más sobre nosotros
- Responsable: Ayesa Digital SLU
- Finalidad: Responderte al correo que vas a enviar.
- Legitimación: Consentimiento.
- Destinatarios: tus datos de contacto se almacenarán en nuestra base de datos.
- Derechos: Cambios, rectificaciones, borrados, escríbenos a administracion@phpninja.es
Puedes consultar la información adicional y detallada sobre Protección de Datos en política de privacidad.
Muy profesionales. Resuelven rápido e informan en todo momento del estado del trabajo. 100% recomendado.
Conchetta Alonso
CEO at Workcation