tierra terrestres puntos online longitud latitud entre ecuación distancia coordenadas calcular mysql maps latitude-longitude

mysql - terrestres - ecuación haversine excel



Calcular la distancia dada 2 puntos, latitud y longitud (2)

Posible duplicado:
Configuración de tablas de latitud y longitud de MySQL

Sé que esta pregunta probablemente se ha hecho muchas veces, he investigado mucho y necesito ayuda con algo específico.

Digamos que tengo un formulario y el usuario ingresa longitud y latitud, y tengo una base de datos que tiene tablas que contienen longitudes y latitudes, ¿cómo buscaría un punto o puntos en esa tabla que estén dentro de 15 millas de radio?


Puedes usar la fórmula que calcula distancias entre dos puntos. Por ejemplo:

function get_distance($latitude1, $longitude1, $latitude2, $longitude2, $unit = ''Mi'') { $theta = $longitude1 - $longitude2; $distance = (sin(deg2rad($latitude1)) * sin(deg2rad($latitude2))) + (cos(deg2rad($latitude1)) * cos(deg2rad($latitude2)) * cos(deg2rad($theta))); $distance = acos($distance); $distance = rad2deg($distance); $distance = $distance * 60 * 1.1515; switch($unit) { case ''Mi'': break; case ''Km'' : $distance = $distance * 1.609344; } return (round($distance,2)); }

También puedes hacer algo como:

$query = "SELECT *,(((acos(sin((".$latitude."*pi()/180)) * sin((`Latitude`*pi()/180))+cos((".$latitude."*pi()/180)) * cos((`Latitude`*pi()/180)) * cos(((".$longitude."- `Longitude`)* pi()/180))))*180/pi())*60*1.1515 ) as distance FROM `MyTable` HAVING distance >= ".$distance.";


Si tiene la Lat / Lon de dos puntos, puede obtener delta Lat y delta Lon y convertir esto a una distancia a lo largo de la latitud y una distancia a lo largo de la longitud, y usar el teorema de Pitágoras.

¿Has mirado páginas como http://www.movable-type.co.uk/scripts/latlong.html ? Esto tiene varias formas de calcular la distancia. Así que a medida que recorre su lista de puntos, usa la fórmula para calcular la distancia desde cada punto hasta el punto de interés y mantenga solo aquellos que satisfacen R <15 millas.