2017-03-26 9 views
0

私は、ある点の緯度と経度と、その点を中心とする特定の半径をキロメートルとしたい場合、緯度と経度の両方の最大値と最小値を計算します。半径内の最大緯度と経度の値を計算するにはどうすればよいですか?

私が行った研究から、あなたが正確であることを望むなら、極と赤道の近似を念頭に置いておくべきだと思われます。可能であれば、複雑すぎる場合を除き、計算の正確なバージョンについてもっと知りたいと思います。

+0

どのように距離を測定していますか? (もしあなたがそれに答えることができないならば、 "正確な"バージョンはあなたとは無関係です。半径が数千キロメートルで測定されない限り) –

+0

@StephenCあなたが何を意味するのかは分かりません。この半径は決して150〜200キロメートルを超えることはないので、私はあなたの答えに基づいて、それを正確にする必要はないと仮定しています。しかし、私の質問は、最大値と最小値をどのように計算するのですか? – KaiZ

+0

これは、2つのlatitiude/longitudeポイント間の距離を計算できるHaversine式と呼ばれる式です。 Xkmの既知の距離に基づいてポイントを解くには代数を使用します。 –

答えて

1

"バウンディングボックス"のコードが必要なようです。これにより、データベース内の各ストアの距離を計算しない「ストアロケーター」操作を実行できます。ステップ0(オプション)は、データベースにインデックス(lat、lon)を作成することです。ステップ1は、(lo_lat、hi_lat、lo_lon、hi_lon)のボックスを計算し、それを不要な行をフィルタリングするクエリで使用することです。ステップ2は残りの行の距離を計算し、必要な円の外にあるものを除去する。

これは、詳細情報をお届けします。http://janmatuschek.de/LatitudeLongitudeBoundingCoordinates

0

それは私には思えるの答えは出発点のため、北、南、東、西でなければなりません。これは、地球の半径を考えると、最大緯度と最小緯度を自明に計算します。経度については、指定された緯度で地球の半径を計算し、それを使って最大と最小の経度を計算することができます。 ここに問題がありますか?

関連する問題