名称

ST_MinimumClearance — 返回几何图形的最小间隙,衡量几何图形的稳健性。

概要

float ST_MinimumClearance(geometry g);

描述

几何图形可能满足 ST_IsValid (多边形) 或 ST_IsSimple (线) 的有效性标准,但如果其一个顶点移动一小段距离,则会变为无效。这可能是由于在转换为文本格式(例如 WKT、KML、GML、GeoJSON)或不使用双精度浮点坐标的二进制格式(例如 MapInfo TAB)期间丢失精度造成的。

最小间隙是对几何图形坐标精度变化的稳健性的定量衡量。它是几何图形的顶点在不创建无效几何图形的情况下可以移动的最大距离。最小间隙的值越大,表示稳健性越高。

如果几何图形的最小间隙为 e,则

  • 几何图形中没有两个不同的顶点之间的距离小于 e

  • 没有顶点与它不是端点的线段的距离小于 e

如果几何图形不存在最小间隙(例如,单个点,或其点相同的 MultiPoint),则返回值是 Infinity

为了避免因精度损失引起的有效性问题,ST_ReducePrecision 可以降低坐标精度,同时确保多边形几何图形保持有效。

可用性:2.3.0

示例

SELECT ST_MinimumClearance('POLYGON ((0 0, 1 0, 1 1, 0.5 3.2e-4, 0 0))');
 st_minimumclearance
---------------------
             0.00032