Return a temporal circular buffer simplified ensuring that consecutive centers are at least a certain distance or time interval apart
minDistSimplify(tcbuffer,mindist float) → tcbuffer
minTimeDeltaSimplify(tcbuffer,mint interval) → tcbuffer
The simplification operates on the center trajectory of the temporal circular buffer and preserves the radius at each surviving instant. Simplification applies only to temporal sequences or sequence sets with linear interpolation. In all other cases, a copy of the given value is returned.
Return a temporal circular buffer simplified using the Douglas-Peucker algorithm
maxDistSimplify(tcbuffer,maxdist float,syncdist=true) → tcbuffer
douglasPeuckerSimplify(tcbuffer,maxdist float,syncdist=true) → tcbuffer
The difference between the two functions is that maxDistSimplify uses a single-pass version of the algorithm whereas douglasPeuckerSimplify uses the standard recursive algorithm. As for the functions above, the simplification operates on the center trajectory and preserves the radius at each surviving instant.
SELECT asText(douglasPeuckerSimplify(tcbuffer '[Cbuffer(Point(1 1),0.5)@2000-01-01,
Cbuffer(Point(2 2),0.5)@2000-01-02, Cbuffer(Point(3 1),0.5)@2000-01-03,
Cbuffer(Point(4 4),0.5)@2000-01-04]', 2.0));
-- {Cbuffer(POINT(1 1),0.5)@2000-01-01 00:00:00+01, Cbuffer(POINT(4 4),0.5)@2000-01-04 00:00:00+01}