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つの数値のセット(
val1、val2、val3、val4)です。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"で使用されます。配列の各要素は、バンドの統計値のセット(min、max、meanおよび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));
親トピック: SDO_GEOR_UTLパッケージのリファレンス