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

Haversine 公式を使用して MySQL で大圏距離を計算するにはどうすればよいですか?

Linda Hamilton
Linda Hamiltonオリジナル
2024-12-27 09:27:17303ブラウズ

How Can I Calculate Great Circle Distance in MySQL Using the Haversine Formula?

MySQL: ハバーサイン公式を使用した大圏距離計算

概要

間の距離の計算球上の 2 つの地理座標は、地理空間アプリケーションでは一般的なタスクです。このために広く使用されているアプローチの 1 つは、Haversine 公式です。これは、2 点間の大円距離の正確な結果を提供します。

MySQL での Haversine 公式の使用

To MySQL で Haversine 式を実装するには、次の手順を利用できます:

  1. 座標値を変換するRADIANS() 関数を使用して、(緯度と経度) をラジアンに変換します。
  2. SUBTRACT() または ABS() 関数を使用して、座標の差を計算します。
  3. 手順で取得した差を 2 乗します。
  4. ステップ 3 の合計に地球の半径を掛けます。 (6371 キロメートルまたは 3959 マイル)。
  5. 最後に、SQRT() 関数を使用してステップ 4 の結果の平方根を計算します。

SQL クエリの例

これは、Haversine 式を実装して大圏間の距離を計算する SQL クエリの例です。 2 つの座標:

このクエリは、座標 (37, -122) から半径 25 キロメートル以内にある 20 の最も近い場所の ID と計算された距離を返します。

結論

MySQL で Haversine の公式を使用すると、2 つの間の大圏距離を正確に決定できます。地理座標。この手法は、正確な距離計算を必要とする位置ベースのアプリケーションに特に役立ちます。

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

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。