Constructor for temporal circular buffers having a constant value
tcbuffer(cbuffer,timestamptz) → tcbufferInst
tcbuffer(cbuffer,tstzset) → tcbufferDiscSeq
tcbuffer(cbuffer,tstzspan,interp='linear') → tcbufferContSeq
tcbuffer(cbuffer,tstzspanset,interp='linear') → tcbufferSeqSet
SELECT asText(tcbuffer('Cbuffer(Point(1 1), 0.5)', timestamptz '2001-01-01')); -- Cbuffer(Point(1 1),0.5)@2001-01-01 SELECT asText(tcbuffer('Cbuffer(Point(1 1), 0.3)', tstzset '{2001-01-01, 2001-01-03, 2001-01-05}')); /* {Cbuffer(Point(1 1),0.3)@2001-01-01, Cbuffer(Point(1 1),0.3)@2001-01-03, Cbuffer(Point(1 1),0.3)@2001-01-05} */ SELECT asText(tcbuffer('Cbuffer(Point(1 1), 0.5)', tstzspan '[2001-01-01, 2001-01-02]')); -- [Cbuffer(Point(1 1),0.5)@2001-01-01, Cbuffer(Point(1 1),0.5)@2001-01-02] SELECT asText(tcbuffer('Cbuffer(Point(1 1), 0.2)', tstzspanset '{[2001-01-01, 2001-01-03]}', 'step')); -- Interp=Step;{[Cbuffer(Point(1 1),0.2)@2001-01-01, Cbuffer(Point(1 1),0.2)@2001-01-03]}
Constructor for temporal circular buffers of sequence subtype
tcbufferSeq(tcbufferInst[],interp={'step','linear'},leftInc bool=true,
rightInc bool=true) →tcbufferSeq
SELECT asText(tcbufferSeq(ARRAY[tcbuffer 'Cbuffer(Point(1 1), 0.3)@2001-01-01', 'Cbuffer(Point(2 2), 0.5)@2001-01-02', 'Cbuffer(Point(1 1), 0.5)@2001-01-03'])); /* {Cbuffer(Point(1 1),0.3)@2001-01-01, Cbuffer(Point(2 2),0.5)@2001-01-02, Cbuffer(Point(1 1),0.5)@2001-01-03} */ SELECT asText(tcbufferSeq(ARRAY[tcbuffer 'Cbuffer(Point(1 1), 0.2)@2001-01-01', 'Cbuffer(Point(1 1), 0.4)@2001-01-02', 'Cbuffer(Point(1 1), 0.5)@2001-01-03'])); /* [Cbuffer(Point(1 1),0.2)@2001-01-01, Cbuffer(Point(1 1),0.4)@2001-01-02, Cbuffer(Point(1 1),0.5)@2001-01-03] */
Constructor for temporal circular buffers of sequence set subtype
tcbufferSeqset(tcbuffer[]) → tcbufferSeqSet
tcbufferSeqSetGaps(tcbufferInst[],maxt=NULL,maxdist=NULL,interp='linear') →
tcbufferSeqSet
SELECT asText(tcbufferSeqSet(ARRAY[tcbuffer '[Cbuffer(Point(1 1),0.2)@2001-01-01, Cbuffer(Point(2 2),0.4)@2001-01-02]', '[Cbuffer(Point(2 2),0.6)@2001-01-03, Cbuffer(Point(2 2),0.8)@2001-01-04]'])); /* {[Cbuffer(Point(1 1),0.2)@2001-01-01, Cbuffer(Point(2 2),0.4)@2001-01-02], [Cbuffer(Point(2 2),0.6)@2001-01-03, Cbuffer(Point(2 2),0.6)@2001-01-04]} */ SELECT asText(tcbufferSeqSetGaps(ARRAY[tcbuffer 'Cbuffer(Point(1 1),0.1)@2001-01-01', 'Cbuffer(Point(1 1),0.3)@2001-01-03', 'Cbuffer(Point(1 1),0.5)@2001-01-05'], '1 day')); /* {[Cbuffer(Point(1 1),0.1)@2001-01-01], [Cbuffer(Point(1 1),0.3)@2001-01-03], [Cbuffer(Point(1 1),0.5)@2001-01-05]} */
Construct a temporal circular buffer from a temporal geometry point and a temporal float
tcbuffer(tgeompoint, tfloat) → tcbuffer
The time frame of the result is the intersection of the time frames of the temporal point and the temporal float. If they do not intersect, a null value is returned
SELECT asText(tcbuffer(tgeompoint '[POINT(1 1)@2001-01-01, POINT(2 2)@2001-01-02)', tfloat '[1@2001-01-01, 2@2001-01-02)')); -- [Cbuffer(Point(1 1),1)@2001-01-01, Cbuffer(Point(1 1),2)@2001-01-02) SELECT asText(tcbuffer(tgeompoint '[POINT(1 1)@2001-01-01, POINT(2 2)@2001-01-02)', tfloat '[2@2001-01-03, 3@2001-01-04)')); -- NULL