The traversedArea function returns the union of every materialised geometry over the trgeometry's time domain, the spatial footprint of the moving body.
Return the union of the materialised polygons across the trgeometry's time domain
traversedArea(trgeometry [, unary_union boolean = true]) → geometry
SELECT ST_AsText(traversedArea( 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, 11 0, 11 1, 0 1, 0 0))
With unary_union = false the function returns a GeometryCollection of the per-instant materialised polygons without dissolving them, useful when the caller wants to do its own post-processing.
Sampling caveat: the implementation samples at the input instants, so pure-translation segments are exact but the swept ribbon between two instants where a rotation happens is approximated by the convex hull of the two endpoint polygons. Up-sampling the tpose before constructing the trgeometry tightens the approximation.