ST_Raster.mosaic
定义
ST_Raster.mosaic 函数用于将输入影像与现有 ST_Raster 对象进行合并。此函数仅可用于 UPDATE 语句。在 SELECT 语句中使用时,将返回数据库错误。
ST_Raster.mosaic 函数在单个事务内执行,这样,对于适应待决事务可用的回滚空间量,必须考虑同时镶嵌的源栅格数。
源栅格数据位于网络驱动器上时,必须为当前数据库进程的所有者授予相应的文件访问权限。
语法
Oracle
mosaic (filename IN VARCHAR2) RETURN ST_RASTER mosaic (filename IN VARCHAR2, parameter_list IN VARCHAR2) RETURN ST_RASTER mosaic (data IN ST_PIXELDATA) RETURN ST_RASTER mosaic (data IN ST_PIXELDATA, parameter_list IN VARCHAR2) RETURN ST_RASTER
PostgreSQL
mosaic (raster IN ST_RASTER, filename IN TEXT) RETURN ST_RASTER mosaic (raster IN ST_RASTER, filename IN TEXT, parameter_list IN TEXT) RETURN ST_RASTER mosaic (raster IN ST_RASTER, data IN ST_PIXELDATA) RETURN ST_RASTER mosaic (raster IN ST_RASTER, data IN ST_PIXELDATA, parameter_list IN TEXT) RETURN ST_RASTER
SQL Server
mosaic (filename IN NVARCHAR, data IN ST_PIXELDATA, parameter_list IN NVARCHAR) RETURN ST_RASTER
返回值
ST_Raster
参数
参数 | 描述 |
---|---|
filename | 源栅格数据的文件名 文件名可包含操作系统通配符。也可以是从用户定义的表中选择单个 ST_Raster 列的 SQL SELECT 语句。支持的影像文件格式为 GeoTIFF。 |
data | 预定义的 ST_PixelData 对象 |
raster | 指定影像将镶嵌至的 ST_Raster 目标值 |
parameter_list | 用单引号括起来且以逗号分隔的参数列表可能包含以下参数:
|
示例
这些示例说明了以下内容:
- 在指向现有 ST_Raster 对象的路径 E:\data 及其所有子文件夹下创建所有 TIFF 的 mosaic。将 mosaic 函数的结果写入日志文件 E:\'log.txt' 中。
- 使用 ST_Raster 对象的像素填充 ST_PixelData 对象,然后将其镶嵌至另一 ST_Raster 对象。
Oracle
-
UPDATE SAT t SET image = t.image.mosaic('E:\data\*.tif', 'recursive,log=E:\log.txt');
-
DECLARE data sde.ST_PIXELDATA; BEGIN SELECT t.image.getPixelData('level=1') INTO DATA FROM SAT t; UPDATE SAT t SET image = t.image.mosaic(data,'log=E:\log.txt'); END; /
PostgreSQL
-
UPDATE sat SET image = mosaic(image,'E:\data\*.tif', 'recursive,log=E:\log.txt');
-
DROP FUNCTION IF EXISTS mosaic_from_pixeldata(); CREATE OR REPLACE FUNCTION mosaic_from_pixeldata() RETURNS integer AS ' DECLARE data sde.st_pixeldata; BEGIN SELECT getPixelData(image) INTO data FROM sat; UPDATE sat SET image = mosaic(image,data,''log=E:\log.txt'') WHERE name = ''1_1_data''; END;' LANGUAGE plpgsql; SELECT mosaic_from_pixeldata(); DROP FUNCTION IF EXISTS mosaic_from_pixeldata();
SQL Server
-
UPDATE sat SET image = image.mosaic('E:\data\*.tif',NULL, 'recursive,log=E:\log.txt');
-
DECLARE @data ST_PIXELDATA; SET @data = (SELECT image.getPixelData('level=1') FROM sat); UPDATE sat SET image = image.mosaic(NULL,@data,'log=E:\log.txt');
3/7/2012