ST_SetZ — 入力ジオメトリと同じX/y座標値と、指定されたリサンプリングアルゴリズムを使ってラスタから複写されたZ値とを持つジオメトリを返します。
geometry ST_SetZ(
raster rast, geometry geom, text resample=nearest, integer band=1)
;
入力ジオメトリと同じX/Y座標値と、指定されたリサンプリングアルゴリズムを使ってラスタから複写されたZ値とを持つジオメトリを返します。
resample
パラメータの取ることができる値は、デフォルトである最近傍探索リサンプリングを行う"nearest"、バイリニア補間 (WikiPedia 英語版)を行う"bilinear"です。近隣セルも考慮に入れた値を計算するためのものです。
Availability: 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)