ST_BoundingDiagonal — Returns the diagonal of a geometry's bounding box.

`geometry `

geometry **ST_BoundingDiagonal**(`geom`, boolean `fits=false``)`

;

Returns the diagonal of the supplied geometry's bounding box as a LineString. The diagonal is a 2-point LineString with the minimum values of each dimension in its start point and the maximum values in its end point. If the input geometry is empty, the diagonal line is a LINESTRING EMPTY.

The optional `fits`

parameter specifies if the best fit is needed.
If false, the diagonal of a somewhat larger bounding box can be accepted
(which is faster to compute for geometries with many vertices). In either case,
the bounding box of the returned diagonal line always covers the input
geometry.

The returned geometry retains the SRID and dimensionality (Z and M presence) of the input geometry.

In degenerate cases (i.e. a single vertex in input) the returned linestring will be formally invalid (no interior). The result is still topologically valid. |

Availability: 2.2.0

This function supports 3d and will not drop the z-index.

This function supports M coordinates.

-- Get the minimum X in a buffer around a point SELECT ST_X(ST_StartPoint(ST_BoundingDiagonal( ST_Buffer(ST_Point(0,0),10) ))); st_x ------ -10

ST_StartPoint, ST_EndPoint, ST_X, ST_Y, ST_Z, ST_M, ST_Envelope