ST_BoundingDiagonal — 返回几何边界框的对角线。
geometry ST_BoundingDiagonal(geometry geom, boolean fits=false);
以线串形式返回给定几何图形的边界框的对角线。它是一个由两点组成的线串,从最小点开始,到最大点结束。如果输入几何为空,则对角线为空。
可选的fits参数指定是否需要最佳拟合。如果为 false,则可以接受稍大的边界框的对角线(对于具有许多顶点的几何图形,计算速度更快)。无论哪种情况,返回的对角线的边界框始终覆盖输入几何体。
返回的几何体保留输入几何体的 SRID 和维度(Z 和 M 存在)。
|
|
|
在退化情况下(即输入中的单个顶点),返回的线串将在形式上无效(无内部)。 结果在拓扑上仍然有效。 |
可用性:2.2.0
该函数支持 3d 并且不会丢失 z-index。
该功能支持M坐标。
This example shows a polygon together with the diagonal of its bounding box.
WITH input AS (
SELECT 'POLYGON((10 20,30 60,70 40,90 10,50 -10,10 20))'::geometry AS geom
)
SELECT geom AS input_polygon,
ST_BoundingDiagonal(geom) AS diagonal
FROM input;
POLYGON((10 20,30 60,70 40,90 10,50 -10,10 20)) | LINESTRING(10 -10,90 60)
This example returns the minimum X coordinate of a buffer around a point.
SELECT ST_X(ST_StartPoint(ST_BoundingDiagonal( ST_Buffer(ST_Point(0, 0), 10) )));
-10
ST_StartPoint, ST_EndPoint, ST_X, ST_Y, ST_Z, ST_M, ST_Envelope