ST_SetZ
Prev | 12.6. Raster Pixel Accessors and Setters | Next

## Name

ST_SetZ — Returns a geometry with the same X/Y coordinates as the input geometry, and values from the raster copied into the Z dimension using the requested resample algorithm.

## Synopsis

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

## Description

Returns a geometry with the same X/Y coordinates as the input geometry, and values from the raster copied into the Z dimensions using the requested resample algorithm.

The `resample` parameter can be set to "nearest" to copy the values from the cell each vertex falls within, or "bilinear" to use bilinear interpolation to calculate a value that takes neighboring cells into account also.

Availability: 3.2.0

## Examples

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

## See Also

ST_Value, ST_SetM

Prev | Up | Next
ST_NearestValue | Home | ST_SetM