STS_Speed function
The STS_Speed function returns the average speed for a specified trajectory.
Syntax
STS_Speed(
begin_time DATETIME YEAR TO FRACTION(5),
end_time DATETIME YEAR TO FRACTION(5),
geometry ST_Geometry,
uom VARCHAR(128) DEFAULT 'kph')
returns FLOAT
- begin_time
- The time when the object was at the beginning of the line. Can be NULL to indicate the first element in the time series.
- end_time
- The time when the object was at the end of the line. Can be NULL to indicate the last element in the time series.
- geometry
- The geometry that represents the region of interest. Can be an ST_Point, ST_MultiPoint, ST_LineString, ST_MultiLineString, ST_Polygon, or ST_MultiPolygon. Must use the SRID 4326.
- uom
- The unit of measure for the speed. Default is
kph
. The string is ISO Latin1 (8859-1) and case does not matter.You can specify the uom as linear_uom / time_uom, where linear_uom is any linear unit of measure that is defined for spatial data types, and time_uom can be any of the following strings:
day
,hour
(orh
, orhr
),minute
(orm
ormin
) orsecond
(ors
orsec
). Other supported abbreviations include:km/h
,kmph
(kilometer/hour),mph
(mile_us/hour),mps
(mile_us/second),fps
(foot_us/second),m/s
(meter/second), andkn
(nautical_mile/hour).
Usage
Run the STS_Speed function when you want to find the average speed of an object for a specific trajectory or a time range.
Returns
A floating number = The speed, in the specified unit of measure.
An exception = An error.
Example
The following query returns the average speed of the vehicles while they were moving:
SELECT round(STS_Speed(begin_time, end_time, geometry, 'kph'), 2)
FROM t_vehicle_subtrack
WHERE state = 0;
(expression)
18.25
8.16