定義
ST_Raster.mosaic 関数は、1 つまたは複数の入力画像を既存の ST_Raster オブジェクトとマージします。この関数は、UPDATE ステートメントのみで使用します。SELECT ステートメントで使用すると、データベース エラーが返されます。
ST_Raster.mosaic 関数は 1 つのトランザクション内で実行されます。したがって、未処理のトランザクションを調整するために利用可能なロールバック領域の量に関連して、一度にモザイク処理されるソース ラスターの数に注意する必要があります。
ソース ラスター データがネットワーク ドライブ上にある場合は、現在のデータベース プロセスの所有者に適切なファイル アクセス権限を付与する必要があります。
構文
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_RASTERPostgreSQL
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_RASTERSQL Server
mosaic (filename IN NVARCHAR,
data IN ST_PIXELDATA,
parameter_list IN NVARCHAR) RETURN ST_RASTER戻り値
ST_Raster
パラメーター
| パラメーター | 説明 |
|---|---|
filename | 1 つまたは複数のソース ラスター データのファイル名 ファイル名にはオペレーティング システムのワイルドカード文字を使用できます。また、SQL SELECT ステートメントを指定して、ユーザー定義のテーブルから 1 つの ST_Raster 列を選択することもできます。サポートされている画像ファイルの形式は GeoTIFF です。 |
data | 定義済みの ST_PixelData オブジェクト |
raster | 指定した画像をモザイク処理する際の ST_Raster のターゲット値 |
parameter_list | 単一引用符で囲んだパラメーターのカンマ区切りのリスト。以下のパラメーターを指定できます。
|
例
以下の例では、次の内容を示しています。
- E:\data とそのサブフォルダー以下にあるすべての TIFF のモザイクを、既存の ST_Raster オブジェクトに作成します。mosaic 関数の結果は、ログ ファイルの E:\'log.txt' に書き込まれます。
- ST_PixelData オブジェクトに ST_Raster オブジェクトのピクセルを設定した後、モザイク処理の結果を別の 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');