5

この質問は、地理空間情報システムに関する知識と多少重複していますが、GIS.StackExchangeではなくここに属していると思います。

非常によく似たオブジェクトを持つGPSデータを処理するアプリケーションはたくさんあり、そのほとんどはGPX標準で定義されています。これらのオブジェクトは、ルート、トラック、ウェイポイントなどのコレクションになります。GoogleMapsのようないくつかの重要なプログラムは、多かれ少なかれ同じエンティティをKML形式でシリアル化します。オンラインには他にも多くのマッピングアプリケーション(ridewithgps、strava、runkeeperなど)があり、この種のデータを別の方法で処理しますが、データとほぼ同等の「操作」を可能にします。これらの操作の例は次のとおりです。

  • マウスによるトラック/トラックポイントの直接操作(マップ上への描画を含む)。
  • 時間および/または距離に基づくマージおよび分割。
  • GPSで収集された標高をDEM/SRTM標高に置き換えます。
  • トラックの一部のプロパティの計算(合計上昇、平均速度、距離、経過時間)。

カプセル化された、おそらく言語に依存しないライブラリ/ APIを理想的に可能にする方法で、これらのオブジェクトとそのメソッドをモデル化しようとするいくつかの小さなライブラリ(GpxPyなど)があります。

事実、この問題は「一般的に受け入れられている標準」が出現するのに十分な長さですよね。一方、ほとんどのGISソフトウェアは、地理空間分析、地形および地図作成アプリケーションに非常に専門的に向けられていますが、一般的な旅行ログおよび旅行計画アプリケーションは、より消費者愛好家に向けられているようです。プロジェクト/アプリは問題を処理してモデル化します。

したがって、すべてを考慮すると、問題は次のとおりです。現在または計画中、オブジェクト指向の方法で、最も使用されているGPS / Tracklogエンティティとその正規の属性およびメソッドを標準的にモデル化する方法はありますか?

GPXスキーマがあり、私が想像するものに非常に近いですが、メソッドではなく、オブジェクトと属性のみが含まれています。

どんな情報でも大歓迎です、ありがとう!

4

2 に答える 2

3

私の知る限り、「ルート」データの保存/操作/処理に関しては、標準のライブラリ、インターフェイス、または確立された一連のベストプラクティスさえありません。Ride with GPSではこれらの問題に多大な努力を払ってきましたが、関連する問題を解決する他のサイトでも同じことが言えると思います。基準があればいいのにと思います。誰かと一緒に仕事をしたいと思っています。

GPXは問題なく、一種の標準のように見えます...少なくともGPXファイルの処理を開始し、心拍数、ケイデンス、パワーなどのデータを処理するために、全員が同時に独自のカスタム拡張機能をフォーマットに追加していることに気付くまでは。また、ルートポイントをトラックポイントに関連付ける標準的な方法はありません。ルートの「パンくずトレイル」は一連のtrkpt要素として表され、コースポイント(「左折して4番街」など)は別の一連のrtept要素で表されます。理想的には、コースポイントに緯度と経度を与えるだけでなく、特定のコースポイントを特定のトラックポイントに関連付けたいと考えています。パスが同じ通りで複数のループを実行する場合、コースポイントをルートに沿って接続する必要がある場所にあいまいさが生じる可能性があります。

KMLとGarminのTCX形式はGPXに似ていますが、それぞれ長所と短所があります。結局、これらのフォーマットは、実際にはプログラム間でデータを転送する目的にのみ役立ちます。これらは、プログラムでデータを表現する方法や、データに対して実行できる操作の種類の問題には対応していません。

トラックデータをオブジェクトの配列として保存し、キーは緯度、経度、標高、開始からの時間、開始からの距離、速度、心拍数などのさまざまな属性に対応します。さらに、ルートに沿っていくつかのメタデータを保存して指定します各セクションの詳細。トラックポイントの配列を解析するとき、このメタデータを使用してルートを一連のセグメントに分割します。セグメントは、分割、結合、削除、アタッチ、反転などが可能です。また、直線に沿ってポイントを補間するか、エンドポイント間の方向を表すパスを要求することによって、トラックポイントを生成する方法をカプセル化します。これらのメソッドを使用すると、ドラッグ/ドロップ編集やその他の一般的な操作をかなり簡単に実装できます。Routeオブジェクトは、複数のセグメントを含む操作を処理するために使用できます。1つの例は、セグメントで構成されるルート(いくつかの運転方向、直線、歩行方向など)があり、ルートを逆にしたい場合です。プロセスで設定を維持しながら、各セグメントにそれ自体を反転するように依頼できます。より高いレベルでは、Mapクラスを使用してインターフェイスを接続し、コマンドをルートにディスパッチし、一連のスナップショットまたは遷移関数を適切に更新して、適切な元に戻す/やり直しをサポートします。

