ST_NearestValue — 返回最接近的非
NODATA
由Columnx和Rowy或在与栅格相同的空间参考坐标系中表示的几何点指定的给定波段的像素值。
double precision
ST_NearestValue
(
raster
rast
, integer
bandnum
, geometry
pt
, boolean
exclude_nodata_value=true
)
;
double precision
ST_NearestValue
(
raster
rast
, geometry
pt
, boolean
exclude_nodata_value=true
)
;
double precision
ST_NearestValue
(
raster
rast
, integer
bandnum
, integer
columnx
, integer
rowy
, boolean
exclude_nodata_value=true
)
;
double precision
ST_NearestValue
(
raster
rast
, integer
columnx
, integer
rowy
, boolean
exclude_nodata_value=true
)
;
返回最接近的非
NODATA
给定列X、行像素或特定几何点处的给定带值。如果列x、行像素或指定几何点处的像素为
NODATA
,则该函数将查找与其值不是的列x、行像素或几何点最近的像素
NODATA
。
频段编号从1开始,并且
bandnum
如果未指定,则假定为1。如果
exclude_nodata_value
设置为False,则所有像素都包括
nodata
像素被视为相交并返回值。如果
exclude_nodata_value
不传入,然后从栅格元数据中读取它。
可用性:2.1.0
![]() |
|
ST_NearestValue是ST_Value的临时替代。 |
-- pixel 2x2 has value
SELECT
ST_Value(rast, 2, 2) AS value,
ST_NearestValue(rast, 2, 2) AS nearestvalue
FROM (
SELECT
ST_SetValue(
ST_SetValue(
ST_SetValue(
ST_SetValue(
ST_SetValue(
ST_AddBand(
ST_MakeEmptyRaster(5, 5, -2, 2, 1, -1, 0, 0, 0),
'8BUI'::text, 1, 0
),
1, 1, 0.
),
2, 3, 0.
),
3, 5, 0.
),
4, 2, 0.
),
5, 4, 0.
) AS rast
) AS foo
value | nearestvalue
-------+--------------
1 | 1
-- pixel 2x3 is NODATA
SELECT
ST_Value(rast, 2, 3) AS value,
ST_NearestValue(rast, 2, 3) AS nearestvalue
FROM (
SELECT
ST_SetValue(
ST_SetValue(
ST_SetValue(
ST_SetValue(
ST_SetValue(
ST_AddBand(
ST_MakeEmptyRaster(5, 5, -2, 2, 1, -1, 0, 0, 0),
'8BUI'::text, 1, 0
),
1, 1, 0.
),
2, 3, 0.
),
3, 5, 0.
),
4, 2, 0.
),
5, 4, 0.
) AS rast
) AS foo
value | nearestvalue
-------+--------------
| 1