名稱

ST_VoronoiPolygons — 傳回幾何圖形頂點的沃羅諾伊圖的單元格。

概要

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

描述

從提供的幾何圖形的頂點計算二維沃羅諾伊圖。結果是一個 POLYGON 的 GEOMETRYCOLLECTION,其覆蓋範圍大於輸入頂點的範圍。如果輸入幾何圖形為 null,則返回 null。如果輸入幾何圖形僅包含一個頂點,則返回一個空的幾何圖形集合。如果 extend_to 包絡線的面積為零,則返回一個空的幾何圖形集合。

可選參數

  • tolerance:頂點被視為等效的距離。透過提供非零的容差距離,可以提高演算法的穩健性。(預設值 = 0.0)

  • extend_to:如果存在,則圖表會擴展以覆蓋提供的幾何圖形的包絡線,除非小於預設包絡線(預設值 = NULL,預設包絡線是輸入的邊界框擴展約 50%)。

由 GEOS 模組執行。

可用性:2.3.0

範例

覆蓋在沃羅諾伊圖上的點

SELECT ST_VoronoiPolygons(
                'MULTIPOINT (50 30, 60 30, 100 100,10 150, 110 120)'::geometry
            ) AS geom;
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)))

沃羅諾伊圖,容差為 30 個單位

SELECT ST_VoronoiPolygons(
            'MULTIPOINT (50 30, 60 30, 100 100,10 150, 110 120)'::geometry,
            30) AS geom;
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)))