ルートの操作と生成は目標の1つです。他のものは要約統計量を集約しており、効率的な視覚化/相互作用のためにデータを構造化しています。これらの問題は、データを取り込んで折れ線グラフを作成するシステムによってある程度解決されています。ここでは正確に新しい領域ではありません。ルートデータの興味深い特徴の1つは、x軸に2つの変数を選択できることです。開始からの時間と開始からの距離です。どちらも単調に増加しており、どちらも有用ですが異なるデータの解釈を提供します。距離のx軸を使用して標高のグラフを見ると、自転車が丘を上り下りするのが対称であることがわかります。時間のx軸を使用すると、上り坂の部分はかなり広くなります。これは、グラフ上でデータを視覚化することだけではありません。また、データを要約統計量に処理するときに行う決定にも変換されます。一部の加重平均は、時間に基づいて、一部は距離に基づいて計算するのが理にかなっています。最終的に必要な操作は、最小、最大、加重(独立変数の選択に基づく)平均、ポイントをフィルター処理してフィルター処理された最小/最大/平均を実行する機能(移動したポイントのみを使用、外れ値を無視など)です。 )、さまざまな平滑化関数(たとえば、総高度ゲインの計算を支援するため)、マップ/リデュース機能の基本概念(20〜30mphの間で費やした時間など)、および補間を含む固定ウィンドウ移動平均。後者は、最速の10分、または最高の平均心拍数の10分などを特定する場合に必要です。最後に、

興味のある方は、このすべての実際の例をここで見ることができます:http: //ridewithgps.com/trips/964148

下部のグラフは、マウスで移動し、ドラッグ選択してズームインできます。x軸には、距離/時間を切り替えるためのリンクがあります。下部の左側のサイドバーには、30秒と60秒のベストエフォートが表示されます。これらは、補間を使用した固定ウィンドウ移動平均で行われます。右側のサイドバーで、[メトリック]タブをクリックします。ドラッグ選択してグラフのセクションを拡大すると、選択内容を反映するようにすべてのメトリックが更新されます。

どんな質問にも喜んで答えるか、これらのアイデアのいくつかのある種の標準的またはオープンな実装について誰かと協力してください。

これはおそらくあなたが探していた答えではありませんが、あなたが探しているように見える実際の基準を認識していないので、RidewithGPSで私たちがどのように物事を行うかについていくつかの詳細を提供すると思いました。

ありがとう!

于 2012-10-26T09:16:42.187 に答える
1

いくつかのより深い調査の後、記録のために、またこれを探している将来の人々の助けのために、ISOとOGCの2つのエンティティによって行われた、この主題に関するかなり徹底的な作業について言及する義務があると感じています.ISOとOGC.

ISO (国際標準化機構) の " TC 211 - Geographic information/Geomatics " セクションには、ほぼすべてが含まれています。

OGS (Open Geospatial Consortium) の抽象仕様は非常に広範であり、同時に冗長であり、ISO を補完しています。

提案されたアプリケーション (GPS トラックとウェイポイントの分析と操作) に関連するオブジェクト メソッドが含まれているかどうかはわかりませんが、これらのドキュメントに含まれるコア コンセプトがしっかりしていることは確かです。UML は、選択したスキーマ表現です。


ISO 6709 "[...] は、データ交換で使用される緯度と経度を含む座標の表現を指定します。さらに、緯度と経度以外の座標タイプを使用して水平ポイント位置の表現を指定します。高さの表現も指定しますおよび水平座標に関連付けることができる深さ. 表現には測定単位と座標順序が含まれます.

ISO 19107は、「地理的特徴の空間特性を記述するための概念スキーマと、これらのスキーマと一致する一連の空間操作を指定します。3 次元までのベクトル ジオメトリとトポロジを扱います。アクセス、クエリ、管理で使用するための標準的な空間操作を定義します。最大 3 つの軸の座標空間に埋め込まれた最大 3 つの位相次元の空間 (幾何学的および位相的) オブジェクトの地理情報の処理、およびデータ交換。


何か新しいものを見つけたら、利用可能な場合はリンクを含めて、これを編集するために戻ってきます.

于 2012-10-27T14:12:40.737 に答える