Name

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.

Synopsis

geometry ST_SetZ(raster rast, geometry geom, text resample=nearest, integer band=1);

Description

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

Exemples

--
-- 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)

Voir aussi

ST_Value, ST_SetM