適切なGPS追跡分析ライブラリはありますか?


35

GPSトラックで動作するカスタムコードを作成し続けます:GPXファイルや携帯電話からのNMEAログ、専用GPSロガーなど。 GPSトラック付き。私がしたいことのいくつか:

  • トラックの移動距離を計算する
  • トラックに沿った平均速度と瞬間速度を計算する
  • 移動時間と静止時間の計算
  • トラックを簡素化し、固定セグメントを排除します
  • トラックを旅行ごとに別々のトラックに分割する
  • GPSサンプリングエラーを平滑化
  • DEMでポイントを検索して標高プロファイルを作成する
  • 視覚化のためにトラックをGPX、KMLなどに変換する

GPS追跡を分析するさまざまなアプリケーションがあります。独自のアプリケーションを作成できるように、ソフトウェアライブラリまたはスクリプト化可能なツールセットを探しています。入力フォーマットについてはあまり気にしません。タイムスタンプ付きの緯度/経度ポイントはどのようなものでも構いません。私は主にUnixのPythonで働いていますが、ほとんどすべての言語で機能します。

私が使用している既存のツールには、変換用のGPSBabelおよびGDAL / OGRと、線ストリングとしてトラックジオメトリを操作するためのPostGISが含まれています。しかし、ほとんどの場合、lat / lonペアの配列で機能し、低すぎると感じる独自のPythonコードを書くことになります。また、上記のタスクの一部(GPSエラーの除去など)は非常に微妙です。使用すべき既存のライブラリはありますか?


1
1〜2週間後、賞金がかかった後、ここでの私の質問に対する答えは「いいえ、GPXトラック処理用のライブラリはありません」と思います。多くのアプリケーションとコードがありますが、汎用ツールはありません。それを知っておくと役に立ちます。私にとっては、ogr2ogrのGPXインポートによって作成されたスキーマで動作するPostGISコードを書くことです。このスキーマには、トラックの単純なLineStringと、時間ディメンションのタイムスタンプを持つポイントのテーブルの両方が含まれています。
ネルソン

Delphiコードもオプションですか?

Google は完全性のためにここで言及しているTracks APIを発表しました。便利に見えますが、私が探しているのとは異なる方向にあります。パンくずリストとジオフェンスの詳細。
ネルソン

1
@Nelsonこの回答をご覧ください。(かなり優れたオンラインライドエディター)Ride With GPSの作成者の1人:stackoverflow.com/a/13084082/401828
heltonbiker

@Nelsonこの質問は、私にとって非常に最新のものであり、ほぼ4年後です。その間に良い解決策を見つけましたか?
アンボール

回答:


7

まあ、選択したプログラミング言語に少し依存しますが、私はJavaでmineturer.orgを開発しました(このサイトは基本的にGPXデータをアップロード、分析、表示するためのサイトです)。

Iv'eはJAX-B(http://jaxb.java.net/)を使用してGPXファイル(GPXスキーマに基づく)とJTS(http://www.vividsolutions.com/jts/)を読み取り、分析します。

mineturer.orgのソースコードは、https://bitbucket.org/atlefren/gpsorganizer/のMITライセンスの下で入手できます。

コードは少なくともあなたにいくつかのポインタを与えることができると思いますか?


ありがとう!あなたのサイトは見栄えがよく(ノルウェー語を読まなくてもGoogle翻訳でかなり使いやすくなっています)。あなたはまさに私が望む種類の分析を行っており、あなたがそれをオープンソース化した大きな助けになっています。Pythonの場合、おそらくJTSの代わりにGEOSを使用します。適切なバインディングがあります。
ネルソン

2
気に入ったら...投票してください!!
-Stev_k

1
ここでのフォローアップ:ShapelyとGeoAlchemy(およびFlask)を使用して、このプロジェクトをPythonに移植し始めました。動作しますが、現時点ではかなり遅いです。好奇心のためにgithub.com/atlefren/mineturer2のコード
atlefren

3

GPS処理を対象とした2D / 3D数学の数学C#-libを作成しました。GPXとTCXの読み取り、トラックのフィルタリングと簡素化、トラック/セグメントのクラスタリング、2Dプレーンへの変換です。

https://www.nuget.org/packages/Math.Matthey/

