ArcGIS Desktop

  • 文档
  • 支持

  • My Profile
  • 帮助
  • Sign Out
ArcGIS Desktop

ArcGIS Online

专为贵组织打造的制图平台

ArcGIS Desktop

全面的专业性 GIS

ArcGIS Enterprise

面向企业的 GIS

ArcGIS for Developers

用于构建位置感知应用程序的工具

ArcGIS Solutions

适用于行业的免费模板地图和应用程序

ArcGIS Marketplace

获取适用于组织的应用程序和数据

  • 文档
  • 支持
Esri
  • 登录
user
  • 我的个人资料
  • 登出

帮助

  • 主页
  • 入门
  • 制图
  • 分析
  • 管理数据
  • 工具
  • 更多...

ST_PixelData.setValue

  • 定义
  • 语法
  • 返回值
  • 参数
  • 示例

定义

在给定了像素在 ST_PixelData 对象中的位置以及新值的情况下,ST_PixelData.setValue 函数会更改单个像素的值。位置可以像素坐标或地理坐标指定。

如果指定的位置超出了栅格像素尺寸或地理范围,该函数会返回错误。如果值为 NULL,则 ST_PixelData.setValue 将像素设置为 NoData。

语法

Oracle

setValue (band INTEGER, 
          x INTEGER, 
          y INTEGER, 
          value NUMBER)

setValue (band INTEGER, 
          point SE_COORD, 
          value NUMBER)

PostgreSQL

setValue (data IN ST_PixelData, 
          band IN INT, 
          x IN INT, 
          y IN INT, 
          value IN NUMBER)

setValue (data IN ST_PixelData, 
          band IN INT, 
          point IN SE_COORD, 
          value IN NUMBER)

SQL Server

setValue (band IN INTEGER,
          x IN INTEGER,
          y IN INTEGER,
          value IN NUMBER)
 
setValueByLoc (band IN INTEGER,
               x IN DOUBLE,
               y IN DOUBLE,
               value IN NUMBER)

返回值

无

参数

参数描述

data

表示要修改的 ST_PixelData 对象

band

像素的波段数(从 1 开始)

x

x 像素坐标

y

y 像素坐标

point

像素的地理坐标

value

像素值;必须落入 ST_PixelData 类型的像素深度指定的允许范围内

示例

在给定了像素在 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_value() 
RETURNS integer AS '
DECLARE
  p sde.ST_PIXELDATA := st_pixeldata(256, 256, 1, ''pixelType=uint8'');
BEGIN
  setValue(p, 1, 0, 0, 100);
  setValue(p, 1, 0, 1, 101);
  setExtent(p, SDE.SE_EXTENT(0,0,20,20));
  INSERT INTO foo VALUES (ST_RASTER(p));
END; ' 
      LANGUAGE plpgsql; 

      SELECT set_pixel_data();

	DROP FUNCTION IF EXISTS set_pixel_data();

SQL Server

DECLARE
@p ST_Pixeldata;
SET @p = ST_Pixeldata::construct(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));

ArcGIS Desktop

  • 主页
  • 文档
  • 支持

ArcGIS 平台

  • ArcGIS Online
  • ArcGIS Desktop
  • ArcGIS Enterprise
  • ArcGIS for Developers
  • ArcGIS Solutions
  • ArcGIS Marketplace

关于 Esri

  • 关于我们
  • 招贤纳士
  • 内部人员博客
  • 用户大会
  • 开发者峰会
Esri
分享您的想法。
Copyright © 2017 Esri. | 隐私政策 | 法律声明