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

Параметры

Параметр

Описание

имя файла

Имя файла или имена файлов входных растровых данных

Имя файла может содержать специальные групповые символы операционной системы. Также это может быть выражение SELECT в SQL, которое выделяет один столбец ST_Raster из пользовательской таблицы. Поддерживается формат файла изображения GeoTIFF.

data

Предварительно определенный объект ST_PixelData

растр

Целевое значение ST_Raster, к которому желаемое изображение будет присоединено с помощью мозаики

parameter_list

Список параметров с разделителем запятая, заключенный в одиночные кавычки, который может включать следующие параметры:

  • align—Выполняет замыкание экстента входного растра на целевой ST_Raster.
  • recursive—Если параметр группового символа предоставлен в виде пути к входным данным, происходит рекурсивный поиск по всем папкам, вложенным в заданную папку верхнего уровня.
  • conversion <rgb | grayscale>—Если установлено на rgb, параметр преобразования предписывает функции мозаики конвертировать одноканальные входные изображения с цветовой картой в трехканальный RGB объект ST_Raster. Если параметр преобразования установлен на grayscale, то функция мозаики должна конвертировать 1-битные черно-белые входные изображения в 8-битный объект ST_Raster в оттенках серого.
  • quality <value>—Если типом сжатия (компрессии) базового слоя является JPEG или JPEG 2000, то качество сжатия пирамидного слоя контролируется установкой этого параметра. Значением по умолчанию для сжатия JPEG является 75, тогда как значением по умолчанию для сжатия JPEG 2000 является 0.
  • bitrate <value>—Битовая скорость передачи данных для фиксированного сжатия JPEG 2000
  • nodata (r,g,b) | <value>—Значения пикселов входного изображения, которые конвертируются в значение nodata в процессе мозаики в объект ST_Raster
  • nocolormap—Показывает, что цветовая карта будет удалена из входного изображения с цветовой картой при выполнении мозаики в объект ST_Raster
  • edge <value>:<tolerance>—Удаляет ненужные пикселы границы вокруг ST_Raster, отмеченные как NoData; edge показывает, что только пикселы заданного диапазона значений будут удалены, и только из внешней границы растра. Это предотвращает удаление пикселов внутри растра, имеющих то же значение.
  • level <pyramid level>—Максимальный уровень пирамидного слоя объекта ST_Raster, который будет существовать после выполнения мозаики изображения в ST_Raster.
  • skipLevel1—Указывает функции не хранить первый уровень пирамидного слоя
  • nearest | bilinear | bicubic—Алгоритм интерполяции, используемый для построения пирамидного слоя; по умолчанию установлен на nearest (ближайший)
  • log <logfile name>—Файл журнала, хранящий результаты функции мозаики при выполнении мозаики входного изображения.
  • erase—Включает режим удаления для мозаики; для любых входных NoData удаляет соответствующие данные пикселов из результирующего растра.

Примеры

Эти примеры иллюстрируют следующее:

  1. Создание мозаики из всех файлов TIFF для пути E:\data и всех вложенных папок для существующего объекта ST_Raster. Результаты функции мозаики записываются в файл журнала E:\'log.txt'.
  2. Заполните объект ST_PixelData пикселами из объекта ST_Raster и затем выполните его мозаику с другим объектом ST_Raster.

Oracle

  1. UPDATE SAT t
    SET image = t.image.mosaic('E:\data\*.tif',
                               'recursive,log=E:\log.txt');
    
  2. 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

  1. UPDATE sat
    SET image = mosaic(image,'E:\data\*.tif',
                      'recursive,log=E:\log.txt');
    
  2. 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

  1. UPDATE sat
    SET image = image.mosaic('E:\data\*.tif',NULL,
                             'recursive,log=E:\log.txt');
    

  2. 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');
    
9/11/2013