4

特定の半径を持つ正方形の境界を計算しようとしていますが、正方形の中心がわかっている場合(経度、緯度)。しかし、私はそれで問題を抱えています。

ここから haversine 式を使用しようとしました:

ハバシン式

しかし、半径がかなり大きいと問題が発生します。

現在、1) を検索します。私が使用するラジアン単位の緯度デルタ:

  • radiusInMeters / EARTH_RADIUS_METERS

2)。私が使用するラジアンの経度デルタ:

  • 2.0 * | arcsin( |sin(radiusInMeters/(EARTH_RADIUS_METERS*2.0)) / |cos(latitudeStart)| | ) |

これらの式は、haversine 式から取得しました。

私の場合、大小の距離に適した正確な一般的な計算式を教えてください。

また、半径が経度で-180°/180°、緯度で-90°/90°を超える場合、どのように処理すればよいですか?

アップデート

いくつかの説明。座標 (lon, lat) のある特定の地点に滞在しているとしましょう。ここで、lon は -113°、lat 50° です。

データベースから関心のある半径内のポイントをクエリしたいと思います。そのためには、「正方形」の境界を計算する必要があります。(次に、対象の半径にないものを除外します)。上記の式は短い距離では問題なく機能します (100 キロメートル (63 マイル) までとしましょう。しかし、赤道点から極点に離れるほど、丸め誤差が大きくなります。)

前もって感謝します

4

0 に答える 0