2

(0,0,0) から始まる点のセットがあり、各点がそれぞれの次元で移動した距離である 3D で車両がたどった経路を表しています。私は2つのことをする必要があります

  1. (0,0,0) は緯度と経度を表します。3D の点のセットを緯度と経度に変換するにはどうすればよいですか?
  2. フレームごとに(ビデオに使用できるように遅延して)Googleマップ/地球などにプロットします

助言がありますか?

編集:プロットが実行可能になり、変換はDavidのおかげではありません

4

3 に答える 3

2

Google Earth の場合、ここにすばらしい例があります。下にスクロールして、「例: パスに沿ったポイントの動きを表示する」までスクロールします。

Google Maps API の場合、この例Google Maps Demo Galleryにありました。ちょっと大雑把ですが、何ができるかがわかります。

于 2009-07-31T22:13:48.363 に答える
1

したがって、ある(任意の)座標系に開始点(0,0)があり、別の(地心)座標系に対応する(緯度、経度)点があります。問題は、原点からの既知の(x、y)オフセットのセットが与えられた場合、対応する(緯度、経度)ポイントをどのように見つけるかです。(これまでのところ、あなたの質問を理解していますか?)

簡単な答えは、次の式を使用することです。

lat2 = asin(sin(lat1)*cos(d/R) + cos(lat1)*sin(d/R)*cos(θ))
lon2 = lon1 + atan2(sin(θ)*sin(d/R)*cos(lat1), cos(d/R)−sin(lat1)*sin(lat2))
d/R is the angular distance (in radians), where d is the distance travelled and R is the earth’s radius

このリンクから取得:http ://www.movable-type.co.uk/scripts/latlong.html

編集2:(ああ、言及するのを忘れました:この式は、デカルト座標(x、y)ではなく極座標(R、θ)があることを前提としています。しかし、それらの間の変換はそれほど難しくありません。)

少し長い答えは、これを十分な広さのスペースで行うと、高さの測定方法と地球の表面の形状が原因で、計算が非常に複雑になるということです。おそらく地理座標系について調べたいと思うでしょう。このウィキペディアの記事は良い出発点です。また、 PROJ.4ライブラリが役立つ場合もあります。

編集:

高さ(z)の測定値を考慮する必要がある場合、計算はさらに複雑になります。簡単な(より)解決策は、2.5次元の計算を行うことです。つまり、1セットの数式を使用して(x、y)座標を計算してから、(z)座標を個別に実行します。これは、作業しているスペースに対して地球の表面が平らであると基本的に想定しているため、十分に小さい領域でのみ機能します。ただし、アプリケーションにはこれで十分な場合があります。

于 2009-07-31T23:05:51.440 に答える
1

JavaScript を使用して、ブラウザで Google マップ上を移動するポイントをアニメーション化するのは簡単です。ただし、どのようなビデオを取得しようとしているのかはわかりません。

Google マップには、マップ上にパスを描画してマップをレンダリングする API メソッドもあります。これについては、ページの下部で確認できます。

于 2009-07-31T21:52:24.943 に答える