ST_Raster.export

定義

ST_Raster.export 関数は、ST_Raster オブジェクトのすべてまたは一部を画像ファイルに書き込みます。この関数は、SQL SELECT ステートメントの選択リストの一部としてのみ使用するように設計されています。

構文

Oracle

export (filename IN VARCHAR2) RETURN VARCHAR2

export (filename IN VARCHAR2, 
        parameter_list IN VARCHAR2) RETURN VARCHAR2

PostgreSQL

export (raster IN ST_RASTER, 
        filename IN TEXT) RETURN TEXT

export (raster IN ST_RASTER, 
        filename IN TEXT, 
        parameter_list IN TEXT) RETURN TEXT

SQL Server

export (filename IN NVARCHAR, 
        parameter_list IN NVARCHAR) RETURN NVARCHAR

戻り値

VARCHAR

パラメータ

パラメータ

説明

filename

エクスポートするラスタ ファイルの名前

filename パラメータは VARCHAR であるため、単一引用符で囲む必要があります。ファイル名の拡張子で、ファイルのエクスポートに使用するラスタ形式が決定されます。現在、エクスポートでサポートされているラスタ形式は GeoTIFF です。したがって、「.tif」の拡張子を付加します。

raster

エクスポートする ST_Raster 値

parameter_list

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

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

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

  • level <ピラミッド レベル> - エクスポートする ST_Raster オブジェクトのピラミッド レベル。デフォルトはベース レベル(0)です。
  • compression <lzw | g3 | g4 | zip> - 画像ファイルの作成に使用する圧縮。デフォルトでは、圧縮せずに画像ファイルを作成します。
  • window (minx,miny,maxx,maxy) - 画像ファイルにエクスポートする ST_Raster オブジェクトの範囲(ピクセル座標)。
  • extent (minx,miny,maxx,maxy) - 画像ファイルにエクスポートする ST_Raster オブジェクトの範囲(地理座標)。
  • overwrite - 既存のファイルを上書きします。デフォルトでは、ファイルがすでに存在するとエラーが返されます。

以下の例では、次の内容を示します。

  1. ST_Raster オブジェクトを border.tif という名前の GeoTIFF ファイルにエクスポートする方法
  2. ST_Raster オブジェクトの 2 番目のピラミッド レベルを、GeoTIFF ファイルの pyramid.tif にバンド シーケンスの降順でエクスポートする方法

これらの例では、ファイルは SQL を処理する DBMS サーバの位置にエクスポートされます。ファイル名にはパスを含めることができます。DBMS サーバで有効なパスであることを確認してください。

Oracle

  1. SELECT image.export('border.tif', 'compression=zip') 
      FROM BORDER t
      WHERE t.image.raster_id = 10;
    
  2. SELECT image.export('pyramid.tif', 'level=2, band=(3,2,1)')
      FROM BORDER
      WHERE image.raster_id = 20;
    

PostgreSQL

  1. SELECT export(image,'border.tif', 'compression=zip') 
      FROM border
      WHERE raster_id(image) = 10;
    
  2. SELECT export(image, 'pyramid.tif', 'level=2, band=(3,2,1)')
      FROM border
      WHERE raster_id(image) = 20;
    

SQL Server

  1. SELECT image.export('border.tif', 'compression=zip')
     FROM border
     WHERE image.raster_id = 10;
  2.  SELECT image.export('pyramid.tif', 'level=2, band=(3,2,1)')
    FROM border
    WHERE image.raster_id = 20;

7/10/2012