ST_Raster.getPixelData

定义

ST_Raster.getPixelData 函数用于将 ST_Raster 的像素数据或 ST_Raster 的子集写入定义的 ST_PixelData 对象中。

语法

Oracle

getPixelData () RETURN ST_PIXELDATA
getPixelData (parameter_list IN VARCHAR2) RETURN ST_PIXELDATA

PostgreSQL

getPixelData (raster IN ST_RASTER) RETURN ST_PIXELDATA
getPixelData (raster IN ST_RASTER, parameter_list IN TEXT) RETURN ST_PIXELDATA

SQL Server

getPixelData (parameter_list IN NVARCHAR) RETURN ST_PIXELDATA

返回值

ST_PixelData

参数

参数

描述

raster

ST_Raster 值

parameter_list

用单引号括起来且以逗号分隔的参数列表可能包含以下参数:

  • band <第 1 个波段号>[,<第 2 个波段号>],…,[第 n 个波段号]> - 以逗号分隔的待导出波段的波段序号列表

    像素数据按波段序号的顺序写入 ST_PixelData 对象中。如果未指定参数,则所有波段都以常规波段顺序写入。

  • level <金字塔等级> - 写入 ST_PixelData 对象中的 ST_Raster 对象的金字塔等级;默认为基础等级 (0)。
  • window (minx,miny,maxx,maxy) - 待写入到在像素坐标中指定的 ST_PixelData 对象的 ST_Raster 对象范围
  • extent (minx,miny,maxx,maxy) - 待写入到在地理坐标中指定的 ST_PixelData 对象的 ST_Raster 对象范围

示例

以下示例选择等级为 1 的金字塔数据并将结果插入到另一个表中。

Oracle

CREATE TABLE pixeldata of sde.ST_PixelData;

INSERT INTO PIXELDATA
SELECT t.image.getPixelData('level=1')
FROM LAND t
WHERE t.image.raster_id = 1;

CREATE TABLE pixeldata2 (data ST_PixelData);

INSERT INTO PIXELDATA2
SELECT t.image.getPixelData('level=1')
FROM LAND t
WHERE t.image.raster_id = 1;

PostgreSQL

CREATE TABLE pixeldata (data ST_PixeData);

INSERT INTO pixeldata
SELECT getPixelData(image,'level=1')
FROM land
WHERE getRasterID(image) = 1;

SQL Server

CREATE TABLE pixeldata (data ST_PixelData);

INSERT INTO pixel.data
SELECT image.getPixelData('level=1')
FROM land
WHERE image.raster_id = 1;
5/25/2014