Relaciones espaciotemporales
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
Las relaciones temporales calculan la relación topológica o de distancia en cada instante y dan como resultado un tbool. Una geometría rígida cubre un área, por lo que todas las relaciones se declaran en ambas direcciones y entre dos geometrías rígidas temporales.
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 utiliza la distancia temporal de “Operaciones de distancia”, con los mismos requisitos sobre las geometrías. Su resultado cambia en los instantes exactos en los que la distancia cruza la distancia dada. En el ejemplo, un cuadrado gira un cuarto de vuelta junto a un punto. Está a menos de 1.7 del punto desde las 07:26:20 hasta las 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]}