根据提供的Geometry对象的顶点计算二维Voronoi图。

语法

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

参数

参数名称 描述
g1 目标Geometry对象。
tolerance 容差,默认为0.0。若两点间距小于该值,则视为重合点。通过提供非零容差距离可以提高算法的鲁棒性。
extend_to 扩展图形,默认为null,代表以输入几何的边界框在每个方向上扩展了约50%作为扩展图形。如果设置了该值,Voronoi图将扩展到覆盖该值的外包框的范围,除非提供扩展图形的外包框小于默认值。

描述

  • 结果是Polygon的GeometryCollection对象,外包框大于输入对象的顶点的外包范围。
  • 如果输入几何为null,则返回null。
  • 如果输入几何只包含一个顶点,则返回一个空的GeometryCollection对象。如果输入几何只包含一个顶点,则返回一个空的GeometryCollection对象。
  • 如果extend_to值的外包框面积为零,则返回一个空的GeometryCollection对象。

示例

设置extend_to参数效果对比:
SELECT ST_VoronoiPolygons(g,0,e),g,e
             from (select ST_Buffer('LINESTRING(0 0,3 0,3 3)'::geometry,1,'join=mitre endcap=square') as g,
                    ST_Buffer('POINT(-1 -1)'::geometry,10) as e) as t;
12