JavaまたはMySQLのユーザーアルゴリズムで利用可能な最も近い場所を実装したいと思います。
MySQLデータベースにStationsテーブルがあり、緯度と経度のステーションの約100Kレコードがあります。ユーザーが緯度と経度を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;
前もって感謝します。