https://www.nuget.org/packages/Math.Matthey.Tools.TrackReaders/


そのNugetsの説明やドキュメントを入手することは可能ですか?
ペトルクランプル

Readme.MDをNuGetパッケージに追加できるかどうかを確認します。
tma

リポジトリにアクセスできません。それはまた、GPX含むファイル解析することが可能である<rte><rtept>のほかに、要素<trk>の要素?
ペトルクランプル

1
現時点では、Garminトラックポイント拡張機能でtrrk-> trkseg-> trkptのみをサポートしていますが、2.3.0でrte-> rteptを追加しましたが、これまで検証は行われていません。
TMA

1
nuget.orgに両方のパッケージのドキュメントを追加しました。
TMA

2

GPSツールキットは役立つはずです。これは、研究者を低レベルのコーディングから解放することを目的とした、オープンソースのライブラリとアプリケーションのスイートです。

次の機能を提供します。

  • RINEXユーティリティ
  • ポジショニング
  • 残差分析
  • 電離層モデリング
  • 信号追跡シミュレーションT
  • 基本的な変換
  • 観測データの収集と変換
  • ファイルの比較と検証。
  • データ編集
  • 自律的および相対的な位置決め。

答えてくれてありがとう!GPSTkは魅力的に見えますが、私が探しているよりも低いレベルです。生のGPS無線信号を処理し、それらから位置修正を導出することについてのようです。消費者のGPSハードウェアから位置修正を既に受けており、低レベルの衛星データにアクセスできません。
ネルソン


0

素晴らしい質問です!私は最近GPXデータでかなり働いていましたが、私が見つけた最も簡単な解決策は、トラックポイントを空間db形式に変換し、必要に応じてデータを要約するビュー(空間および表)を作成することです。OGRを使用してGPXデータをインポートするために必要な結果を取得できなかったため、単純なPythonスクリプトを使用してGPXのXMLツリー構造を走査し、db(私の場合はSpatiaLite)にロードしました。これは間違いなく、車輪の再発明を避けるのに役立ちませんが、既存のSQLおよび空間SQL関数を使用してトリップすることで、トラックを要約した望ましい結果を得ることができることがわかりました。


1
PostGIS LineStringを使用して見た主な欠点は、タイムスタンプデータが含まれていないことです。私は確かに別のスキーマでそれらを自分で追跡することができますが、PostGISは時間ベースの計算を支援するために何もしていません。そのためのトリックはありますか?
ネルソン

0

私は自分の使用のためにこの小さなソフトを開発しています。これは主に視覚化のためであり、すべてのニーズをサポートしていませんが、おそらく役立つかもしれません!


ありがとう!これはオープンソースであり、Javaであるため、間違いなく助けになります。
ネルソン

0

あなたの実際の質問に答えないリスクがある:-)、あなたが聞いたことがないかもしれない素晴らしいアプリケーションを提案させてください、それはあなたがリストしたすべてをします-

GPXを表示、編集、転送するためのワンストップショップです。

そして、おそらくよりトピックに基づいて、おそらくdotSpatial(.NET)のPositioning名前空間をチェックアウトしてください:http ://dotspatial.codeplex.com/wikipage?title=DotSpatial.Positioning

よろしく。


ありがとう!TopoFusionはWindows用の優れたアプリケーションですが、本当にライブラリが必要です。dotSpatialには、便利な外観のコードがあります。Mozilla Public Licenseの下にあります。
ネルソン

0

言語に依存しないAPIの抽象的な仕様が必要な場合は、GeoAPIがあります。

「GISソリューションを構築する開発コミュニティは多大な努力を続けています。GeoAPIプロジェクトは、OGC / ISO標準から派生した中立のインターフェイスのみのAPIを提供することにより、重複を減らし、相互運用性を高めることを目指しています。」

http://www.geoapi.org/

より具体的には、実装標準(PDF)


0

GPXトラックをこのURLにアップロードします

リクエストしたサービスのほとんど、特に以下が提供されます。

  • トラックの移動距離を計算する
  • 平均速度を計算する
  • 移動時間と静止時間の計算(速度プロファイルに表示)
  • トラックを簡素化し、固定セグメントを排除します
  • GPSサンプリングエラーを平滑化
  • 視覚化のためにトラックKML / KMZなどを変換します
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.