ポイントを行にグループ化した後、グループに関する情報を保持したいと思います。
私のデータ。
ポイントの表(ポイントはセグメントごとにグループ化され、フレームごとにグループ化され、時間順に並べられます)
フレームごとにグループ化されたポイントの新しいテーブルを作成するために、次のSQLクエリがあります。
-- Create frames from points
CREATE TABLE data.greenland_2011_p3_frames
(frm_id serial PRIMARY KEY,
geom GEOMETRY (LineString,3413));
INSERT INTO data.greenland_2011_p3_segs(geom)
SELECT ST_MakeLine(geom) as point_geom
FROM (SELECT * FROM data.greenland_2011_p3 ORDER BY time) a GROUP BY frame;
新しいテーブルにフレーム値とセグメント値(元のテーブルから)を保持したい
したがって、新しいテーブルは次の形式になります。
frm_id geom frame segment
1 linestring ###### ######
2 linestring ###### ######
3 linestring ###### ######
... ... ... ...
これがフレーム/セグメントの例です
SEGMENT = 2011031614 (YYYYMMDD(SEG)) ***segment 14
FRAME = 2011031614001 or 2011031614002 (YYYYMMDD(SEG)(FRM)) ***segment 14 frames 1 and 2
編集:
これに2番目のステップを追加したいと思います。Mikeのソリューションを使用して、次のテーブルを作成しました。
frm_id geom frame segment
1 linestring *14001 *14
2 linestring *14002 *14
3 linestring *14003 *14
4 linestring *15001 *15
5 linestring *15002 *15
....
次のようなものを作成したいと思います。
seg_id geom segment frames
1 linestring *14 <*14001,*14002,*14003>
2 linestring *14 <*15001,*15002>
....
これはどのように達成できますか?