Za precizniji racun treba malo vise matematike, ima detaljno objasnjeno za slucaj MySQL-a na
http://www.arubin.org/files/geo_search.pdf
Na primjer, za nalazenje 10 najbilizih "tacaka" zadatoj koordinati:
set @orig_lat=121.9763; set @orig_lon=37.40445;
set @dist=10;
SELECT *, 3956 * 2 * ASIN(SQRT(
POWER(SIN((@orig_lat - abs(dest.lat)) * pi()/180 / 2),
2) + COS(@orig_lat * pi()/180 ) * COS(abs(dest.lat) *
pi()/180) * POWER(SIN((@orig_lon - dest.lon) *
pi()/180 / 2), 2) )) as distance
FROM hotels dest
having distance < @dist
ORDER BY distance limit 10
(obrati paznju da je dist u miljama, za kilometre konvertovati 3956 u kilometre)