「労働者が自分の仕事をうまくやりたいなら、まず自分の道具を研ぎ澄まさなければなりません。」 - 孔子、「論語。陸霊公」
表紙 > プログラミング > 緯度と経度から距離を計算し、境界ボックスを作成する方法

緯度と経度から距離を計算し、境界ボックスを作成する方法

2024 年 11 月 16 日に公開
ブラウズ:967

How to Calculate Distance and Create a Bounding Box from Latitude and Longitude?

緯度と経度からの距離の測定と境界ボックスの作成

2 つの地理座標 (緯度と経度) 間の距離の計算は、次の場合に不可欠です。地図やナビゲーションなどのさまざまなアプリケーション。ハーバーサインの公式としても知られる大圏距離は、地表に沿った 2 点間の距離の正確な推定値を提供します。

距離が決定したら、次のステップは境界ボックスを定義することです。特定の点の周り。このボックスは、特定の地理的領域内のポイントをカプセル化するために機能します。このボックスを作成するには、元の点から北と東に指定された距離にある点を見つける必要があります。

Java 実装

次の Java コード スニペットは、次の Java コード スニペットを提供します。 2 点間の距離を計算し、境界ボックスを作成するための Haversine 式の実装:

import java.lang.Math;

public class DistanceBoundingBox {

    public static void main(String[] args) {
        double lat1 = 37.386051; // Latitude of the origin point
        double lng1 = -122.083855; // Longitude of the origin point

        double distance = 10; // Distance in miles to extend the bounding box
        
        double lat2 = lat1   distance / 69; // Calculate the northernmost point
        double lng2 = lng1   distance / Math.cos(lat1 / 57.2957795) / 69; // Calculate the easternmost point

        System.out.println("Distance between the two points: "   distance);
        System.out.println("North: "   lat2);
        System.out.println("East: "   lng2);
    }
}

使用法:

main メソッドに 2 点の緯度と経度の座標を入力します。このコードは、点間の大円距離を計算し、コンソールに出力します。また、元の点から指定された距離にある最北点と最東点も計算されます。

追加の考慮事項:

  • 距離は次のように計算されます。マイル。キロメートルが必要な場合は、結果に 1.60934 を掛けます。
  • Haversine の公式は、地球が完全な球体であることを前提としています。精度を高めるには、地球の楕円体の形状を考慮した Vincenty 式の使用を検討してください。
  • この実装では入力検証を処理しません。入力座標が有効な緯度と経度の値であることを確認してください。
最新のチュートリアル もっと>

免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。

Copyright© 2022 湘ICP备2022001581号-3