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

PolarDB:ST_AsTable

最終更新日:Mar 29, 2026

ST_AsTable は、trajectory オブジェクトを、軌道上の各ポイントごとに 1 行のレコードを持つテーブルに変換します。各行にはタイムスタンプおよび対応する空間座標が含まれます。

構文

trajectory ST_AsTable (trajectory traj);

パラメーター

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

説明

ST_AsTable は、trajectory 値を複数の行に展開します。出力スキーマは、「ST_makeTrajectory」(構文 5)で定義されたポイントベースのフォーマットと一致します。各行には以下の 3 つのフィールドが含まれます:

  • t (timestamp):軌道ポイントのタイムスタンプ

  • x (double precision):x 座標

  • y (double precision):y 座標

名前付き・型指定済みのカラムを取得するには、ST_AsTableFROM 句内で呼び出し、カラムエイリアス句を指定します:AS f(t timestamp, x double precision, y double precision)

軌道ポイントをタプルとして返す

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)

軌道ポイントを型指定済みテーブルに展開する

ST_AsTableSELECT * とともに、カラムエイリアス句を指定して呼び出すと、軌道ポイントが名前付き・型指定済みのカラムに展開されます。この形式は、標準 SQL を用いたフィルター処理、結合、または集計などに適しています。

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)