Ever and always relationships
eContains(geometry,tnpoint) → boolean
eCovers(geometry,tnpoint) → boolean
eDisjoint({geometry,tnpoint},{geometry,tnpoint}) → boolean
eDwithin({geometry,tnpoint},{geometry,tnpoint},float) → boolean
eIntersects({geometry,tnpoint},{geometry,tnpoint}) → boolean
eTouches(geometry,tnpoint) → boolean
eTouches(tnpoint,geometry) → boolean
aContains(geometry,tnpoint) → boolean
aCovers(geometry,tnpoint) → boolean
aDisjoint({geometry,tnpoint},{geometry,tnpoint}) → boolean
aDwithin({geometry,tnpoint},{geometry,tnpoint},float) → boolean
aIntersects({geometry,tnpoint},{geometry,tnpoint}) → boolean
aTouches(geometry,tnpoint) → boolean
aTouches(tnpoint,geometry) → boolean
The ever and always relationships determine whether the topological or distance relationship is ever or always satisfied and result in a boolean. A temporal network point answers them at the position its route and fraction resolve to, so a sequence with linear interpolation is answered along its route rather than at its instants alone. The temporal network point declares the relationships a moving point answers: eContains, aContains, eCovers and aCovers take the geometry first only, and eTouches and aTouches have 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 eContains(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]'); -- false SELECT eCovers(geometry 'SRID=5676;Polygon((0 0,0 50,50 50,50 0,0 0))', tnpoint 'Npoint(1, 0.1)@2001-01-01'); -- false SELECT eDisjoint(geometry(npoint 'NPoint(2, 0.0)'), tnpoint '[Npoint(1, 0.1)@2001-01-01, Npoint(1, 0.3)@2001-01-03]'); -- true SELECT eIntersects(tnpoint '[Npoint(1, 0.1)@2001-01-01, Npoint(1, 0.3)@2001-01-03]', tnpoint '[Npoint(2, 0.0)@2001-01-01, Npoint(2, 1)@2001-01-03]'); -- false SELECT eTouches(tnpoint 'Npoint(1, 0.1)@2001-01-01', geometry 'SRID=5676; Polygon((0 0,0 50,50 50,50 0,0 0))'); -- false SELECT aDwithin(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); -- false