Transforma un búfer circular temporal en otro subtipo
tcbufferInst(tcbuffer) → tcbufferInst tcbufferSeq(tcbuffer) → tcbufferSeq tcbufferSeqSet(tcbuffer) → tcbufferSeqSet
SELECT asText(tcbufferSeq(tcbuffer 'Cbuffer(Point(1 1), 0.5)@2001-01-01', 'discrete'));
-- {Cbuffer(POINT(1 1),0.5)@2001-01-01}
SELECT asText(tcbufferSeq(tcbuffer 'Cbuffer(Point(1 1), 0.5)@2001-01-01'));
-- [Cbuffer(POINT(1 1),0.5)@2001-01-01]
SELECT asText(tcbufferSeqSet(tcbuffer 'Cbuffer(Point(1 1), 0.5)@2001-01-01'));
-- {[Cbuffer(POINT(1 1),0.5)@2001-01-01]}
Transforma un búfer circular temporal en otra interpolación
setInterp(tcbuffer,interp text) → tcbuffer
SELECT asText(setInterp(tcbuffer 'Cbuffer(Point(1 1),0.2)@2001-01-01','linear'));
-- [Cbuffer(POINT(1 1),0.2)@2001-01-01]
SELECT asText(setInterp(tcbuffer '{[Cbuffer(Point(1 1),0.1)@2001-01-01],
[Cbuffer(Point(1 1),0.2)@2001-01-02]}', 'discrete'));
-- {Cbuffer(POINT(1 1),0.1)@2001-01-01, Cbuffer(POINT(1 1),0.2)@2001-01-02}
Redondea los puntos y los radios del búfer circular temporal en el número de lugares decimales
round(tcbuffer,integer) → tcbuffer
SELECT asText(round(tcbuffer '{[Cbuffer(Point(1 1.123456789),0.123456789)@2001-01-01,
Cbuffer(Point(1 1),0.5)@2001-01-02)}', 3));
-- {[Cbuffer(POINT(1 1.123),0.123)@2001-01-01, Cbuffer(POINT(1 1),0.5)@2001-01-02)}
Extrae las subsecuencias en las que el búfer circular temporal permanece dentro de un área de un tamaño máximo dado durante al menos la duración dada
stops(tcbuffer,maxdist float=0.0,minduration interval='0 minutes') → tcbuffer
El tamaño del área es la mayor distancia entre dos centros de la subsecuencia, y una parada que comienza o termina en el primer o el último instante de una secuencia incluye ese instante solo si la secuencia lo incluye, como se indica para un punto temporal en stops.
SELECT asText(stops(tcbuffer '[Cbuffer(Point(1 1), 0.5)@2001-01-01,
Cbuffer(Point(1 1), 0.5)@2001-01-02, Cbuffer(Point(2 2), 0.5)@2001-01-03,
Cbuffer(Point(2 2), 0.5)@2001-01-04]'));
/* {[Cbuffer(POINT(1 1),0.5)@2001-01-01, Cbuffer(POINT(1 1),0.5)@2001-01-02],
[Cbuffer(POINT(2 2),0.5)@2001-01-03, Cbuffer(POINT(2 2),0.5)@2001-01-04]} */
Devuelve un valor temporal trasladado por los desplazamientos dados
translate(tcbuffer,deltax float,deltay float) → tcbuffer
El movimiento desplaza el centro de cada buffer circular y conserva su radio. Un buffer circular es plano, por lo que no admite desplazamiento vertical ni rotación alrededor de los ejes x o y.
El movimiento es una aplicación plana, por lo que un valor geodésico genera un error.
SELECT asText(translate(tcbuffer '[Cbuffer(Point(1 1),0.5)@2001-01-01, Cbuffer(Point(3 2),1)@2001-01-02]', 1, 2), 6); -- [Cbuffer(POINT(2 3),0.5)@2001-01-01, Cbuffer(POINT(4 4),1)@2001-01-02]
Devuelve un valor temporal rotado en sentido antihorario alrededor del origen o de un punto
rotate(tcbuffer,angle float) → tcbuffer rotate(tcbuffer,angle float,x0 float,y0 float) → tcbuffer
El movimiento desplaza el centro de cada buffer circular y conserva su radio. Un buffer circular es plano, por lo que no admite desplazamiento vertical ni rotación alrededor de los ejes x o y.
El movimiento es una aplicación plana, por lo que un valor geodésico genera un error.
SELECT asText(rotate(tcbuffer '[Cbuffer(Point(1 1),0.5)@2001-01-01, Cbuffer(Point(3 2),1)@2001-01-02]', 0.7, 1, 1), 6); /* [Cbuffer(POINT(1 1),0.5)@2001-01-01, Cbuffer(POINT(1.885467 3.053278),1)@2001-01-02] */
Devuelve un valor temporal rotado en sentido antihorario alrededor del eje z
rotateZ(tcbuffer,angle float) → tcbuffer
El movimiento desplaza el centro de cada buffer circular y conserva su radio. Un buffer circular es plano, por lo que no admite desplazamiento vertical ni rotación alrededor de los ejes x o y.
El movimiento es una aplicación plana, por lo que un valor geodésico genera un error.
SELECT asText(rotateZ(tcbuffer '[Cbuffer(Point(1 1),0.5)@2001-01-01, Cbuffer(Point(3 2),1)@2001-01-02]', 0.7), 6); /* [Cbuffer(POINT(0.120625 1.40906),0.5)@2001-01-01, Cbuffer(POINT(1.006091 3.462337),1)@2001-01-02] */