ST_Raster.subset

定義

ST_Raster.subset は、ST_Raster オブジェクトのサブセットを返します。

構文

Oracle

subset (parameter_list IN VARCHAR2) RETURN ST_RASTER

subset (parameter_list IN VARCHAR2, 
        options IN VARCHAR2) RETURN ST_RASTER

PostgreSQL

subset (raster IN ST_RASTER, 
        parameter_list IN TEXT) RETURN ST_RASTER

subset (raster IN ST_RASTER, 
        parameter_list IN TEXT, 
        options IN TEXT) RETURN ST_RASTER

SQL Server

subset (parameter_list IN NVARCHAR, 
        options IN NVARCHAR) RETURN ST_RASTER

戻り値

ST_Raster

パラメータ

パラメータ

説明

raster

サブセットの生成元になる ST_Raster

parameter_list

単一引用符で囲んだパラメータのカンマ区切りのリスト。以下のパラメータを指定できます。

  • band <1 番目のバンド番号>[,<2 番目のバンド番号>],…,[n 番目のバンド番号]> - 返されるバンドのバンド シーケンス番号を指定するカンマ区切りのリスト。

    ピクセル データはバンド シーケンス番号の順に返されます。パラメータを指定しない場合は、ST_Raster のすべてのバンドが通常のバンド シーケンスの順にエクスポートされます。

  • window (minx,miny,maxx,maxy) - ピクセル座標で表現した ST_Raster。

    サブセット領域を定義します(window パラメータと extent パラメータは互いに排他的です。つまり、どちらか一方のみを使用できます。両方を同時に使用することはできません)。パラメータを両方とも指定した場合は、エラーが返されます。どちらも指定しない場合は、ソース ST_Raster の領域全体が返されます。

  • extent (minx,miny,maxx,maxy) - 地理座標で表現した ST_Raster。

    サブセット領域を定義します(extent パラメータと window パラメータは互いに排他的です。つまり、どちらか一方のみを使用できます。両方を同時に使用することはできません)。パラメータを両方とも指定した場合は、エラーが返されます。どちらも指定しない場合は、ソース ST_Raster の領域全体が返されます。

options

単一引用符で囲んだオプションのカンマ区切りのリスト。以下のオプションを指定できます。

  • compression <lz77 | jpeg | jp2> - ST_Raster に適用する圧縮アルゴリズムを指定します。デフォルトでは、データは圧縮されません。
  • interleave <separate | contiguous> - このオプションは、3 バンドの 8 ビット ピクセル データを格納する ST_Raster に適用されます。インターリーブに separate を指定すると、ピクセル データが独立した RGB バンドに抽出されます。contiguous を指定すると、ピクセル データは隣接する一連の赤、緑、および青のピクセルに抽出されます。
  • conversion <rgb | grayscale> - rgb に設定すると、subset 関数はシングルバンドのカラーマップ ST_Raster を 3 バンドの RGB ST_Raster として返します。conversion パラメータに grayscale を設定すると、1 ビットの白黒 ST_Raster オブジェクトが 8 ビットのグレースケール ST_Raster として返されます。
  • quality <値> - JPEG 圧縮または JPEG 2000 可変圧縮の品質を指定します。
  • bitrate <値> - JPEG 2000 固定圧縮のビットレートを指定します。
  • nodata (r,g,b) | <値> - NoData として返される ST_Raster のピクセル値を指定します。
  • nocolormap - カラーマップを返しません。
  • edge <値>:<許容値> - ST_Raster の周囲にある NoData にマークされた不要な境界ピクセルを削除します。edge オプションを指定すると、指定した値の範囲にあるピクセルだけが、ラスタの外側エッジのみから削除されます。これにより、ラスタ内部にある同じ値のピクセルが削除されるのを防止します。
  • level <ピラミッド レベル> - 返される ST_Raster のピラミッド レベル。デフォルトはベース ピラミッド レベルです。
  • skipLevel1 - 第 1 ピラミッド レベルを除く ST_Raster を返します。ピラミッドは第 2 レベルから始まります。
  • tile (<幅>,<高さ>) - 返される ST_Raster のタイルのピクセル幅およびピクセル高さを指定します。
  • nearest | bilinear | bicubic - 返される ST_Raster のピラミッド内挿法を指定します。
  • log <ログファイル名> - subset 関数の結果を記録するログ ファイル。

1 つめの例では、ST_Raster.subset 関数を使用して、既存の ST_Raster オブジェクトのコピーをバンド シーケンスの逆順に作成します。

2 つめの例では、ST_Raster.subset 関数の出力を、ST_Raster.mosaic 関数でラスタ データのソースとして使用します。ST_Raster.subset 関数を使用して world テーブルの image 列から第 2 ピラミッド レベルを抽出し、これをモザイク処理して valley テーブルの image 列に格納します。

Oracle

  1. INSERT INTO VALLEY (image)
    SELECT t.image.subset('band=(3,2,1)')
    FROM VALLEY t
    WHERE t.image.raster_id = 2;
  2. UPDATE VALLEY t
    SET image = t.image.mosaic ('select t.image.subset('level=2') 
    FROM WORLD t', 'log=E:\log.txt');

PostgreSQL

  1. INSERT INTO valley (image)
    SELECT subset(image,'band=(3,2,1)')
    FROM valley
    WHERE raster_id(image) = 2;
  2. UPDATE valley
    SET image = mosaic (image,'select subset(image,'level=2') 
    FROM world', 'log=E:\log.txt');

SQL Server

  1. INSERT INTO valley (image)
    SELECT image.subset('band=(3,2,1)',NULL)
    FROM valley
    WHERE image.raster_id = 2;
  2. UPDATE valley
    SET image = image.mosaic (NULL, 'select image.subset('level=2',NULL) 
    FROM world', 'log=E:\log.txt');

7/10/2012