ホームページ >データベース >mysql チュートリアル >## MySQL で半径ベースの位置検索の精度を向上させるにはどうすればよいですか?
半径ベースの検索に対する MySQL の経度および緯度クエリの精度の向上
mySQL で半径ベースの位置検索を実行するときに発生する一般的な問題指定された半径から大幅に逸脱した結果が得られています。この不一致は、多くの場合、距離計算式のエラーによって発生し、不正確な距離測定につながります。
この問題を解決するには、わずかに異なる距離計算方法を利用する洗練されたクエリを検討してください。
SELECT `id`, ( 6371 * acos( cos( radians( :lat ) ) * cos( radians( `lat` ) ) * cos( radians( `long` ) - radians( :long ) ) + sin(radians(:lat)) * sin(radians(`lat`)) ) ) `distance` FROM `location` HAVING `distance` < :distance ORDER BY `distance` LIMIT 25
このクエリ内:
この式は、ハバーサイン式に基づいて距離を計算します。これにより、使用される式よりも正確な結果が得られます。元のクエリで。この改訂された式を組み込むことで、半径検索機能を改良し、返される結果が指定された半径範囲に確実に準拠するようにすることができます。
以上が## MySQL で半径ベースの位置検索の精度を向上させるにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。