このトピックでは、ST_Angle関数について説明します。 この関数は、各中間点での軌道の回転角を計算し、浮動小数点数の配列を返します。
構文
double precision[] ST_Angle (弾道traj、ブールhasdirectionデフォルトfalse);
パラメーター
パラメーター | 説明 |
traj | 軌道オブジェクト。 |
hasdirection | 軌道の回転方向を計算するかどうかを指定します。 |
説明
この関数は、各中間点における軌道の回転角度を計算する。 軌道がn個の点を有する場合、軌道の中間点の数は、nと2との間の差である。
軌道が中間点で直線に沿って移動する場合、軌道の回転角度は0である。
軌道が中間点で変化しない場合、軌道の回転角度はNaNである。
例
SELECT ST_Angle('{"trajectory":{"version":1,"type":"STPOINT","leafcount":9,"start_time":"2000-01-01 00:00:00","end_time":"2000-01-09 00:00:00" 、"空間":"LINESTRING(0 0,0 10,10 10,20 0,30 0,20 10,0 0)" 、"[" 2000-01-01 00:00:00 "、" 2000-01-02 00:00:00 "、" 2000-01-03 00:00:00 "、" 2000-01-04 00:00:00:00 "、" 2000-01-05 00:00:00 "、" 2000-01-06 00:00 "、" 2000-01-07 00:00:00 "、" 2000-01-08 00:00 "、" 2000-01-09 00:00:00 "]}':: 軌道);
st_angle
-------------------------
{90,0,45,NaN,NaN,45,90}
(1行)
SELECT ST_Angle('{"trajectory":{"version":1,"type":"STPOINT","leafcount":9,"start_time":"2000-01-01 00:00:00","end_time":"2000-01-09 00:00:00" 、"空間":"LINESTRING(0 0,0 10,10 10,20 0,30 0,20 10,0 0)" 、"[" 2000-01-01 00:00:00 "、" 2000-01-02 00:00:00 "、" 2000-01-03 00:00:00 "、" 2000-01-04 00:00:00:00 "、" 2000-01-05 00:00:00 "、" 2000-01-06 00:00 "、" 2000-01-07 00:00:00 "、" 2000-01-08 00:00 "、" 2000-01-09 00:00:00 "]}'::trajectory, true);
st_angle
---------------------------
{90,0、45、NaN、NaN、-45、-90}
(1行)