2010-09-06 7 views
9

MySQL (tabela)Zamówienie stół przez bliskość do określonej szerokości/długości geograficznej (przy użyciu MySQL + PHP)

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

co chcę teraz zrobić, to kolejność na liście zgodnie z ich bliskości (43.834527, -99,140625) .

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

Odpowiedz

11

Możesz być zainteresowany w sprawdzeniu następujące prezentacje:

Autor opisuje w jaki sposób można użyć Haversine Formula w MySQL zamówić przez bliskość i ograniczyć wyszukiwanie do określonego zakresu. Opisuje także, jak uniknąć pełnego skanowania tabeli dla takich zapytań, używając tradycyjnych indeksów na kolumnach szerokości i długości geograficznej.


PDF Version

Powiązane problemy