Las relaciones topológicas y de distancia descritas en “Relaciones espaciales”, como eIntersects, aDwithin o tContains, se definen en el espacio geográfico, mientras que los puntos de la red temporal se definen en el espacio de la red. Para aplicar estas relaciones espaciales a los puntos de la red temporal, estos deben transformarse en puntos geométricos temporales. Esto se puede realizar fácilmente mediante las funciones geometry y tgeompoint o mediante una conversión explícita de valores con ::, como se muestra en los ejemplos a continuación.
Relaciones alguna vez y siempre
SELECT eContains(geometry 'SRID=5676;Polygon((0 0,0 50,50 50,50 0,0 0))', tgeompoint(tnpoint '[NPoint(1, 0.1)@2001-01-01, NPoint(1, 0.3)@2001-01-03)')); -- false SELECT eDisjoint(geometry(npoint 'NPoint(2, 0.0)'), tgeompoint(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)'::tgeompoint, tnpoint '[NPoint(2, 0.0)@2001-01-01, NPoint(2, 1)@2001-01-03)'::tgeompoint); -- false
SELECT tContains(geometry 'SRID=5676;Polygon((0 0,0 50,50 50,50 0,0 0))',
tgeompoint(tnpoint '[NPoint(1, 0.1)@2001-01-01, NPoint(1, 0.3)@2001-01-03)'));
-- [f@2001-01-01 00:00:00+01, f@2001-01-03 00:00:00+01)
SELECT tDisjoint(geometry(npoint 'NPoint(2, 0.0)'),
tgeompoint(tnpoint '[NPoint(1, 0.1)@2001-01-01, NPoint(1, 0.3)@2001-01-03)'));
-- [t@2001-01-01 00:00:00+01, t@2001-01-03 00:00:00+01)
SELECT tDwithin(
tnpoint '[NPoint(1, 0.3)@2001-01-01, NPoint(1, 0.5)@2001-01-03)'::tgeompoint,
tnpoint '[NPoint(1, 0.5)@2001-01-01, NPoint(1, 0.3)@2001-01-03)'::tgeompoint, 1);
/* {[t@2001-01-01 00:00:00+01, t@2001-01-01 22:35:55.379053+01],
(f@2001-01-01 22:35:55.379053+01, t@2001-01-02 01:24:04.620946+01,
t@2001-01-03 00:00:00+01)} */