Name

ST_Resize — 래스터의 크기를 새 너비/높이로 조정합니다.

Synopsis

raster ST_Resize(raster rast, integer width, integer height, text algorithm=NearestNeighbor, double precision maxerr=0.125);

raster ST_Resize(raster rast, double precision percentwidth, double precision percentheight, text algorithm=NearestNeighbor, double precision maxerr=0.125);

raster ST_Resize(raster rast, text width, text height, text algorithm=NearestNeighbor, double precision maxerr=0.125);

설명

래스터의 크기를 새 너비/높이로 조정합니다. 픽셀의 정확한 개수 또는 입력 래스터의 너비/높이의 백분율로 새 너비/높이를 설정할 수 있습니다. 새 래스터의 범위가 입력 래스터의 범위와 동일할 것입니다.

NearestNeighbor(영국 또는 미국 철자), Bilinear, Cubic, CubicSpline 또는 Lanczos 리샘플링 알고리즘을 이용해서 새 픽셀 값을 계산합니다. 기본값은 가장 빠르지만 보간의 질은 가장 낮은 NearestNeighbor입니다.

변종 1은 출력 레이어의 실제 너비/높이를 입력받습니다.

변종 2는 입력 래스터의 너비/높이의 백분율을 나타내는 0과 1 사이의 소수값을 입력받습니다.

변종 3은 출력 래스터의 실제 너비/높이 또는 입력 래스터의 너비/높이의 백분율을 나타내는 문자열("20%")을 입력받습니다.

2.1.0 버전부터 사용할 수 있습니다. GDAL 1.6.1 이상 버전이 필요합니다.

예시

WITH foo AS(
SELECT
    1 AS rid,
    ST_Resize(
        ST_AddBand(
            ST_MakeEmptyRaster(1000, 1000, 0, 0, 1, -1, 0, 0, 0)
            , 1, '8BUI', 255, 0
        )
    , '50%', '500') AS rast
UNION ALL
SELECT
    2 AS rid,
    ST_Resize(
        ST_AddBand(
            ST_MakeEmptyRaster(1000, 1000, 0, 0, 1, -1, 0, 0, 0)
            , 1, '8BUI', 255, 0
        )
    , 500, 100) AS rast
UNION ALL
SELECT
    3 AS rid,
    ST_Resize(
        ST_AddBand(
            ST_MakeEmptyRaster(1000, 1000, 0, 0, 1, -1, 0, 0, 0)
            , 1, '8BUI', 255, 0
        )
    , 0.25, 0.9) AS rast
), bar AS (
    SELECT rid, ST_Metadata(rast) AS meta, rast FROM foo
)
SELECT rid, (meta).* FROM bar

 rid | upperleftx | upperlefty | width | height | scalex | scaley | skewx | skewy | srid | numbands
-----+------------+------------+-------+--------+--------+--------+-------+-------+------+----------
   1 |          0 |          0 |   500 |    500 |      1 |     -1 |     0 |     0 |    0 |        1
   2 |          0 |          0 |   500 |    100 |      1 |     -1 |     0 |     0 |    0 |        1
   3 |          0 |          0 |   250 |    900 |      1 |     -1 |     0 |     0 |    0 |        1
(3 rows)
                

참고

ST_Resample, ST_Rescale, ST_Reskew, ST_SnapToGrid