Se aplican los accesores estándar de los tipos temporales: cada uno devuelve la geometría materializada en la marca de tiempo solicitada (la forma de referencia rotada y trasladada de acuerdo con la pose interpolada), o un valor de metadatos derivado de la trayectoria de pose.
Devuelve la geometría materializada al inicio, al final o en una marca de tiempo elegida
startValue(trgeometry) → geometry
endValue(trgeometry) → geometry
valueAtTimestamp(trgeometry, timestamptz) → geometry
SELECT asText(startValue(trgeometry 'Polygon((0 0,1 0,1 1,0 1,0 0));[Pose(Point(0 0), 0.0)@2001-01-01, Pose(Point(10 0), 0.0)@2001-01-02]')); -- POLYGON((0 0,1 0,1 1,0 1,0 0)) SELECT asText(valueAtTimestamp( trgeometry 'Polygon((0 0,1 0,1 1,0 1,0 0));[Pose(Point(0 0), 0.0)@2001-01-01, Pose(Point(10 0), 0.0)@2001-01-02]', timestamptz '2001-01-01 12:00:00')); -- POLYGON((5 0,6 0,6 1,5 1,5 0))
Tenga en cuenta que la rotación interpola linealmente a lo largo del camino angular más corto; una rotación de 90° entre dos instantes separados por un día devuelve un polígono rotado 45° en el punto medio.
Devuelve el número de instantes, secuencias o marcas de tiempo distintos
numInstants(trgeometry) → integer
numSequences(trgeometry) → integer
numTimestamps(trgeometry) → integer
Devuelve el arreglo de instantes, secuencias o segmentos entre instantes constituyentes
instants(trgeometry) → trgeometry[]
sequences(trgeometry) → trgeometry[]
segments(trgeometry) → trgeometry[]
SELECT array_length(
instants(trgeometry 'Polygon((0 0,1 0,1 1,0 1,0 0));{Pose(Point(0 0), 0.0)@2001-01-01, Pose(Point(5 0), 0.5)@2001-01-02, Pose(Point(0 0), 0.0)@2001-01-03}'),
1);
-- 3
Devuelve el conjunto de puntos del centroide (antena) distintos vistos a lo largo de la trgeometry
points(trgeometry) → geomset
SELECT asText(points(trgeometry 'Polygon((0 0,1 0,1 1,0 1,0 0));{Pose(Point(0 0), 0.0)@2001-01-01, Pose(Point(5 5), 0.0)@2001-01-02, Pose(Point(0 0), 0.0)@2001-01-03}'));
-- {"POINT(0 0)", "POINT(5 5)"}
Devuelve el ángulo de rotación como un flotante temporal
rotation(trgeometry) → tfloat
SELECT asText(rotation(trgeometry 'Polygon((0 0,1 0,1 1,0 1,0 0));[Pose(Point(0 0), 0.0)@2001-01-01, Pose(Point(0 0), 1.5)@2001-01-02]')); -- [0@..., 1.5@...]
Devuelve la geometría de referencia estática
geom(trgeometry) → geometry
SELECT ST_AsText(geom(trgeometry 'Polygon((0 0,1 0,1 1,0 1,0 0));Pose(Point(5 0), 0.5)@2001-01-01')); -- POLYGON((0 0,1 0,1 1,0 1,0 0))