2011-11-11 11 views
2

私は超軽量飛行機による空中散布のための "貧しい人の誘導システム"の入力としてgpxファイルを生成するdelphiプログラムを作成しました。(GPS)ガイダンスのための正確な並列スワスングアルゴリズムが必要

大体、出力としてgpxファイルを使用してルート(パラレルスワス)を生成します。

ルートエンジンはwgs84計算でうまく動作する「Vincenty」アルゴリズムに基づいていますが、 Topografix(要件)のExpertGPSで生成されたグリッドの精度を得ることはできません。

Iは楕円上の2D計算仮定:開始rtept(ルートポイント)から)

  • 1、ベアリング及び任意の距離(スワス長)指定された次rteptを計算します。

  • 2)前の方位(90°回転)と別の任意の距離(帯状の距離)にそれぞれ対応する次のrteptを計算します。

  • 3)やり直し1)最後のrteptを開始点として、反対の方向に、等々。

何が問題なのですか?

+0

[Vincentyのアルゴリズム](http://www.movable-type.co.uk/scripts/latlong-vincenty.html)のJavaScript実装です。また、さまざまな入力を確認するための計算機。 –

+0

ここにデルファイの実装があります。[delphiforfun](http://delphiforfun.org/Programs/Math_Topics/Lat-Long%20Distance.htm) –

+0

私はチャールズ・セイツ(Charles Seitz)によって書かれた、 2006年5月)、Chris VenessのJavascriptコードに基づいています。私はそれを徹底的にテストし、うまくいくと思われます。 – menjaraz

答えて

2

次は憶測ですので、あなたがVincentyの地球楕円体モデルのあなたのパスカルの実装を記述しない:

  1. モデルはあなたかどうかによってATAN2、 COS、SINなどfunctions--数多くの幾何学的な三角関数を使用しています内部デルファイ関数 または独自のバージョンを使用すると、精度が不足する可能性があります。 計算で使用されるpiの精度の精度は、必要な精度に影響する可能性があります。
  2. 浮動小数点演算によって小数点以下のエラーが発生することがあります。 は、シングル、ダブル、またはリアルのどちらを使用するかに違いがあります。私は 内部のデルファイ関数のいくつかは 異なるバージョンで変更されていると考えているので、おそらくデルファイのバージョン を使用して内部関数の実装方法に影響を与えます。
  3. 正確に実装されている場合、Vincentyの式は で、0.5mm以内の精度が求められます。素晴らしい精度。 の誤差や精度の欠如がDelphiの実装に丸められている場合は、位置 の誤差が大幅に大きくなる可能性があります。
  4. GPS情報の精度を考慮してください。 多くの衛星がGPS受信機によってどのように使用されているかに応じて、 位置情報の精度が変化します。 のエラーでは、50フィート以上のオーダーが可能です。さらに、GPS受信機上の位置情報のリフレッシュ は、必ずしも ではない。したがって、スワスの「曲がり」が急速に発生する場合、 は、GPSが転機点で更新されていることを確認する必要があります。
  5. パターンを計算する手順は妥当と思われますので、DelphiコードでVincentyのアルゴリズムを実装して としてください。
  6. このリストは網羅的なものではなく、他の人が改善できると私は想像している。 私が言及したのは、GPSとデルフトの さまざまなバージョンの私の経験と、私が頭の上を思い出すことができるものに基づいています。
  7. インターネットで提供されている の例のアルゴリズムの実装を使用して、 距離/方位の計算を比較してみてください。いくつかのオンライン 電卓があります。あなたがそこにいなかったら、航空処方 は、他のナビゲーショントリックの例を見つけるのに最適な場所です。 http://williams.best.vwh.net/avform.htm。比較すると は、 数学者によって計算されたデータでVincentyのアルゴリズムを実装したDelphi の精度に自信を持っています。単に、Vincentyの実装が正確に ではない可能性があります。そしてもう一度、エラーは他の場所にあるかもしれません。次に大きい距離を与えるために1日〜
+0

[Vincentyアルゴリズム](http:// www。 movable-type.co.uk/scripts/latlong-vincenty.html)は、精査のために[here](http://www.programmersheaven.com/download/48584/19/ZipView.aspx)にあります。 – menjaraz

1
I am doing farm GPS guidance similar for ground rig just with Android. Great for second tractor to help follow previous A B tracks especially when they disappear for a bit . 

GPS精度繰り返し能力。高価なシステムはdGPSなしでdGPS2cm-10cm.5-30metresを使用します。シンプルなソリューションは、既知の場所で再較正されます。より安価なライトバーがこの方法を使用します。

ドリフト上記以外は、仕事中の動きに関連しています。ほとんど目立たない< 20cm 3時間。まれに1-2メートル飛ぶことができます。私は衛星が接続または切断すると思います。再度、既知の座標、すなわち、スプレー充填点

GPS精度。ほとんどの携帯電話の更新速度は1時間です。 3? 50キロメートル/時、フィックスの間で41.66メートルのフィックスの間の秒。地上で18km走行しますが、最初の走行後は軌道に乗ります。 Bluetooth GPS 10hzチェックの更新速度を試してみてください。

入力精度とdGPSを使用するかどうかは大きな違いになります。

次のポイントまで100メートルで5メートルと言えば、次の座標ではなくルートに戻ってこない限り、50メートルでまだ2.5メートルオフになります。

Vincentyを使用していないため、私は手動でライン上にバンプバックすることができます。< 30cmのところで1km以上を参照しましたが、私は2ポイントを取ってparrallelポイントを作成しています。

これらのアイデアがあなたの状況に役立つことを願っています。

+0

お返事ありがとうございます。 – menjaraz

関連する問題