すべてのプロダクト
Search
ドキュメントセンター

ApsaraDB RDS:ST_AsTable

最終更新日:Mar 28, 2026

ST_AsTable は、軌道オブジェクトを複数の行に変換します。各行には、タイムスタンプおよび軌道上の 1 ポイントの x 座標と y 座標が含まれます。

構文

trajectory ST_AsTable (trajectory traj);

パラメーター

パラメーター説明
traj元の軌道です。

説明

ST_AsTable は、軌道オブジェクトを個別の行に分解します。出力列の構造は、「ST_makeTrajectory」の構文 5 で定義されたものと一致します。

説明
ttimestamp軌道上のポイントのタイムスタンプです。
xdouble precisionポイントの x 座標です。
ydouble precisionポイントの y 座標です。

タプルとして行を返す

ST_AsTableSELECT 文内で直接呼び出すと、各軌道ポイントが匿名タプルとして返されます。

-- タプル形式の出力
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_makeTrajectoryST_AsTable の出力テーブル構造は、この関数の構文 5 で定義されています。