7.132 SDO_GEOR.setGrayScale
形式
SDO_GEOR.setGrayScale( georaster IN OUT SDO_GEORASTER, layerNumber IN NUMBER, grayScale IN SDO_GEOR_GRAYSCALE);
説明
GeoRasterオブジェクトのレイヤーのグレースケール・マッピングを設定します。または、grayScale
パラメータにNULLが指定された場合、既存の値を削除します。
パラメータ
- georaster
-
GeoRasterオブジェクトを指定します。
- layerNumber
-
グレースケール・マッピングを設定するレイヤーの番号を指定します。値が0(ゼロ)の場合、オブジェクト・レイヤーが指定されます。
- grayScale
-
SDO_GEOR_GRAYSCALE型のオブジェクトを指定します(「SDO_GEOR_GRAYSCALEオブジェクト型」を参照)。
使用上のノート
指定するSDO_GEOR_GRAYSCALEオブジェクトは、次の条件に該当する必要があります。
-
cellValue
値は、GeoRasterオブジェクトのcellDepth
値と一貫性があり、その値の範囲内にある。 -
gray
値が、0から255の整数である。 -
cellValue
配列に含まれるエントリが重複していない。 -
cellValue
配列のエントリが、昇順である。
処理の完了後、GeoRasterオブジェクトは自動的に検証されます。
GeoRasterオブジェクトのレイヤーのグレースケール・マッピングを戻すには、SDO_GEOR.getGrayScaleファンクションを使用します。
layerNumber
がNULLか、GeoRasterオブジェクトに対して無効である場合、いずれかのグレー値がNULLか、範囲外である場合、cellValue
配列に重複値が含まれている場合、いずれかのcellValue
値がNULL、範囲外または順序が適切でない場合は、例外が発生します。
例
次の例では、GEORASTER_TABLE表で、GEORID列値が4である行に含まれているGeoRasterオブジェクト(GEORASTER列)のレイヤー3のグレースケール・マッピングを設定します。(GEORASTER_TABLE表の定義は、「記憶域パラメータ」の例1-1の次に説明されています。)
DECLARE grobj sdo_georaster; gsobj sdo_geor_grayscale; BEGIN gsobj := sdo_geor_grayscale(sdo_number_array(1, 10, 20, 30, 255), sdo_number_array(0, 180, 210, 230, 250)); SELECT georaster INTO grobj FROM georaster_table WHERE georid=4 FOR UPDATE; sdo_geor.setGrayScale(grobj, 3, gsobj); UPDATE georaster_table SET georaster = grobj WHERE georid=4; COMMIT; END; /
親トピック: SDO_GEORパッケージのリファレンス