1

ポイントを取得して、そのポイントが北西にNマイル、南東にNマイルであるかどうかを判断する必要があります。基本的に、初期点の周りにバウンディングボックスを作成します。

少し調べてみたところ、Haversineに関するものがいくつか見つかりましたが、すべてのコード実装は2つのポイント間の距離用であり、ポイントからの新しいポイントコンポーネントではないようです。

すでに存在する、できればJavaでのそのようなものの既存の実装はありますか?または他の言語?

これが私が必要だと私が想像する方法です:

public float longitudeFromPoint( float lat, float long, int vertical, int horizontal )
{
    // something
}

public float latitudeFromPoint( float lat, float long, int vertical, int horizontal )
{
    // something
}

float startLat  = 41.829347;
float startLong = -87.633788

float northWestLat  = latitudeFromPoint( startLat, startLong, 1, -1 );
float northWestLong = latitudeFromPoint( startLat, startLong, 1, -1 );

float southWestLat  = latitudeFromPoint( startLat, startLong, -1, 1 );
float southWestLong = latitudeFromPoint( startLat, startLong, -1, 1 );
4

1 に答える 1

2

これは読む価値があるかもしれません:境界座標を使用して緯度/経度の距離内のポイントを見つける。球面座標に関する短い理論的背景を提供し、いくつかのJavaコードを提供します。

リンクは、SOのこのスレッドに対する受け入れられた回答から借用されています: Javaの緯度/経度座標から一定の距離にある境界ボックスの計算

于 2012-07-06T20:26:32.203 に答える