138

検索の境界ボックスを計算するために、緯度または経度の浮動小数点数に追加できる値に km を変換する簡単な計算はありますか? 完全に正確である必要はありません。

たとえば、イギリスのロンドンの緯度/経度 (51.5001524, -0.1262362) が与えられ、その地点から東西 25 km の緯度と、南北 25 km の経度を計算したいとします。ポイント、上記の値に加算するために 25km を小数に変換するにはどうすればよいですか?

一般的な経験則を探しています。つまり、1km == +/- 0.XXX

編集:

「lat lon」の最初の検索では、次の結果が返されませんでした。

特定の緯度/経度の場所の境界ボックスを計算する方法は?

受け入れられた答えは、私の要件に適しているようです。

4

6 に答える 6

253

おおよその変換は次のとおりです。

  • 緯度: 1 度 = 110.574 km
  • 経度: 1 度 = 111.320*cos(緯度) km

これは、地球の極平坦化を完全に補正するものではありません。そのため、WGS84 参照楕円体 (GPS に使用されるモデル) を使用した、より複雑な式が必要になるでしょう。しかし、このエラーはおそらくあなたの目的にとっては無視できるものです。

出典: http://en.wikipedia.org/wiki/Latitude

注意: 緯度経度座標は度数で表されることに注意してくださいcos。ほとんどの (すべて?) 言語の関数は通常ラジアンを受け入れます。したがって、度数からラジアンへの変換が必要です。

于 2009-08-10T07:32:49.193 に答える
5

Java、Javascript、または PHP を使用している場合は、これらの計算を正確に行うライブラリがあり、面白いほど複雑な (ただし高速な) 三角法を使用します。

http://www.jstott.me.uk/jcoord/

于 2009-08-10T07:41:13.090 に答える
1

http://www.jstott.me.uk/jcoord/ - このライブラリを使用

            LatLng lld1 = new LatLng(40.718119, -73.995667);
            LatLng lld2 = new LatLng(51.499981, -0.125313);
            Double distance = lld1.distance(lld2);
            Log.d(TAG, "Distance in kilometers " + distance);
于 2017-02-20T06:26:26.947 に答える