Name

ST_IntersectionFractions — 计算给定 geometry 覆盖到每个 raster 像元的比例。

Synopsis

raster ST_IntersectionFractions(raster rast, geometry geom);

描述

计算给定 geometry 覆盖每个 raster 像元的比例。第一个参数是 raster,定义用于计算的网格几何;第二个参数是 geometry,与网格叠加并据此为每个像元赋值:对 Polygon 返回像元面积中被 geometry 覆盖的比例,对 LineString 返回线在像元中所占的长度。

可用性:3.6.0 -- 需要 GEOS 3.14 或更高版本。

示例

CREATE TABLE raster_proportions_rast (
    name text,
    rast raster
);

INSERT INTO raster_proportions_rast (name, rast) VALUES (
  '2x2 raster covering 0,0 to 10,10',
  ST_MakeEmptyRaster(
    2,  2,   -- raster width/height in pixels
    0, 10,   -- upper-left corner x/y coordinates
    5, -5,   -- pixel width/height in ground units
    0,  0,   -- skew x/y
    0        -- SRID
  ));

--
-- This rotated square polygon covers half of each cell in the
-- raster.
--
SELECT name, ST_DumpValues(
    ST_IntersectionFractions(
        rast,
        'POLYGON((5 0, 0 5, 5 10, 10 5, 5 0))'::geometry),1)
FROM raster_proportions_rast;


 2x2 raster covering 0,0 to 10,10
---------------------------------
 {{0.5,0.5},{0.5,0.5}}

相关信息

ST_MakeEmptyRaster