0

使用しているデバイス用のコンパスを開発する必要があります。このデバイスは方向を認識しません (ジャイロスコープはありません) が、GPS モジュールを備えています。針を使って、開始座標 (おそらく現在の位置) から終了座標につながるコンパスを作成するにはどうすればよいですか?

私の現在の考えは次のとおりです。

  1. GPS センサーの座標をできるだけ早くポーリングします。
  2. PDOP が適切な範囲内 (おそらく 2.0 未満) にある座標を記録します。
  3. 歩いている座標の変化から、向いている方向を判断します。

ただし、これにはいくつかの問題があります。

  1. まず、ユニットがどこにあるかを把握するために、ユニットを移動する必要があります。
  2. 最も正確であるとは思えません。つまり、方向転換を決定するために使用する過去のポイントの数は?
  3. これが実現可能な解決策であるかどうかはよくわかりません。これについて私が読むことができるいくつかの実装理論はありますか?

私の問題を解決するためのより良い方法はありますか? このプロジェクトの範囲には、「現在の場所」から油田のジオタグ付きアイテムに移動することが含まれます。

Windows Mobile 6.5 デバイスの使用 - VS2008 上の C#。

4

3 に答える 3

0

私があなたの立場なら、デバイスの上部を常に進行方向に向けておくようユーザーに伝える通知を画面に表示します。彼らが移動している間、彼らの現在の位置と彼らの最後の既知の位置を使用して、彼らが行く方向を計算します。次に、現在の位置とターゲットの位置に基づいて、移動する必要がある方向を計算します。次に、移動方向と移動する必要がある方向の差を計算し、その差を使用して、現在の方向に対して移動する必要がある方向を示す矢印を画面に表示します。

以下に例を示します。D が進行方向を表すとします。この例では 100 度としましょう。T は、ターゲットに到達するために移動する必要がある方向を表します。この例では 90 度としましょう。T - D = -10 なので、画面上に真上から -10 度を指す矢印を描きます。先に述べた指示に従っている場合、真っ直ぐ上がることは D と同じであることを覚えておいてください。これは、矢印が D-10 を指していることを意味します。これは 90 度であり、これが進むべき方向です。

ここで、別の問題が発生します。デバイスの動きが止まると、デバイスがどちらの方向を向いているかを知る方法がなくなります。その場合、矢印を非表示にして、GPS が再び動き始めると元に戻ることをユーザーに知らせます。

最後に覚えておいていただきたいのは、緯度の 1 度の変化は、経度の 1 度の変化よりも距離が長くなることです。2 つの GPS ポイントに基づいて方位を計算する方法を説明する記事へのリンクを次に示します: http://www.movable-type.co.uk/scripts/latlong.html

幸運を!

編集: ほとんどの GPS デバイスは進行方向を示しますが、進行方向を計算するときに GPS が使用するのと同じアルゴリズムを使用していない限り、矛盾が生じて矢印が少しずれてしまう可能性があります。

于 2013-09-10T22:24:37.427 に答える