13.7 SDO_GEOR_UTL.createImage

形式

SDO_GEOR_UTL.createImage(
  inData             IN     BLOB,
  height             IN     NUMBER,
  width              IN     NUMBER,
  bands              IN     NUMBER,
  cellDepth          IN     VARCHAR2,
  interleaving       IN     VARCHAR2,
  outData            IN OUT BLOB,
  outFormat          IN     VARCHAR2 DEFAULT 'PNG',
  nodataMapping      IN     MDSYS.SDO_NUMBER_ARRAYSET DEFAULT NULL,
  imageProcessing    IN     VARCHAR2 default NULL,
  statistics         IN     MDSYS.SDO_NUMBER_ARRAYSET DEFAULT NULL,
  histogram          IN     MDSYS.SDO_GEOR_HISTOGRAM_ARRAY DEFAULT NULL
);

または

SDO_GEOR_UTL.createImage(
  inData             IN     BLOB,
  height             IN     NUMBER,
  width              IN     NUMBER,
  cellDepth          IN     VARCHAR2,
  outData            IN OUT BLOB,
  outFormat          IN     VARCHAR2 DEFAULT 'PNG',
  colorMap           IN     MDSYS.SDO_GEOR_COLORMAP
);

または

SDO_GEOR_UTL.createImage(
  inData             IN     BLOB,
  height             IN     NUMBER,
  width              IN     NUMBER,
  cellDepth          IN     VARCHAR2,
  outData            IN OUT BLOB,
  outFormat          IN     VARCHAR2 DEFAULT 'PNG',
  grayScale          IN    MDSYS.SDO_GEOR_GRAYSCALE
);

説明

BLOBの入力データからJPEG、PNGまたはTIFFイメージを作成し、作成したイメージを別のBLOBに書き込みます。

パラメータ

inData

入力バイナリ・ラスター・データのBLOBロケータ。

入力バイナリ・データは、長方形ウィンドウ内のラスター・データを表します。

height

入力データの長方形ウィンドウのセルの高さ。

width

入力データの長方形ウィンドウのセルの幅。

bands

入力データのバンド数。

cellDepth

入力データのデータ型。

指定できる値は、GeoRasterメタデータのXMLスキーマのcellDepthTypeで定義されている値のいずれか1つのみです。

interleaving

入力データのインターリーブ・タイプ。

指定できる値は、BSQ (順次バンド)、BIL (ライン単位のバンド・インターリーブ)またはBIP (ピクセル単位のバンド・インターリーブ)のいずれか1つのみです。

outData

出力イメージのBLOBロケータ。

outFormat

出力イメージ形式。

指定できる値は、PNG、JPEG、TIFFのいずれか1つのみです。

nodataMapping

生成されたイメージでNODATAセル値をどのようにレンダリングするかを指定します。

このパラメータの形式は、数値セットの配列です。配列の各要素は、4つの数値のセット(val1val2val3val4)です。

  • val1およびval2: NODATAセル値の範囲を[val1, val2]として指定します。つまり、この範囲に含まれるセル値はNODATAセル値とみなされます。
  • val3: 指定されたNODATAセル値の置換値を指定します。置換が不要な場合は、val3をNULLにできます。
  • val4: 指定できる値は、1または0です。
    • 1: これは、指定されたNODATAセルが出力イメージで透明としてレンダリングされることを意味します。
    • 0: これは、指定されたNODATAセルが出力イメージで透明としてレンダリングされないことを意味します。
imageProcessing

取得したラスター・データに適用するイメージ処理方法を指定します。

有効な値は、次のとおりです。

  • "stretch": ラスター・データ・セル値の範囲を[0,255]にストレッチします。
  • "piecewisestretch": ラスター・データ・セル値の範囲を[0,255]にストレッチしますが、セル値が低いイメージ領域の明度を高めたり、コントラストを強くします。
  • "normalize": ラスター・データ・セル値を処理して、平均値が128、標準偏差が64となるようにします。
  • "equalize": ヒストグラムに基づいて、ラスター・データ・セルに均等化を適用します。
  • "terrainRGB": 1バンドDEM (数値標高モデル)ラスター・データに基づいて、Mapbox TerrainRGBイメージを生成します。これは、MaplibreまたはMapboxでラスターDEMソースを構成するために使用されます。
statistics

入力ラスター・データの統計。

これは、イメージ処理方法"stretch""piecewisestretch"および"normalize"で使用されます。配列の各要素は、バンドの統計値のセット(minmaxmeanおよびstd)です。

histogram

入力ラスター・データのヒストグラム。

これは、イメージ処理方法equalizeで使用されます。

colormap

作成されたイメージのカラーマップ。

これは、1バンド入力ラスター・データにのみ適用されます。

grayscale

作成されたイメージのグレースケール表定義。

これは、1バンド入力ラスター・データにのみ適用されます。

使用上のノート

SDO_GEOR_UTL.createImageプロシージャには3つの形式があります。colormapまたはgrayscaleパラメータを含む形式は、1バンド入力ラスター・データ専用であり、作成されたイメージは、指定されたカラーマップまたはグレースケール表に関連付けられます。

colormapまたはgrayscaleパラメータを除外する形式では、1、2、3または4バンドの入力ラスター・データがサポートされ、2または4バンドの入力ラスターでは、2番目または4番目のバンドがアルファ・バンドとして扱われます。ただし、4バンド・イメージはJPEG出力形式ではサポートされません。

ノート:

Autonomous AI Database環境を使用している場合は、この機能に対してOracle Javaを有効にする必要があります。詳細は、Oracle Javaの有効化を参照してください。

次の例では、lb1の256x256x3入力ラスター・データから3バンドPNGイメージを作成し、lb2に保存します:

sdo_geor_utl.createImage(lb1, 256, 256, 3, ‘8BIT_U’, ‘BIP’, lb2, ‘PNG’);

次の例では、lb1の256x256x3入力ラスター・データから3バンドPNGイメージを作成し、セル値150を0にマップし、透明にしてイメージをlb2に保存します:

sdo_geor_utl.createImage(lb1, 256, 256, 3, ‘8BIT_U’, ‘BIP’, lb2, ‘PNG’,
      sdo_number_arrayset(sdo_number_array(150, 150, 0, 1));

次の例では、lb1の256x256x3入力ラスター・データから3バンドPNGイメージを作成し、ストレッチしてlb2に保存します。入力ラスターの統計は、入力パラメータに指定されます。

sdo_geor_utl.createImage(lb1, 256, 256, 3, ‘8BIT_U’, ‘BIP’, lb2, ‘PNG’, null,
      ‘stretch’, sdo_number_arrayset(sdo_number_array(30, 80, 50.32, 15.2), 
      sdo_number_array(25, 80, 55.8, 10.62), sdo_number_array(28, 78, 52.25, 15.5);

次の例では、lb1の256x256 1バンド入力DEMラスター・データから3バンドterrainRGB PNGイメージを作成し、lb2に保存します:

sdo_geor_utl.createImage(lb1, 256, 256, 1, ‘16BIT_U’, ‘BIP’, lb2, ‘PNG’, null,
      ‘terrainRGB’);

次の例では、指定されたカラーマップを使用して256x256 1バンドTIFFイメージを作成し、lb2に保存します:

sdo_geor_utl.createImage(lb1, 256, 256, ‘8BIT_U’, lb2, ‘TIFF’, sdo_geor_colormap(
  sdo_number_array(0, 100, 150, 160), sdo_number_array(255, 255,   0, 0),
  sdo_number_array(255,   0, 255, 0),  sdo_number_array(255,   0,   0, 255),
  sdo_number_array(255, 255, 255, 255));