名称

ST_Contour — 使用 GDAL 等值线生成算法,根据提供的栅格波段生成一组矢量等值线。

语法

setof record ST_Contour(raster rast, integer bandnumber=1, double precision level_interval=100.0, double precision level_base=0.0, double precision[] fixed_levels=ARRAY[], boolean polygonize=false);

说明

使用 GDAL 等值线生成算法,根据提供的栅格波段生成一组矢量等值线。

fixed_levels 参数为非空数组时,将忽略 level_intervallevel_base 参数。

输入参数为

rast

要生成等值线的栅格

bandnumber

要生成等值线的波段

level_interval

生成等值线之间的海拔间隔

level_base

应用等值线间隔的“基准”,通常为零,但可能不同。要以 5、15、25、... 生成 10m 等值线,LEVEL_BASE 应为 5。

fixed_levels

生成等值线之间的海拔间隔

polygonize

如果为 true,将创建等值线面,而不是面线。

返回值是一组具有以下属性的记录

geom

等值线的几何形状。

id

GDAL 为等值线提供的唯一标识符。

value

该线表示的栅格值。对于高程 DEM 输入,这将是输出等值线的高程。

可用性:3.2.0

示例

WITH c AS (
SELECT (ST_Contour(rast, 1, fixed_levels => ARRAY[100.0, 200.0, 300.0])).*
FROM dem_grid WHERE rid = 1
)
SELECT st_astext(geom), id, value
FROM c;

另请参见

ST_InterpolateRaster