These functions derive a spatial value from the moving body. centroid and bodyPointTrajectory return temporal points tracking a position over time; convexHull returns a static geometry.
Return the centroid of the moving body as a temporal point
centroid(trgeometry) → tgeompoint
SELECT asText(centroid( trgeometry 'Polygon((0 0, 1 0, 1 1, 0 1, 0 0));[Pose(Point(0 0),0)@2001-01-01, Pose(Point(2 0),0)@2001-01-02]')); -- Interp=Step;[POINT(0.5 0.5)@2001-01-01, POINT(2.5 0.5)@2001-01-02]
Return the convex hull of the area traversed by the moving body
convexHull(trgeometry) → geometry
SELECT ST_GeometryType(convexHull( trgeometry 'Polygon((0 0, 1 0, 1 1, 0 1, 0 0));[Pose(Point(0 0),0)@2001-01-01, Pose(Point(2 0),0)@2001-01-02]')); -- ST_Polygon
Return the world-frame trajectory of a body-frame point carried by the moving rigid geometry. The point is expressed in the reference shape's local frame and the time-varying pose is applied to it at each instant.
bodyPointTrajectory(trgeometry, geometry) → tgeompoint
SELECT asText(bodyPointTrajectory( trgeometry 'Polygon((0 0, 1 0, 1 1, 0 1, 0 0));[Pose(Point(0 0),0)@2001-01-01, Pose(Point(2 0),0)@2001-01-02]', geometry 'Point(0 0)')); -- Interp=Step;[POINT(0 0)@2001-01-01, POINT(2 0)@2001-01-02]