Name

ST_VoronoiPolygons — 返回几何体顶点的 Voronoi 图的单元格。

Synopsis

geometry ST_VoronoiPolygons( geometry geom , float8 tolerance = 0.0 , geometry extend_to = NULL );

描述

根据提供的几何图形的顶点计算二维 Voronoi 图。 结果是 POLYGON 的 GEOMETRYCOLLECTION,其覆盖的包络大于输入顶点的范围。 如果输入几何图形为 null,则返回 null。 如果输入几何图形仅包含一个顶点,则返回一个空几何图形集合。 如果extend_to最小外接矩形的面积为零,则返回空几何集合。

可选参数:

  • tolerance:顶点被视为相等的距离。 通过提供非零容差距离可以提高算法的稳健性。 (默认 = 0.0)

  • extend_to:如果存在,图表将扩展以覆盖所提供几何图形的最小外接矩形,除非小于默认最小外接矩形(默认 = NULL,默认最小外接矩形是输入扩展约 50% 的边界框)。

这个函数是由 GEOS 模块执行的。

可用性:2.3.0

示例

覆盖在 Voronoi 图顶部的点

SELECT ST_AsText(ST_VoronoiPolygons('MULTIPOINT (50 30, 60 30, 100 100,10 150, 110 120)'::geometry
            )) AS geom;
GEOMETRYCOLLECTION(POLYGON((-110 270,100.5 270,59.34782608695652 132.82608695652175,36.81818181818182 92.27272727272727,-110 43.33333333333332,-110 270)),
POLYGON((-110 -90,-110 43.33333333333332,36.81818181818182 92.27272727272727,55 79.28571428571429,55 -90,-110 -90)),
POLYGON((230 -20.71428571428572,55 79.28571428571429,36.81818181818182 92.27272727272727,59.34782608695652 132.82608695652175,230 47.50000000000001,230 -20.71428571428572)),POLYGON((230 -90,55 -90,55 79.28571428571429,230 -20.71428571428572,230 -90)),
POLYGON((230 270,230 47.50000000000001,59.34782608695652 132.82608695652175,100.5 270,230 270)))

Voronoi 图,容差为 30 个单位

SELECT ST_AsText(ST_VoronoiPolygons('MULTIPOINT (50 30, 60 30, 100 100,10 150, 110 120)'::geometry,
            30)) AS geom;
GEOMETRYCOLLECTION(POLYGON((-110 270,135.55555555555557 270,36.81818181818182 92.27272727272727,-110 43.33333333333332,-110 270)),
POLYGON((230 270,230 -45.71428571428574,36.81818181818182 92.27272727272727,135.55555555555557 270,230 270)),
POLYGON((230 -90,-110 -90,-110 43.33333333333332,36.81818181818182 92.27272727272727,230 -45.71428571428574,230 -90)))