名称

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.

Code
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)
Figure
Geometry figure for visual-st-boundingdiagonal-01

This example returns the minimum X coordinate of a buffer around a point.

Code
SELECT ST_X(ST_StartPoint(ST_BoundingDiagonal(
  ST_Buffer(ST_Point(0, 0), 10)
)));
栅格输出
-10