ST_SetM — Gibt eine Geometrie mit denselben X/Y-Koordinaten wie die Eingabegeometrie zurück, wobei die Werte aus dem Raster mit dem gewünschten Resample-Algorithmus in die Dimension M kopiert werden.
geometry ST_SetM(
raster rast, geometry geom, text resample=nearest, integer band=1)
;
Liefert eine Geometrie mit denselben X/Y-Koordinaten wie die Eingabegeometrie und mit Werten aus dem Raster, die unter Verwendung des gewünschten Resample-Algorithmus in die M-Dimensionen kopiert wurden.
Der Parameter resample
kann auf "nearest" gesetzt werden, um die Werte aus der Zelle zu kopieren, in die jeder Scheitelpunkt fällt, oder auf "bilinear", um bilineare Interpolation zu verwenden, um einen Wert zu berechnen, der auch die benachbarten Zellen berücksichtigt.
Verfügbarkeit: 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_SetM( rast, band => 1, geom => 'SRID=4326;LINESTRING(1.0 1.9, 1.0 0.2)'::geometry, resample => 'bilinear' )) FROM test_raster st_astext ---------------------------------- LINESTRING M (1 1.9 38,1 0.2 27)