ST_SetZ — 返回一个几何体,该几何体的 X/Y 坐标与输入几何体相同,并使用请求的重采样算法将栅格中的值复制到 Z 维度。
geometry ST_SetZ(
raster rast, geometry geom, text resample=nearest, integer band=1)
;
返回一个几何体,该几何体的 X/Y 坐标与输入几何体相同,并使用请求的重采样算法将栅格中的值复制到 Z 维度。
resample
参数可以设置为“nearest”,以复制每个顶点所在单元格中的值;或者设置为“bilinear”,以使用双线性插值来计算一个也考虑相邻单元格的值。
可用性:3.2.0
-- -- 2x2 test raster with values -- -- 10 50 -- 40 20 -- WITH test_raster AS ( SELECT ST_SetValues( ST_AddBand( ST_MakeEmptyRaster(width => 2, height => 2, upperleftx => 0, upperlefty => 2, scalex => 1.0, scaley => -1.0, skewx => 0, skewy => 0, srid => 4326), index => 1, pixeltype => '16BSI', initialvalue => 0, nodataval => -999), 1,1,1, newvalueset =>ARRAY[ARRAY[10.0::float8, 50.0::float8], ARRAY[40.0::float8, 20.0::float8]]) AS rast ) SELECT ST_AsText( ST_SetZ( rast, band => 1, geom => 'SRID=4326;LINESTRING(1.0 1.9, 1.0 0.2)'::geometry, resample => 'bilinear' )) FROM test_raster st_astext ---------------------------------- LINESTRING Z (1 1.9 38,1 0.2 27)