ST_SetZ — Retourne une géométrie avec les mêmes coordonnées X/Y que la géométrie d'entrée, et avec la coordonnée Z copiée depuis les valeurs du raster selon l'algorithme d'interpolation en paramètre.
geometry ST_SetZ(
raster rast, geometry geom, text resample=nearest, integer band=1)
;
Retourne une géométrie avec les mêmes coordonnées X/Y que la géométrie d'entrée, et avec la coordonnée Z copiée depuis les valeurs du raster selon l'algorithme d'interpolation en paramètre.
Le paramètre resample
peut être "nearest" (plus proche) pour copier les valeurs de chaque pixel auquel le vertex correspond, ou "bilinear" pour utiliser une interpolation bilinéaire pour calculer une valeur qui prend aussi en compte les pixels voisins.
Disponibilité : 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)