Spatiotemporal relationships
tContains(geometry,tnpoint) → tbool
tCovers(geometry,tnpoint) → tbool
tDisjoint({geometry,tnpoint},{geometry,tnpoint}) → tbool
tDwithin({geometry,tnpoint},{geometry,tnpoint},float) → tbool
tIntersects({geometry,tnpoint},{geometry,tnpoint}) → tbool
tTouches(geometry,tnpoint) → tbool
tTouches(tnpoint,geometry) → tbool
The temporal relationships compute the topological or distance relationship at each instant and result in a tbool. A temporal network point answers them at the position its route and fraction resolve to. The temporal network point declares the relationships a moving point answers: tContains and tCovers take the geometry first only, and tTouches has no direction between two temporal network points, since a moving point neither contains nor covers a geometry and two moving points do not touch.
SELECT tContains(geometry 'SRID=5676;Polygon((0 0,0 50,50 50,50 0,0 0))',
tnpoint '[Npoint(1, 0.1)@2001-01-01, Npoint(1, 0.3)@2001-01-03]');
-- {[f@2001-01-01, f@2001-01-03]}
SELECT tCovers(geometry 'SRID=5676;Polygon((0 0,0 50,50 50,50 0,0 0))',
tnpoint 'Npoint(1, 0.1)@2001-01-01');
-- f@2001-01-01
SELECT tDisjoint(geometry(npoint 'NPoint(2, 0.0)'),
tnpoint '[Npoint(1, 0.1)@2001-01-01, Npoint(1, 0.3)@2001-01-03]');
-- {[t@2001-01-01, t@2001-01-03]}
SELECT tTouches(tnpoint 'Npoint(1, 0.1)@2001-01-01', geometry 'SRID=5676;
Polygon((0 0,0 50,50 50,50 0,0 0))');
-- f@2001-01-01
SELECT tIntersects(tnpoint '[Npoint(1, 0.1)@2001-01-01, Npoint(1, 0.3)@2001-01-03]',
tnpoint '[Npoint(1, 0.3)@2001-01-01, Npoint(1, 0.1)@2001-01-03]');
-- {[f@2001-01-01, t@2001-01-02], (f@2001-01-02, f@2001-01-03]}
SELECT tDwithin(tnpoint '[Npoint(1, 0.3)@2001-01-01, Npoint(1, 0.5)@2001-01-03]',
tnpoint '[Npoint(1, 0.5)@2001-01-01, Npoint(1, 0.3)@2001-01-03]', 1);
/* {[f@2001-01-01, t@2001-01-01 22:19:04.400634,
t@2001-01-02 01:40:55.599365], (f@2001-01-02 01:40:55.599365, f@2001-01-03]} */