このトピックでは、ST_InsertAttr関数について説明します。 この関数は、属性を軌跡に挿入します。
構文
軌道ST_InsertAttr (軌道traj、anyarray arr、テキスト名、整数loc default -1);
戻り値
新しい軌道。
パラメーター
パラメーター | 説明 |
traj | 元の軌道。 |
arr | 新しい属性の値を含む配列。 |
name | 新しい属性の名前。The name of the new attribute. |
loc | 新しい属性が挿入される位置。 有効値: [-n,n] 。 nの値は、既存の属性の数を示す。
|
説明
この関数は、新しい属性を含む配列を軌道に挿入します。
例
traj as (ST_MakeTrajectoryを選択します ('STPOINT '::leaftype、
st_geomfromtext('LINESTRING (114 35、115 36、116 37)'、4326) 、
'[2010-01-01 14:30, 2010-01-01 15:30)'::tsrange,
'{"leafcount":3,"attributes": {"velocity": {"type": "integer", "length": 2,"nullable" : true,"value": [120, 130, 140]}, "accuracy": {"type": "float", "length": 4, "nullable" : false,"value" [120、130、140]} 、"bearing": {"type": "float" 、"length": 8、"nullable" : false、"value": [120、130、140]} 、"acceleration": {"type": "string" 、"length": 20、"nullable" : true、"value" ["120", "130", "140"]}, "active": {"type": "timestamp", "nullable" : false,"value": ["Fri Jan 01 14:30:00 2010", "Fri Jan 01 15:00:00 2010", "Fri Jan 01 15:30:00 2010"]}}') as tj)
SELECT ST_InsertAttr(tj, ARRAY [1,4, 6], 'add', 3) from traj;
結果:
{"trajectory":{"version":1,"type":"STPOINT","leafcount":3,"start_time":"2010-01-01 14:30:00","end_time":"2010-01-01 15:01 30:00","spatial":"SRID=4326;LINESTRING(114 35,115 36,116 37)" 、"タイムライン" ["2010-01-01 14:30:00" 、"2010-01-01 15:00:00" 、"2010-01-01 15:30:00"] 、"attributes":{"leafcount":3、"velocity":{"type":"integer" 、"length":2、"nullable":true、"value":[120,130,140]} 、"accuracy" {"type":"float" 、"length":4、"nullable":false、"value":[120.0、130.0、140.0]} 、"bearing":{"type":"float" 、"length":8、"nullable":false、"value":[120.0、130.0、140.0]} 、"add":{"type":"integer" 、"length":4、"nullable":true、"value":[1,4,6]} 、"acceleration":{"type":"string" 、"length":20、"nullable":true、"value":["120" 、"130" 、"140"]} 、"active":{"type":"timestamp","length":8,"nullable":false,"value":["2010-01-01 14:30:00","2010-01-01 15:00:00","2010-01-01 15:30:00"]}}}}