5

緯度と経度の 1 度が地球表面で持つことができる最大の長さ (キロメートルまたはマイルで指定してください) は?

十分に明確であるかどうかわかりませんが、言い換えさせてください。ご存知のように、地球は完全な円ではありません。赤道 (またはエクアドル) での緯度/経度の 1.0 の変化は 1 つの距離を意味し、極での同じ変化は別の完全に異なる距離を意味します。

大円の式を使用して複数のポイント間の距離を計算できるように、データベース (この場合は MySQL) によって返される結果の数を削減しようとしています。すべてのポイントを選択してから個別に計算する代わりに、緯度/経度の境界内にある座標を選択したいと考えています。

SELECT * FROM poi
 WHERE latitude >= 75 AND latitude <= 80
   AND longitude >= 75 AND longitude <= 80;

PS: 遅くなりましたが、私の英語が思ったほど上がらなかったように感じます。理解できないことがあれば言ってください。必要に応じて修正/改善します。ありがとうございます。

4

4 に答える 4

9

緯度の長さは、赤道の約 110.6 km から極近くの約 111.7 km までほとんど変化しません。地球が完全な球体である場合、それは一定です。既知の (lat、lon) から 10 km 以内のポイントのリストを取得するなどの目的で、一定の 111 km で問題ないと仮定します。

ただし、経度とはまったく別の話です。赤道で約 111.3 km、緯度 60 度で 55.8 km、緯度 89 度で 1.9 km から極点のゼロまでの範囲です。

あなたは間違った質問をしました。クエリが有効な候補を拒否しないように最小の長さを知る必要がありますが、残念ながら経度の最小の長さはゼロです!

緯度と経度の両方に約 111 km の定数を使用するように他の人々のアドバイスを受けたとしましょう。10 km のクエリの場合、10 / 111 = 0.09009 度の緯度または経度のマージンを使用します。これは赤道でOKです。ただし、緯度 60 (たとえば、ストックホルムの場所) では、経度 0.09 度で東に移動しても、約 5 km しか移動できません。この場合、有効な回答の約半分を誤って拒否しています

幸いなことに、より良い経度境界 (既知の点の緯度に依存するもの) を取得するための計算は非常に簡単です。この SO の回答と、それが参照する Jan Matuschek の記事を参照してください。

于 2010-07-14T23:12:22.507 に答える
7

もともと海里の定義は、赤道上の経度 1 分間の長さでした。したがって、赤道の周りには 360 * 60 = 21,600 海里がありました。同様に、キロメートルの元の定義は、10,000 km = 極から赤道までの長さでした。したがって、地球が球形であると仮定すると、次のようになります。

  • 40,000 ÷ 21,600 = 1.852 km/分
  • 1.852 × 60 = 111.11 km/度

球状の地球の代わりに球状の地球を考慮に入れると、係数がわずかに調整されますが、それほどではありません. この係数は、1 分あたり 1.9 km または 1 度あたり 114 km 未満であると確信できます。

于 2009-12-13T22:18:52.743 に答える
4

MySQL 空間拡張を使用できる場合: http://dev.mysql.com/doc/refman/5.0/en/spatial-extensions.html、その演算子と関数の両方を使用して、ポイントをフィルタリングし、距離を計算できます。http://dev.mysql.com/doc/refman/5.0/en/functions-that-test-spatial-relationships-between-geometries.html、具体的には関数contains()およびdistance()を参照してください。

于 2009-12-14T14:39:40.853 に答える
2

地球に使用される参照楕円体は WGS84 システムです。つまり、赤道の地球半径の長さは 6 378 137 m または 3963.19 マイルです。

経度の最大長は赤道で達し、およそ (上限) 111.3195 km または 69.1708 マイルです。

緯度 1 度の最大長は、赤道と 1 度の間です。これは、経度の最大長とほぼ同じです。最初の概算では、差が 4.2 メートル未満であることを示しています。

111.3153 キロまたは 69.1682 マイル

于 2009-12-14T13:45:48.420 に答える