Estas funciones informan sobre el movimiento de una geometría rígida temporal a lo largo de su trayectoria del centroide.
Devuelve la longitud total recorrida por el centroide, o su longitud acumulada a lo largo del tiempo
length(trgeometry) → float cumulativeLength(trgeometry) → tfloat
SELECT length(trgeometry 'Polygon((0 0,1 0,1 1,0 1,0 0));[Pose(Point(0 0),0)@2001-01-01, Pose(Point(3 4),0)@2001-01-02]'); -- 5
Devuelve la velocidad del centroide como un flotante temporal
speed(trgeometry) → tfloat
SELECT speed(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]'); -- Interp=Step;[0.000115740740741@2001-01-01, 0.000115740740741@2001-01-02]
Devuelve la velocidad angular como un flotante temporal
angularSpeed(trgeometry) → tfloat
La forma de una geometría rígida nunca cambia, por lo que su velocidad angular es la de la pose que la lleva, en radianes por unidad de tiempo.
SELECT asText(angularSpeed(trgeometry 'Polygon((0 0,1 0,1 1,0 1,0 0)); [Pose(Point(0 0),0)@2001-01-01, Pose(Point(0 0),1)@2001-01-02]')); -- Interp=Step;[0.000011574074074@2001-01-01, 0.000011574074074@2001-01-02]
Devuelve el centroide ponderado en el tiempo de la trayectoria del centroide como una geometría
twCentroid(trgeometry) → geometry
SELECT ST_AsText(twCentroid(trgeometry 'Polygon((0 0,1 0,1 1,0 1,0 0));[Pose(Point(0 0),0)@2001-01-01, Pose(Point(3 4),0)@2001-01-02]')); -- POINT(1.5 2)