Name

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

Synopsis

geometry ST_VoronoiPolygons( g1 geometry , tolerance float8 , extend_to geometry );

描述

ST_VoronoiPolygons计算二维 沃罗诺伊图 从提供的几何体的顶点。结果是一个覆盖比输入顶点范围更大的封套的几何体集合。如果输入几何图形为空,则返回空。如果输入几何只包含一个顶点,则返回空几何集合。如果EXTEND_TO封套的面积为零,则返回空的几何图形集合。

可选参数:

  • “公差”:顶点被视为相等的距离。通过提供一个非零的容差距离,可以提高算法的鲁棒性。(默认值=0.0)

  • ‘EXTEND_TO’:如果提供一个几何图形作为“EXTEND_TO”参数,则图表将扩展到覆盖“EXTEND_TO”几何图形的包络,除非该包络小于默认包络(默认=NULL,默认包络是输入几何图形的边界框,每个方向扩展约50%)。

由GEOS模块执行。

可用性:2.3.0

示例

叠加在Voronoi图顶部的点

SELECT
    ST_VoronoiPolygons(geom) As geom
FROM (SELECT 'MULTIPOINT (50 30, 60 30, 100 100,10 150, 110 120)'::geometry As geom ) As g;

-- ST_AsText output
GEOMETRYCOLLECTION(POLYGON((-110 43.3333333333333,-110 270,100.5 270,59.3478260869565 132.826086956522,36.8181818181818 92.2727272727273,-110 43.3333333333333)),
POLYGON((55 -90,-110 -90,-110 43.3333333333333,36.8181818181818 92.2727272727273,55 79.2857142857143,55 -90)),
POLYGON((230 47.5,230 -20.7142857142857,55 79.2857142857143,36.8181818181818 92.2727272727273,59.3478260869565 132.826086956522,230 47.5)),POLYGON((230 -20.7142857142857,230 -90,55 -90,55 79.2857142857143,230 -20.7142857142857)),
POLYGON((100.5 270,230 270,230 47.5,59.3478260869565 132.826086956522,100.5 270)))

Voronoi,公差30个单位

SELECT ST_VoronoiPolygons(geom, 30) As geom
FROM (SELECT 'MULTIPOINT (50 30, 60 30, 100 100,10 150, 110 120)'::geometry As geom ) As g;

-- ST_AsText output
GEOMETRYCOLLECTION(POLYGON((-110 43.3333333333333,-110 270,100.5 270,59.3478260869565 132.826086956522,36.8181818181818 92.2727272727273,-110 43.3333333333333)),
POLYGON((230 47.5,230 -45.7142857142858,36.8181818181818 92.2727272727273,59.3478260869565 132.826086956522,230 47.5)),POLYGON((230 -45.7142857142858,230 -90,-110 -90,-110 43.3333333333333,36.8181818181818 92.2727272727273,230 -45.7142857142858)),
POLYGON((100.5 270,230 270,230 47.5,59.3478260869565 132.826086956522,100.5 270)))

Voronoi,公差为30个单位,作为多线串

SELECT ST_VoronoiLines(geom, 30) As geom
FROM (SELECT 'MULTIPOINT (50 30, 60 30, 100 100,10 150, 110 120)'::geometry As geom ) As g

-- ST_AsText output
MULTILINESTRING((135.555555555556 270,36.8181818181818 92.2727272727273),(36.8181818181818 92.2727272727273,-110 43.3333333333333),(230 -45.7142857142858,36.8181818181818 92.2727272727273))

另请参阅

ST_DelaunayTriangles, ST_VoronoiLines, ST_Collect