Code snippets Razmena snippets, funkcija, dodataka, algoritama,... pod uslovom je da ste vi autor ili imate dozvolu autora ili da navedete autora uz odgovarajucu licencu. |
|
Alati teme | Način prikaza |
|
20. 01. 2011. | #1 |
Vladan Zirojević
Grand Master
|
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) |
2 članova zahvaljuje zira za poruku: |
|
|