2010-09-06 14 views
9

MySQL (tabla)tabla Order por la proximidad de latitud/longitud específica (usando MySQL + PHP)

id | url | lat | lng 
---------------------------------- 
1 | x | 44.339565 | -101.337891 
---------------------------------- 
2 | y | 44.150681 | -101.074219 
---------------------------------- 
3 | z | 43.897892 | -100.634766 

lo que quiero hacer ahora es el orden de la lista en función de su proximidad a (43.834527, -99.140625) .

$a = mysql_query("SELECT * FROM table ORDER BY proximity DESC"); 
while($b = mysql_fetch_assoc($a)) 
{ 
echo $b['url'].'<br />'; 
} 

Respuesta

11

Usted puede estar interesado en probar la siguiente presentación:

El autor describe cómo se puede utilizar la Haversine Formula en MySQL al orden por proximidad y limite sus búsquedas a un rango definido. También describe cómo evitar un escaneo de tabla completo para tales consultas, usando índices tradicionales en las columnas de latitud y longitud.


PDF Version

Cuestiones relacionadas