ホームページ > データベース > mysql チュートリアル > SQL を使用してデータベース内の最も近い緯度と経度を見つけるにはどうすればよいですか?

SQL を使用してデータベース内の最も近い緯度と経度を見つけるにはどうすればよいですか?

Mary-Kate Olsen
リリース: 2025-01-18 16:12:15
オリジナル
954 人が閲覧しました

How Can I Find the Nearest Latitude and Longitude in a Database Using SQL?

SQL クエリを使用して最も近い緯度と経度を見つけます

データベースからデータを取得する場合、多くの場合、特定の地点に最も近い緯度と経度のレコードを検索する必要があります。これは、近くのビジネス、観光名所、その他の興味のある場所を見つけるようなシナリオで特に役立ちます。

クエリポイント

このタスクを実行するには、緯度と経度に基づいて 2 点間の距離を計算できる SQL クエリが必要です。これには、地球の曲率を考慮したハバーシンの公式の使用が含まれます。さらに、レコードを取得するために許容される最大距離を指定する必要があります。

SQL クエリ構造

次の SQL クエリはこれらの要件を満たします:

<code class="language-sql">SELECT latitude, longitude, SQRT(
    POW(69.1 * (latitude - [startlat]), 2) +
    POW(69.1 * ([startlng] - longitude) * COS(latitude / 57.3), 2)) AS distance
FROM TableName HAVING distance < [max_distance] ORDER BY distance;</code>
ログイン後にコピー
  • [startlat][startlng] は始点の緯度経度を表します。
  • [max_distance] レコードを取得する最大距離を指定します。

説明:

このクエリは、Haversine 式を使用して、各レコードの緯度および経度と、指定された開始点の間の距離を計算します。 「距離」列には、結果として得られた距離が格納されます。指定された最大距離よりも距離が短いレコードが選択され、開始点からの距離によって並べ替えられます。

このクエリを使用すると、距離の制約を考慮して、指定された地点に最も近い緯度と経度のレコードを効率的に見つけることができます。

以上がSQL を使用してデータベース内の最も近い緯度と経度を見つけるにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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