ST_PixelData.setExtent

定义

ST_PixelData.setExtent 函数用于设置 ST_PixelData 对象的范围。

语法

Oracle

setExtent (extent SE_EXTENT)

PostgreSQL

setExtent (data IN ST_PIXELDATA, 
           extent IN SE_EXTENT)

SQL Server

setExtent (minx IN DOUBLE, 
           miny IN DOUBLE, 
           maxx IN DOUBLE, 
           maxy IN DOUBLE)

返回值

参数

参数

描述

data

要修改的 ST_PixelData 对象

extent

要将 ST_PixelData 对象设置到的地理范围

minx

x 坐标最小值

miny

y 坐标最小值

maxx

x 坐标最大值

maxy

y 坐标最大值

示例

以下步骤设置了 ST_PixelData 对象的范围。

Oracle

DECLARE
  p sde.ST_PixelData:= sde.ST_PixelData(256, 256, 1, 'pixelType=uint8');
BEGIN
  p.setValue(1, 0, 0, 100);
  p.setValue(1, 0, 1, 101);
  p.setExtent(SE_EXTENT(0,0,20,20));
  INSERT INTO foo VALUES (p);
END;

PostgreSQL

CREATE OR REPLACE FUNCTION set_pixel_extent() 
RETURNS integer AS '
DECLARE
  p ST_PIXELDATA := st_pixeldata(256, 256, 1, ''pixelType=uint8'');
BEGIN
  setValue(p, 1, 0, 0, 100);
  setValue(p, 1, 0, 1, 101);
  setExtent(p, se_extent(0,0,20,20));
  INSERT INTO foo VALUES (st_raster(p));
END;' 
      LANGUAGE plpgsql; 

      SELECT set_pixel_extent();

DROP FUNCTION IF EXISTS set_pixel_extent();

SQL Server

DECLARE @p
ST_Pixeldata;
SET @p = ST_Pixeldata(256, 256, 1, 'pixelType=uint8');
SELECT @p = @p.setValue(1, 0, 0, 100);
SELECT @p = @p.setValue(1, 0, 1, 101);
SELECT @p = @p.setExtent(0,0,20,20);
 INSERT INTO foo VALUES
(ST_Raster::construct(NULL,@p,NULL));

3/7/2012