( gpsdgpxlogger(1)
のクライアントとして提供されている)によって作成された GPS トラックがあります。GPS 受信機は 1 秒ごとに座標を更新します。gpxlogger のロジックは非常に単純です。GPS から受信した位置 ( 、、) とタイムスタンプ ( ) をn秒 (私の場合はn = 3 ) ごとに書き留めます。lat
lon
ele
time
数時間分のトラックを書き留めた後、gpxlogger は、数千のポイントを含む数メガバイトの GPX ファイルを保存します。その後、このトラックを地図上にプロットし、OpenLayersで使用してみます。それは機能しますが、数千のポイントがあるため、マップの使用は雑で遅い経験になります.
最適ではない点が数千あることは理解しています。ほとんど何も失わずに削除できるポイントが無数にあります。ほぼ直線を構成するポイントがいくつかあり、それらの間を同じ一定の速度で移動している場合、最初と最後のポイントを残して投げることができます。他のものを遠ざけます。
そのようなトラックの単純化/最適化ジョブにgpsbabelを使用することを考えましたが、残念ながら、単純化フィルターはルートでのみ機能します。つまり、タイムスタンプなしでパスの幾何学的形状のみを分析します(つまり、速度がほぼ一定であることを確認しません)。
トラックを最適化するために利用できる既製のユーティリティ/ライブラリ/アルゴリズムはありますか? それとも、gpsbabel の巧妙なオプションが欠けているのでしょうか?