PostGISにタイムスタンプ付きのGPSトラックを保存する


8

データベースにタイムスタンプ付きの一連のGPSポイント(さまざまな車両のトレース)を保存する必要があります。

PostGISテーブルにそれらを格納するために選択する2つのアプローチのいずれかを考えています。

2.)ラインストリングまたはマルチラインストリングを4番目のM座標とともに使用します。これには、トラック上のポイントの時間のUNIXタイムスタンプが含まれます。これは、個別のトラックごとに1つの行を意味します。


UNIXタイムスタンプを含む4番目のM座標の意味がわかりません。より具体的にできますか?タイムスタンプを別のフィールドに保存する方が良いですか?
Benjamin Toueg

回答:


2

データベースに読み込まれた後のデータの処理方法によって異なります。各データポイントに時間に加えて関連する属性がある場合(たとえば、エンジンの温度の読み取り、写真)、またはポイントデータを分析で使用する場合は、各データを独自の行に保存することをお勧めします。

各トラックに関連付けられた属性(たとえば、イベント名)がある場合、または分析がトラック(たとえば、トラックの交差点を検索)で行われる場合、それぞれを(MULTI)LINESTRINGとして保存する方が理にかなっています。

1つの方法を選択しても、他の方法で分析を行うことはできます。それはいくつかの追加の手順が必要になります。


4

個人的には、GPSユニットによって収集されたデータをタイムスタンプフィールドのあるポイントレイヤーとして保存し、ラインストリングが必要な場合はST_Makelineを使用できます。Postgres 9.0+を使用している場合は、集計呼び出しでORDER BYを使用して、行が時系列でポイントからポイントに移動することを確認できます。作成された線に沿ってM値を失いますが、必要な場合は常にバックグラウンドでポイントレイヤーを配置できます。


0

ポイントxyzの座標「z」部分のタイムスタンプ値に使用し、秒(ミリ秒ではなく)から最初の座標の開始を差し引いて、大きな「z」値の格納を回避します。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.