ST_PixelData

定义

ST_PixelData 构造函数用于创建 ST_PixelData 对象。

语法

Oracle

sde.st_pixeldata()

sde.st_pixeldata(width INTEGER, 
                 height INTEGER, 
                 numBands INTEGER, 
                 parameter_list VARCHAR2)

PostgreSQL

sde.st_pixeldata()

st_pixeldata(width IN INT, 
             height IN INT, 
             numBands IN INT, 
             parameter_list IN TEXT)

SQL Server

<sde or dbo>.ST_Pixeldata::construct(width IN INTEGER, 
                                     height IN INTEGER, 
                                     numBands IN INTEGER, 
                                     parameter_list IN NVARCHAR)

返回值

Oracle

数值

PostgreSQL

整型

SQL Server

整型

参数

参数

描述

宽度

像素数据缓冲区的像素宽度

高度

像素数据缓冲区的像素高度

numBands

要创建的波段数

parameter_list

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

pixelType=[{1bit | 4bit | uint8 | int8 | uint16 | int16 | uint32 | int32 | float | double},

interleave={separate | contiguous}]

示例

下面的语句用于创建一张表并向表中插入一个 ST_PixelData 对象。

Oracle

CREATE TABLE foo (image sde.st_raster);
BEGIN
sde.ST_RasterUtil.initialize ('foo','image',4326,'DEFAULTS');
	END;
	/
DECLARE
  p sde.ST_PixelData := sde.ST_PixelData(256, 256, 1, 'pixelType=uint8');
BEGIN
  INSERT INTO FOO VALUES (p);
END;
/

PostgreSQL

CREATE TABLE foo (image st_raster);
SELECT st_raster_util_initialize ('foo','image',4326,'DEFAULTS');

DROP FUNCTION IF EXISTS insert_pixeldata();

CREATE OR REPLACE FUNCTION insert_pixeldata() 
RETURNS integer AS '
DECLARE p st_pixeldata; 
BEGIN  
INSERT INTO foo VALUES (ST_RASTER(p));
      END;' 
      LANGUAGE plpgsql; 

      SELECT insert_pixeldata();

DROP FUNCTION IF EXISTS insert_pixeldata();

SQL Server

CREATE TABLE foo (image st_raster);
EXECUTE ST_RASTER_UTIL.initialize
'myb','ted','foo','image',4326,NULL,'DEFAULTS'
DECLARE @p ST_Pixeldata;
SET @p = ST_Pixeldata::construct(256, 256, 1,'pixelType=uint8');
 INSERT INTO foo VALUES
(ST_Raster::construct(NULL,@p,NULL));

7/10/2012