ST_attrDefinition

Updated at:
Copy as MD

Returns the attribute definitions of a trajectory object as a JSON string.

Syntax

text ST_attrDefinition(trajectory traj);

Parameters

ParameterDescription
trajThe trajectory object.

Return value

A JSON string describing all attributes in the trajectory. Each attribute entry includes the following fields:

FieldDescription
sizeThe number of attributes.
typeThe data type of the attribute. Valid values: integer, float, string, timestamp, bool.
lengthThe storage length of the attribute, in bytes.
nullableSpecifies whether the attribute allows null values.

Examples

The following example creates a trajectory object with five attributes—velocity, speed, angle, tngel2, and bearing—and calls ST_attrDefinition to retrieve their definitions.

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"],"attributes":{"leafcount":2,"velocity":{"type":"integer","length":4,"nullable":true,"value":[1,null]},"speed":{"type":"float","length":8,"nullable":true,"value":[null,1.0]},"angle":{"type":"string","length":64,"nullable":true,"value":["test",null]},"tngel2":{"type":"timestamp","length":8,"nullable":true,"value":["2010-01-01 12:30:00",null]},"bearing":{"type":"bool","length":1,"nullable":true,"value":[null,true]}}}}'::trajectory a)
SELECT ST_attrDefinition(a) FROM traj;

Output:

                                                                                                                                      st_attrdefinition
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
 {"size":5,"velocity":{"type":"integer","length":4,"nullable":true},"speed":{"type":"float","length":8,"nullable":true},"angle":{"type":"string","length":64,"nullable":true},"tngel2":{"type":"timestamp","length":8,"nullable":true},"bearing":{"type":"bool","length":1,"nullable":true}}
(1 row)