GPSトラックでスプライン補間を実行する方法


8

スプライン補間をgpsトラック(Gpx形式)に適用する方法を探しています。私は通常のQGISユーザーであり、問​​題がなければ、私のMacにGDALライブラリをインストールしています。

基本的に、MTBプロジェクトのトレイルアンドライド情報には少数のポイントセットがあり、実際のパスはスプライン補間によって拡張され、ファイルサイズが縮小されます。トラックをgpx形式でダウンロードできますが、含まれるポイントのセットが少ないため、補間前の少量のポイントを表すギザギザの線に似たトラックが得られます。同様の変換を適用して、QGISのスプライン描画ツールで各ポイントを手動で再トレースする必要のない、ある程度反復可能なプロセスで、Webサイト上にある曲線を再作成します。

ここに画像の説明を入力してください

無料のツールを使用してMTBプロジェクトからスプライントラックを再現するために、gpsトラックデータにスプライン補間を簡単に適用できる方法を誰かが知っていますか?できればOSXで?


FWIW、トポフュージョンには私が探しているこの機能がありますが、私はMacユーザーです。Windowsがなくても機能するものを探しています。topofusion.com/spline.php
Benzo

実際、私はWindows PCを使用していて、トポフュージョンが線を滑らかにするのに大丈夫であることがわかりましたが、それらはMTBプロジェクトと同じように補間されないため、曲線が異なる方法で発生し、トラックがさらに少なくなることがありますパラメータを微調整した後でも、より正確ではなく正確です。
Benzo

回答:


5

処理ツールボックスから「v.generalize」ツールを使用してみてください。そこには、線をうまく一般化できるいくつかのアルゴリズムがあります。

別の可能な解決策は、この投稿で言及されている「Generalizer」プラグインである可能性があります。QGISのプラグイン情報は、ツールがv.generalizer Grassモジュールに基づいていることを示唆しています。

参考までに、v.generalizeツールからの出力の例を以下に示します。ChaikenとHermiteの両方の出力にデフォルトの入力を使用しました。ツールを少し調べて、特に入力値の意味を調べれば、より良い結果が得られることは間違いありません。

更新 -アルファとベータのパラメーターを少し調整したSnakesアルゴリズム(以下の元の画像には表示されていません)を使用すると、テストデータセットの外観がより滑らかになります。

v.generalizeの出力の例


1

気まずいですが、ケースのオプションの1つとしてQGIS + Spline Pluginをお勧めします。

  1. はい、すべてのポイントをデジタル化するのは面倒です。ただし、適切なスナップオプションパラメータを設定すると、タスクの負担を軽減できます。
  2. スプラインを作成できる他のソフトウェアは、CAD(AutoCADなど)または数学ソリューション(Rなど)です。CADを選択した場合、ワークフローはほぼ同じで、点をクリックして繰り返しスプラインセグメントを追加します。
  3. 自転車のトラックが「理想的な」スプライン曲線である場合、数学的に補間された最適なスプラインがソリューションになります。実際には、そのようなスプラインがトラック全体を表すことはほとんどありません。さまざまな平滑化パラメータを試すことにより、複数の曲線を接合することになるかもしれません。
  4. スプラインプラグインを使用すると、デジタイズの進行に合わせてパラメータを変更できます。

ここに画像の説明を入力してください

Tightnessが0.5(デフォルト値)に設定されている場合、密な測定ポイントをスムーズに接続でき、Tightnessが高いほど、それらのポイントの周りでカーブを曲げないようにします。

ブルーカーブ(0.9)は緩やかなカーブによく合い、オレンジ(0.5)はタイトなコーナーに適しています。この柔軟性は、Spline Pluginによる手動のデジタル化の最も優れた部分です。数学の方程式でそれを行おうとすると、悪夢になる可能性があります。

  1. 一般化手法は元のデータポイントを尊重しないと思います。つまり、ジェネラライザによって導出されたカーブは、自転車のトラックを通過しません。

知っておくと良い、一般化手法に関する要点をありがとう。パラメータを設定してこのプロセスを複数のトラックで実行しようとしているので、これは1回限りの操作ではないので、おそらくスプラインプラグインオプションを使用しません。迅速に再現可能なプロセスが必要です。
Benzo

これを答えとして受け入れず、最も近い解決策に対して賞金を授与します。いくつかのpythonを知っているので、スプラインプラグインをハッキングする方法を理解するために時間をかけると、手動でデジタル化する代わりに、既存のポイントを自動的に反復させることができます。それがどれほど難しいかわかりませんが、プラグインのソースはそこにあります。
Benzo
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.