Spatiotemporal relationships
tContains({geometry,trgeometry},{geometry,trgeometry}) → tbool
tCovers({geometry,trgeometry},{geometry,trgeometry}) → tbool
tDisjoint({geometry,trgeometry},{geometry,trgeometry}) → tbool
tDwithin({geometry,trgeometry},{geometry,trgeometry},float) → tbool
tIntersects({geometry,trgeometry},{geometry,trgeometry}) → tbool
tTouches({geometry,trgeometry},{geometry,trgeometry}) → tbool
The temporal relationships compute the topological or distance relationship at each instant and result in a tbool. A rigid geometry covers an area, so every relationship is declared in both directions and between two temporal rigid geometries.
SELECT tIntersects(trgeometry 'Polygon((0 0,1 0,1 1,0 1,0 0)); [Pose(Point(0 0),0)@2001-01-01, Pose(Point(3 3),0)@2001-01-03]', geometry 'Polygon((0 0,0 2,2 2,2 0,0 0))'); -- [t@2001-01-01, f@2001-01-03]
tDwithin uses the temporal distance of the section called “Distance Operations”, with the same requirements on the geometries. Its result changes at the exact times at which the distance crosses the given distance. In the example, a square turns a quarter turn next to a point. It is within 1.7 of the point from 07:26:20 to 16:33:39.
SELECT tDwithin(trgeometry 'Polygon((-1 -1,1 -1,1 1,-1 1,-1 -1));
[Pose(Point(0 0),0)@2001-01-01, Pose(Point(0 0),1.5707963267948966)@2001-01-02]',
geometry 'Point(3 0)', 1.7);
-- {[f@2001-01-01, t@2001-01-01 07:26:20.193911, t@2001-01-01 16:33:39.806089],
-- (f@2001-01-01 16:33:39.806089, f@2001-01-02]}