多数の車両の位置データを含むPostGISテーブルがあり、これらのポイントからラインを作成したいと考えています。
データは車両IDで選択し、タイムスタンプで並べ替えることができますが、結果から行を作成する方法は?
基本的に必要なのは、ポイント1からポイント2までの1つのラインセグメントで、ラインをファイナライズしてから、ポイント2からポイント3までです。
後者は、ある地点から次の地点までの車両の走行方向と速度を計算するために必要です。
1
GROUP BY vehicle_idとORDER BYタイムスタンプが算出されると、ST_MakeLine()関数がこれを実行します。参照:postgis.refractions.net/docs/ST_MakeLine.html
—
Micha
わかりました、私は単にそれを試してみて、次のステートメントを発行しました:
—
トーマスベッカー2013年
SELECT ais_data.mmsi, ST_MakeLine(ais_data.geom) AS newgeom INTO ais_lines FROM (SELECT * FROM ais_data ORDER BY ais_data.mmsi, ais_data.bs_ts ASC) AS ais_data GROUP BY ais_data.mmsi;
それは私にすべての車両のトラックを与えるでしょう、そして私が正確に必要とするものではありません。ポイント1からポイント2へのラインを作成するようにST_MakeLine()に指示する方法、ラインをファイナライズし、ポイント2からポイント3へ新しいラインを開始する...?
「ポイント1」、「ポイント2」、「ポイント3」とは何ですか?それらをどのように認識しますか?
—
Micha 2013年
タイムスタンプの順序でそれらを認識しようと思った...-
—
トーマスベッカー
ORDER BY ais_data.bs_ts
それは可能ですか?したがって、ポイント1、ポイント2などは、基本的に、Selectステートメントの結果として各行に与えられるポイント情報です。
あなたは、最初の段階で車両ごとに1行を生成した後、メーリングリストたPostGISからヒントを使用して、このラインから頂点を生成することができpostgis.17.x6.nabble.com/...を
—
ThomasG77