1
我想要實現提供給Java或MySQL的用戶算法最近的地方。使用Latitude-Longitude返回用戶位置的最近地點?
我站表,其中有緯度和經度 100K左右的記錄站的MySQL數據庫。如果用戶給他的緯度和經度X和Y,那麼我想返回從用戶的位置最近的車站。
因此,請給我建議任何可用的算法在Java或MySQL。
我在性能試着用下面的查詢,但似乎慢 -
SELECT *,3956*2*ASIN(SQRT(POWER(SIN((user_lat-abs(st.station_lat))*pi()/180/2), 2) + COS(user_lat*pi()/180)*COS(abs(st.station_lat) *pi()/180)*POWER(SIN((user_lon-
st.station_lon)*pi()/180/2),2))) AS distance FROM Stations st HAVING distance < 10 ORDER BY distance;
在此先感謝。
可能重複:http://stackoverflow.com/questions/1006654/fastest-distance-lookup-given-latitude-longitude –
也許你應該把算法的問題,使人們可以嘗試修改以獲得更好的性能-PS算法不是執行 –
謝謝@Udo Klimaschewski,這很有幫助。 – Deepu