ST_attrIntAverage

更新时间:
复制 MD 格式

Returns the average value of an integer attribute field across all points in a trajectory.

Syntax

int8 ST_attrIntAverage(trajectory traj, cstring attr_field_name);

Parameters

ParameterDescription
trajThe trajectory object.
attr_field_nameThe name of the integer attribute field.

Examples

The following example computes the average of the heading attribute field for a trajectory with 16 points. The heading values range from 0 to 15, so the average is 7.

SELECT st_attrIntAverage(
  ST_makeTrajectory(
    'STPOINT'::leaftype,
    'LINESTRING(-179.48077 51.72814,-179.46731 51.74634,-179.46502 51.74934,-179.46183 51.75378,-179.45943 51.75736,-179.45560 51.76273,-179.44845 51.77186,-179.43419 51.78977,-179.41259 51.81643,-179.41001 51.81941,-179.40751 51.82223,-179.40497 51.82505,-179.40242 51.82796,-179.39981 51.83095,-179.39734 51.83398,-179.39499 51.83709)'::geometry,
    ARRAY['2017-01-15 09:06:39'::timestamp,'2017-01-15 09:14:48','2017-01-15 09:13:39','2017-01-15 09:16:28','2017-01-15 09:19:48','2017-01-15 09:17:48','2017-01-15 09:23:19','2017-01-15 09:34:40','2017-01-15 09:30:28','2017-01-15 09:36:59','2017-01-15 09:38:09','2017-01-15 09:39:18','2017-01-15 09:40:40','2017-01-15 09:47:38','2017-01-15 21:18:30','2017-01-15 09:48:49'],
    '{"leafcount": 16, "attributes": {"heading": {"type": "integer", "length": 4, "nullable": false, "value": [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15]}}}'
  ),
  'heading'
);

Result:

 st_attrintaverage
-------------------
                 7