地理的な緯度と経度があります (例: 39.6199,-79.9535)。半径1kmのポイントの周りにJavaでバウンディングボックスを作成するにはどうすればよいですか?
質問する
3408 次
2 に答える
8
2つの経度線の間の距離は、現在の緯度線に応じて変化します。次のように計算できます。
3960 * 2 * pi /360 * cosine(latitude)
マイル単位2つの緯度線の間の距離は、どこでも一定です:
69
マイル。
したがって、地理的な場所の周囲に1x1マイルの正方形を描画するには、ポイントの緯度に平行な2本の緯度線を南北に0.5マイルの距離で見つける必要があります。次に、西と東に沿って0.5マイルの距離にある2本の平行な経度線を見つけます。
たとえば、0.5マイルは0.5/69の緯度差を意味します。指定されたポイントの緯度が39.6199の場合、正方形の上側と下側の緯度の緯度の値はそれぞれ:36.6199+(0.5/69)
とになり36.6199-(0.5/69)
ます。
于 2012-09-21T22:05:44.410 に答える
7
double latitude = location.getLatitude();
double longitude = location.getLongitude();
// 6378000 Size of the Earth (in meters)
double longitudeD = (Math.asin(1000 / (6378000 * Math.cos(Math.PI*latitude/180))))*180/Math.PI;
double latitudeD = (Math.asin((double)1000 / (double)6378000))*180/Math.PI;
double latitudeMax = latitude+(latitudeD);
double latitudeMin = latitude-(latitudeD);
double longitudeMax = longitude+(longitudeD);
double longitudeMin = longitude-(longitudeD);
于 2013-11-16T20:41:55.180 に答える