Constructor for temporal poses having a constant value
tpose(pose,timestamptz) → tposeInst
tpose(pose,tstzset) → tposeDiscSeq
tpose(pose,tstzspan,interp='linear') → tposeContSeq
tpose(pose,tstzspanset,interp='linear') → tposeSeqSet
SELECT asText(tpose('Pose(Point(1 1), 0.5)', timestamptz '2001-01-01')); -- Pose(Point(1 1),0.5)@2001-01-01 SELECT asText(tpose('Pose(Point Z(1 1 1), 0.5, 0.5, 0.5, 0.5)', tstzset '{2001-01-01, 2001-01-05}')); /* {Pose(POINT Z (1 1 1),0.5,0.5,0.5,0.5)@2001-01-01, Pose(POINT Z (1 1 1),0.5,0.5,0.5,0.5)@2001-01-05} */ SELECT asText(tpose('Pose(Point(1 1), 0.5)', tstzspan '[2001-01-01, 2001-01-02]')); -- [Pose(Point(1 1),0.5)@2001-01-01, Pose(Point(1 1),0.5)@2001-01-02] SELECT asText(tpose('Pose(Point(1 1), 0.2)', tstzspanset '{[2001-01-01, 2001-01-03]}', 'step')); -- Interp=Step;{[Pose(Point(1 1),0.2)@2001-01-01, Pose(Point(1 1),0.2)@2001-01-03]}
Constructor for temporal poses of sequence subtype
tposeSeq(tposeInst[],interp={'step','linear'},leftInc bool=true,
rightInc bool=true) → tposeSeq
SELECT asText(tposeSeq(ARRAY[tpose 'Pose(Point(1 1), 0.3)@2001-01-01', 'Pose(Point(2 2), 0.5)@2001-01-02', 'Pose(Point(1 1), 0.5)@2001-01-03'])); /* {Pose(Point(1 1),0.3)@2001-01-01, Pose(Point(2 2),0.5)@2001-01-02, Pose(Point(1 1),0.5)@2001-01-03} */ SELECT asText(tposeSeq(ARRAY[tpose 'Pose(Point(1 1), 0.2)@2001-01-01', 'Pose(Point(1 1), 0.4)@2001-01-02', 'Pose(Point(1 1), 0.5)@2001-01-03'])); /* [Pose(Point(1 1),0.2)@2001-01-01, Pose(Point(1 1),0.4)@2001-01-02, Pose(Point(1 1),0.5)@2001-01-03] */
Constructor for temporal poses of sequence set subtype
tposeSeqSet(tpose[]) → tposeSeqSet
tposeSeqSetGaps(tposeInst[],maxt=NULL,maxdist=NULL,interp='linear') → tposeSeqSet
SELECT asText(tposeSeqSet(ARRAY[tpose '[Pose(Point(1 1),0.2)@2001-01-01, Pose(Point(2 2),0.4)@2001-01-02]', '[Pose(Point(2 2),0.6)@2001-01-03, Pose(Point(2 2),0.8)@2001-01-04]'])); /* {[Pose(Point(1 1),0.2)@2001-01-01, Pose(Point(2 2),0.4)@2001-01-02], [Pose(Point(2 2),0.6)@2001-01-03, Pose(Point(2 2),0.6)@2001-01-04]} */ SELECT asText(tposeSeqSetGaps(ARRAY[tpose 'Pose(Point(1 1),0.1)@2001-01-01', 'Pose(Point(1 1),0.3)@2001-01-03', 'Pose(Point(1 1),0.5)@2001-01-05'], '1 day')); /* {[Pose(Point(1 1),0.1)@2001-01-01], [Pose(Point(1 1),0.3)@2001-01-03], [Pose(Point(1 1),0.5)@2001-01-05]} */
Construct a 2D temporal pose from a temporal geometry point and a temporal float
tpose(tgeompoint, tfloat) → tpose
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(tpose(tgeompoint '[POINT(1 1)@2001-01-01, POINT(2 2)@2001-01-02)', tfloat '[1@2001-01-01, 2@2001-01-02)')); -- [Pose(Point(1 1),1)@2001-01-01, Pose(Point(1 1),2)@2001-01-02) SELECT asText(tpose(tgeompoint '[POINT(1 1)@2001-01-01, POINT(2 2)@2001-01-02)', tfloat '[2@2001-01-03, 3@2001-01-04)')); -- NULL