ST_AsTable は、軌道オブジェクトを複数の行に変換します。各行には、タイムスタンプおよび軌道上の 1 ポイントの x 座標と y 座標が含まれます。
構文
trajectory ST_AsTable (trajectory traj);パラメーター
| パラメーター | 説明 |
|---|---|
| traj | 元の軌道です。 |
説明
ST_AsTable は、軌道オブジェクトを個別の行に分解します。出力列の構造は、「ST_makeTrajectory」の構文 5 で定義されたものと一致します。
| 列 | 型 | 説明 |
|---|---|---|
t | timestamp | 軌道上のポイントのタイムスタンプです。 |
x | double precision | ポイントの x 座標です。 |
y | double precision | ポイントの y 座標です。 |
例
タプルとして行を返す
ST_AsTable を SELECT 文内で直接呼び出すと、各軌道ポイントが匿名タプルとして返されます。
-- タプル形式の出力
With traj AS (
select '{"trajectory":{"version":1,"type":"STPOINT","leafcount":2,"start_time":"2010-01-01 11:30:00","end_time":"2010-01-01 12:30:00","spatial":"SRID=4326;LINESTRING(1 1,3 5)","timeline":["2010-01-01 11:30:00","2010-01-01 12:30:00"]}}'::trajectory a
)
select ST_AsTable(a) from traj;
st_astable
-----------------------------
("2010-01-01 11:30:00",1,1)
("2010-01-01 12:30:00",3,5)
(2 rows)名前付きテーブルとして行を返す
AS f(col type, ...) エイリアスを使用して列名および型を割り当てることで、出力をリレーショナルテーブルとして直接クエリ可能な形式にできます。
-- テーブル形式の出力
select * from ST_AsTable('{"trajectory":{"version":1,"type":"STPOINT","leafcount":2,"start_time":"2010-01-01 11:30:00","end_time":"2010-01-01 12:30:00","spatial":"SRID=4326;LINESTRING(1 1,3 5)","timeline":["2010-01-01 11:30:00","2010-01-01 12:30:00"]}}'::trajectory) as f(t timestamp,x double precision, y double precision);
t | x | y
---------------------+---+---
2010-01-01 11:30:00 | 1 | 1
2010-01-01 12:30:00 | 3 | 5
(2 rows)関連ドキュメント
ST_makeTrajectory —
ST_AsTableの出力テーブル構造は、この関数の構文 5 で定義されています。