Constructor for temporal poses having a constant value
tpose(pose,timestamptz) → tposeInst
tpose(pose,tstzset) → tposeDiscSeq
tpose(pose,tstzspan,interp text='linear') → tposeContSeq
tpose(pose,tstzspanset,interp text='linear') → tposeSeqSet
tposechain(posechain,{timestamptz,tstzset}) → tposechain
tposechain(posechain,{tstzspan,tstzspanset},interp text='linear') → tposechain
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]}
SELECT asEWKT(tposechain(posechain 'PoseChain(Pose(Point(1 1), 0.5))',
timestamptz '2001-01-01'));
-- PoseChain(Pose(POINT(1 1),0.5))@2001-01-01
SELECT asEWKT(tposechain(posechain 'PoseChain(Pose(Point(1 1), 0.5))',
tstzset '{2001-01-01, 2001-01-02}'));
/* {PoseChain(Pose(POINT(1 1),0.5))@2001-01-01,
PoseChain(Pose(POINT(1 1),0.5))@2001-01-02} */
SELECT asEWKT(tposechain(posechain 'PoseChain(Pose(Point(1 1), 0.5))',
tstzspan '[2001-01-01, 2001-01-02]'));
/* [PoseChain(Pose(POINT(1 1),0.5))@2001-01-01,
PoseChain(Pose(POINT(1 1),0.5))@2001-01-02] */
Constructor for temporal poses of sequence subtype
tposeSeq(tposeInst[],interp text={'step','linear'},lower_inc boolean=true,
upper_inc boolean=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 interval=NULL,maxdist float=NULL, interp text='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(2 2),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