ホームページ > バックエンド開発 > PHPチュートリアル > MySQL のハベルサイン公式を使用して大圏距離を計算するにはどうすればよいですか?

MySQL のハベルサイン公式を使用して大圏距離を計算するにはどうすればよいですか?

Patricia Arquette
リリース: 2024-12-20 10:23:17
オリジナル
758 人が閲覧しました

How Can I Calculate Great Circle Distance Using MySQL's Haversine Formula?

MySQL ベースの大圏距離計算 (Haversine 公式)

地球の表面上の 2 つの地理的点間の大圏距離を計算するには、 Haversine 式を使用することができます。この式には、両方の点の経度と緯度が必要です。

この例では、この計算を MySQL 内で完全に実行し、PHP の必要性を排除することを目的としています。これを実現するには、Google Code FAQ からヒントを得た次の SQL ステートメントを検討してください。

SELECT id, ( 3959 * acos( cos( radians(37) ) * cos( radians( lat ) ) * cos( radians( lng ) - radians(-122) ) + sin( radians(37) ) * sin(radians(lat)) ) ) AS distance
FROM markers
HAVING distance < 25
ORDER BY distance
LIMIT 0, 20;
ログイン後にコピー

このステートメントは、緯度 37、経度 -122 の開始点を想定し、半径 25 マイル以内で最も近い 20 の場所を取得します。 。 Haversine 公式を利用して、各点と開始点の間の距離を計算します。緯度と経度の値を適宜変更することで、クエリを特定の要件に合わせて調整できます。

以上がMySQL のハベルサイン公式を使用して大圏距離を計算するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート