11 SDO_GEOR_IPパッケージのリファレンス
SDO_GEOR_IPパッケージには、GeoRasterオブジェクトのイメージ処理操作を実行するためのサブプログラム(ファンクションおよびプロシージャ)が含まれています。この章では、そのサブプログラムのリファレンス情報を、例を使用して説明します。
この章の複数の例では、GEORASTER_TABLEという名前の表を参照します。この表の定義は、「記憶域パラメータ」の例1-1の次に説明されています。
すべてのSDO_GEOR_IPサブプログラムは、現行の接続スキーマ以外のスキーマに定義されているGeoRasterオブジェクトに対して機能できます。
11.1 SDO_GEOR_IP.dodge
形式
SDO_GEOR_IP.dodge( inGeoRaster IN SDO_GEORASTER, gridsize IN SDO_NUMBER_ARRAY, samplingFactor IN VARCHAR2 DEFAULT NULL, means IN SDO_NUMBER_ARRAY DEFAULT NULL, standardDeviations IN SDO_NUMBER_ARRAY DEFAULT NULL, storageParam IN VARCHAR2 DEFAULT NULL, outGeoraster IN OUT SDO_GEORASTER, parallelParam IN VARCHAR2 DEFAULT NULL);
または
SDO_GEOR_IP.dodge( inGeoRaster IN SDO_GEORASTER, gridsize IN SDO_NUMBER_ARRAY, samplingFactor IN VARCHAR2 DEFAULT NULL, refGeoraster IN SDO_GEORASTER, standardDeviations IN SDO_NUMBER_ARRAY DEFAULT NULL, storageParam IN VARCHAR2 DEFAULT NULL, outGeoraster IN OUT SDO_GEORASTER, parallelParam IN VARCHAR2 DEFAULT NULL);
説明
入力GeoRasterオブジェクトに覆い焼きアルゴリズムを適用して、イメージをカラー・バランス処理します。
パラメータ
- inGeoRaster
-
処理するSDO_GEORASTERオブジェクトを指定します。
- gridSize
-
xおよびy方向の各グリッドのサイズ。1つまたは2つの数値の配列です。1つの数値のみを指定する場合、xおよびy方向の両方に使用されます。
- samplingFactor
-
統計の計算を制御するために使用するサンプリング係数として、1/(n*n)の分母nを
'samplingFactor=n'
の書式で指定します。この値は、統計の算出時に行次元と列次元の両方でスキップするセルの数を表します。たとえば、samplingFactor
が4の場合はセルの16分の1が統計の算出に使用されますが、samplingFactor
が1の場合はすべてのセルが統計の算出に使用されます。この数値が大きくなるほど統計の精度は下がる可能性がありますが、統計算出の速度は速くなります。指定しない場合(NULL)、デフォルト値は1です。samplingFactor
は、gridSize
の半分(0.5)以上を指定できません。 - means
-
各出力バンドのターゲットの平均値。1つの値のみを指定する場合、すべての出力バンドに適用されます。それ以外の場合、出力GeoRasterオブジェクトのバンド数と同じ値を含める必要があります。NULLの場合、すべてのグリッドの平均値として計算されます。
- standardDeviations
-
各出力バンドのターゲットの標準偏差値。1つの値のみを指定する場合、すべての出力バンドに適用されます。それ以外の場合、出力GeoRasterオブジェクトのバンド数と同じ値を含める必要があります。NULLの場合、すべてのグリッドの平均の標準偏差として計算されます。
- refGeoraster
-
参照GeoRasterオブジェクト。覆い焼き結果の出力は、参照GeoRasterオブジェクトの統計に適応します。
- storageParam
-
記憶域パラメータを示す文字列を指定します(「記憶域パラメータ」を参照)。
- outGeoRaster
-
操作の結果を反映させる出力SDO_GEORASTERオブジェクトを指定します。既存の有効なGeoRasterオブジェクトまたは空のGeoRasterオブジェクトのいずれかであることが必要です。(空のGeoRasterオブジェクトの詳細は、「空白のGeoRasterオブジェクトと空のGeoRasterオブジェクト」を参照してください)。
inGeoRaster
と同じGeoRasterオブジェクトは指定できません。 - parallelParam
-
操作の並列度を指定します。指定する場合、
parallel=
nという形式である必要があります(nは1より大きい)。データベース・オプティマイザでは、このパラメータによって指定された並列度を使用します。指定しない場合、デフォルトでパラレル処理は行われません。(詳細は、「GeoRasterでのパラレル処理」を参照してください。)並列性を指定すると、プロシージャはプロセスの実行中に内部コミットを実行します。したがって、このプロシージャの結果をロールバックできません。エラーが発生した場合(Oracle Parallel Serverが原因である場合でも)、操作をロールバックするために、出力結果のGeoRasterオブジェクトを明示的に削除する必要があります。
使用上のノート
この覆い焼き操作は、適応性のあるイメージ拡張方法を使用して、イメージの色調のバランスを取ります。つまり、暗い領域を明るくし、明るい領域を暗くします。gridsize
パラメータで定義されているグリッドの統計がオンザフライで収集され、ターゲットの平均値および標準偏差値に調整されます。不均衡を排除するため、グリッド・サイズを不均衡の領域より小さくする必要があります。最適な結果を実現するためにgridSize
パラメータを調整します。
入力GeoRasterイメージに8BIT_U
のcellDepth
値を含める必要があります。記憶域パラメータのcelldepth
値は無視されます。outGeoRaster
オブジェクトのセル深度は、常に8BIT_U
です。
入力GeoRasterオブジェクトのカラー・マップはサポートされていません。
出力GeoRasterオブジェクトにはピラミッドまたはマスクが含まれません。
例
次の例では、入力GeoRasterオブジェクトの覆い焼きの結果のGeoRasterオブジェクトを作成します。必要な平均および標準偏差は、それぞれ125および80として設定されます。グリッド・サイズは、xおよびy方向で512です。(GEORASTER_TABLEという名前の表を参照します。この表の定義は「記憶域パラメータ」の例1-1の次に説明されています。)
DECLARE gr1 sdo_georaster; gr2 sdo_georaster; BEGIN INSERT INTO georaster_table (georid, georaster) VALUES (41, sdo_geor.init('RDT_1')) RETURNING georaster INTO gr2; SELECT georaster INTO gr1 FROM georaster_table WHERE georid=4; sdo_geor_ip.dodge(gr1, sdo_number_array(512, 512), ‘samplingFactor=3’, sdo_number_array(125), sdo_number_array(80), null, gr2); UPDATE georaster_table SET georaster=gr2 WHERE georid=41; COMMIT; END; /
次の例では、参照GeoRasterオブジェクトに基づいて、入力GeoRasterオブジェクトの覆い焼きの結果のGeoRasterオブジェクトを作成します。パラレル処理が並列度4で有効化されます。グリッド・サイズは、xおよびy方向で512です。(GEORASTER_TABLEという名前の表を参照します。この表の定義は「記憶域パラメータ」の例1-1の次に説明されています。)
DECLARE gr1 sdo_georaster; gr2 sdo_georaster; refgr sdo_georaster; BEGIN INSERT INTO georaster_table (georid, georaster) VALUES (41, sdo_geor.init('RDT_1')) RETURNING georaster INTO gr2; SELECT georaster INTO gr1 FROM georaster_table WHERE georid=4; SELECT georaster INTO refgr FROM georaster_table WHERE georid=1; sdo_geor_ip.dodge(gr1, sdo_number_array(512, 512), ‘samplingFactor=3’, refgr, null, gr2, 'parallel=4'); UPDATE georaster_table SET georaster=gr2 WHERE georid=41; COMMIT; END; /
親トピック: SDO_GEOR_IPパッケージのリファレンス
11.2 SDO_GEOR_IP.equalize
形式
SDO_GEOR_IP.equalize( inGeoRaster IN SDO_GEORASTER, pyramidLevel IN NUMBER, cropArea IN SDO_NUMBER_ARRAY, bandNumbers IN VARCHAR2, storageParam IN VARCHAR2, outGeoraster IN OUT SDO_GEORASTER, parallelParam IN VARCHAR2 DEFAULT NULL);
または
SDO_GEOR_IP.equalize( inGeoRaster IN SDO_GEORASTER, pyramidLevel IN NUMBER, cropArea IN SDO_GEOMETRY, layerNumbers IN VARCHAR2, storageParam IN VARCHAR2, outGeoraster IN OUT SDO_GEORASTER, parallelParam IN VARCHAR2 DEFAULT NULL);
説明
ヒストグラム均等化メソッドを使用して、入力GeoRasterオブジェクトを処理します。処理されたイメージは、出力GeoRasterオブジェクトに格納されます。
パラメータ
- inGeoRaster
-
均等化するSDO_GEORASTERオブジェクトを指定します。
- pyramidLevel
-
ソースGeoRasterオブジェクトの均等化するピラミッド・レベルを示す番号を指定します。NULLの場合、デフォルトは0です。
- cropArea
-
クロッピング領域を定義します。
cropArea
がSDO_GEOMETRY型の場合は、layerNumbers
パラメータを使用して1つ以上のレイヤー番号を指定します。cropArea
がSDO_NUMBER_ARRAY型の場合は、bandNumbers
パラメータを使用して、1つ以上のバンド番号を指定します。データ型がSDO_NUMBER_ARRAYの場合、このパラメータで矩形ウィンドウの左上の座標(行,列)と右下の座標(行,列)を指定することによって、ラスター空間が想定されます。データ型がSDO_GEOMETRYの場合、ジオメトリ・オブジェクトの最小境界矩形(MBR)がクロッピング領域として使用されます(SDO_SRID要件の「使用上のノート」も参照してください)。
- bandNumbers
-
処理を実行する物理バンド番号を示す文字列を指定します。カンマで値を区切り、ハイフンで範囲を指定します(たとえば、
1-3
はバンド1、2および3を示します)。 - layerNumbers
-
処理を実行する論理レイヤー番号を示す文字列を指定します。カンマで値を区切り、ハイフンで範囲を指定します(たとえば、
2-4
はレイヤー2、3および4を示します)。 - storageParam
-
記憶域パラメータを示す文字列を指定します(「記憶域パラメータ」を参照)。
- outGeoRaster
-
操作の結果を反映させる出力SDO_GEORASTERオブジェクトを指定します。既存の有効なGeoRasterオブジェクトまたは空のGeoRasterオブジェクトのいずれかであることが必要です。(空のGeoRasterオブジェクトの詳細は、「空白のGeoRasterオブジェクトと空のGeoRasterオブジェクト」を参照してください)。
inGeoRaster
と同じGeoRasterオブジェクトは指定できません。 - parallelParam
-
操作の並列度を指定します。指定する場合、
parallel=
nという形式である必要があります(nは1より大きい)。データベース・オプティマイザでは、このパラメータによって指定された並列度を使用します。指定しない場合、デフォルトでパラレル処理は行われません。(詳細は、「GeoRasterでのパラレル処理」を参照してください。)並列性を指定すると、プロシージャはプロセスの実行中に内部コミットを実行します。したがって、このプロシージャの結果をロールバックできません。エラーが発生した場合(Oracle Parallel Serverが原因である場合でも)、操作をロールバックするために、出力結果のGeoRasterオブジェクトを明示的に削除する必要があります。
使用上のノート
入力GeoRasterオブジェクトには、出力バンドごとに生成されるヒストグラムが含まれる必要があります。
入力GeoRasterオブジェクトのメタデータに格納されているヒストグラムに基づいて、均等化が実行されます。
入力GeoRasterオブジェクトに格納されるカラー・マップはサポートされていません。
出力GeoRasterオブジェクトにはピラミッドまたはマスクが含まれません。
出力GeoRasterオブジェクトのセル深度は、常に8BIT_U
です。
cropArea
パラメータのデータ型がSDO_GEOMETRYの場合、SDO_SRID値は次のいずれかの値である必要があります。
-
NULL(ラスター空間を指定)
-
MDSYS.CS_SRS表のSRID列の値
cropArea
パラメータ・ジオメトリとモデル空間のSDO_SRID値が異なる場合は、処理が実行される前に、cropArea
パラメータ・ジオメトリは自動的にモデル空間の座標系に変換されます。(ラスター空間およびモデル空間の詳細は、「GeoRasterデータ・モデル」を参照してください。)
cropArea
パラメータで測地MBRを指定する場合、日付変更線をまたぐMBRは指定できません
例
次の例では、メタデータに格納されているヒストグラムに基づいて均等化される各入力バンドを含むGeoRasterオブジェクトを作成します。(GEORASTER_TABLEという名前の表を参照します。この表の定義は「記憶域パラメータ」の例1-1の次に説明されています。)
DECLARE gr1 sdo_georaster; gr2 sdo_georaster; cropArea sdo_number_array := null; BEGIN INSERT INTO georaster_table (georid, georaster) VALUES (41, sdo_geor.init('RDT_1')) RETURNING georaster INTO gr2; SELECT georaster INTO gr1 FROM georaster_table WHERE georid=4; sdo_geor_ip.equalize(gr1, cropArea, null, null, gr2); UPDATE georaster_table SET georaster=gr2 WHERE georid=41; COMMIT; END; /
親トピック: SDO_GEOR_IPパッケージのリファレンス
11.3 SDO_GEOR_IP.filter
形式
SDO_GEOR_IP.filter( inGeoRaster IN SDO_GEORASTER, pyramidLevel IN NUMBER, cropArea IN SDO_NUMBER_ARRAY, bandNumbers IN VARCHAR2, filterParam IN VARCHAR2, filterKernel IN SDO_NUMBER_ARRAY, storageParam IN VARCHAR2, outGeoraster IN OUT SDO_GEORASTER, parallelParam IN VARCHAR2 DEFAULT NULL);
または
SDO_GEOR_IP.filter( inGeoRaster IN SDO_GEORASTER, pyramidLevel IN NUMBER, cropArea IN SDO_GEOMETRY, layerNumbers IN VARCHAR2, filterParam IN VARCHAR2, filterKernel IN SDO_NUMBER_ARRAY, storageParam IN VARCHAR2, outGeoraster IN OUT SDO_GEORASTER, parallelParam IN VARCHAR2 DEFAULT NULL);
説明
入力GeoRasterオブジェクトに畳込みフィルタを適用します。処理されたイメージは、出力GeoRasterオブジェクトに格納されます。
パラメータ
- inGeoRaster
-
フィルタ操作のSDO_GEORASTERオブジェクト。
- pyramidLevel
-
ソースGeoRasterオブジェクトのフィルタ処理のピラミッド・レベルを示す番号を指定します。NULLの場合、デフォルトは0です。
- cropArea
-
クロッピング領域を定義します。
cropArea
がSDO_GEOMETRY型の場合は、layerNumbers
パラメータを使用して1つ以上のレイヤー番号を指定します。cropArea
がSDO_NUMBER_ARRAY型の場合は、bandNumbers
パラメータを使用して、1つ以上のバンド番号を指定します。データ型がSDO_NUMBER_ARRAYの場合、このパラメータで矩形ウィンドウの左上の座標(行,列)と右下の座標(行,列)を指定することによって、ラスター空間が想定されます。データ型がSDO_GEOMETRYの場合、ジオメトリ・オブジェクトの最小境界矩形(MBR)がクロッピング領域として使用されます(SDO_SRID要件の「使用上のノート」も参照してください)。
- bandNumbers
-
処理を実行する物理バンド番号を示す文字列を指定します。カンマで値を区切り、ハイフンで範囲を指定します(たとえば、
1-3
はバンド1、2および3を示します)。 - layerNumbers
-
処理を実行する論理レイヤー番号を示す文字列を指定します。カンマで値を区切り、ハイフンで範囲を指定します(たとえば、
2-4
はレイヤー2、3および4を示します)。 - filterParam
-
入力GeoRasterに適用するフィルタのタイプ。書式は
‘filterType=
value’
です。valueは、LPF
(低域フィルタ、デフォルト)、HPF
(高域フィルタ)、HBF
(ハイブースト・フィルタ)、MIN
(最小フィルタ)、MAX
(最大フィルタ)、MEDIAN
(中央フィルタ)、MODE
(モード・フィルタ)またはCUSTOM
(ユーザー提供のフィルタ・カーネル)のいずれかを指定できます。filterParam
には、次のものが含まれる場合もあります。-
‘kernelSize=(
kx, ky)’
(kx, kyはxおよびy方向のカーネルのサイズです)。CUSTOM
以外のフィルタ・タイプでは、kx
およびky
は、3以上の奇数を指定する必要があります。 -
‘p1 =
value’
(ブースト度を示すためにHBF
フィルタで使用されます)。
-
- filterKernel
-
filterType=CUSTOM
の場合のみ必要です。SDO_NUMBER_ARRAYオブジェクトのkx * ky
の数値です。 - storageParam
-
記憶域パラメータを示す文字列を指定します(「記憶域パラメータ」を参照)。
- outGeoRaster
-
操作の結果を反映させる出力SDO_GEORASTERオブジェクトを指定します。既存の有効なGeoRasterオブジェクトまたは空のGeoRasterオブジェクトのいずれかであることが必要です。(空のGeoRasterオブジェクトの詳細は、「空白のGeoRasterオブジェクトと空のGeoRasterオブジェクト」を参照してください)。
inGeoRaster
と同じGeoRasterオブジェクトは指定できません。 - parallelParam
-
操作の並列度を指定します。指定する場合、
parallel=
nという形式である必要があります(nは1より大きい)。データベース・オプティマイザでは、このパラメータによって指定された並列度を使用します。指定しない場合、デフォルトでパラレル処理は行われません。(詳細は、「GeoRasterでのパラレル処理」を参照してください。)並列性を指定すると、プロシージャはプロセスの実行中に内部コミットを実行します。したがって、このプロシージャの結果をロールバックできません。エラーが発生した場合(Oracle Parallel Serverが原因である場合でも)、操作をロールバックするために、出力結果のGeoRasterオブジェクトを明示的に削除する必要があります。
使用上のノート
イメージのフィルタ処理の詳細は、「イメージのフィルタ処理」を参照してください。
一部の事前定義済の3x3フィルタのfilterKernel
値は、次のとおりです。
-
LPF: (1, 1, 1, 1, 1, 1, 1, 1, 1)*1/9
-
HPF: (-1, -1, -1, -1, 8, -1, -1, -1, -1)*1/9
-
HBF: (-k, -k, -k, -k, 8k, -k, -k, -k, -k)*1/9(kは、パラメータ
p1
で指定されるブースト係数です)
kernelSize
では、kx * kyを10000未満にする必要があります。
cropArea
パラメータのデータ型がSDO_GEOMETRYの場合、SDO_SRID値は次のいずれかの値である必要があります。
-
NULL(ラスター空間を指定)
-
MDSYS.CS_SRS表のSRID列の値
cropArea
パラメータ・ジオメトリとモデル空間のSDO_SRID値が異なる場合は、処理が実行される前に、cropArea
パラメータ・ジオメトリは自動的にモデル空間の座標系に変換されます。(ラスター空間およびモデル空間の詳細は、「GeoRasterデータ・モデル」を参照してください。)
入力GeoRasterオブジェクトのカラー・マップはサポートされていません。
出力GeoRasterオブジェクトにはピラミッドまたはマスクが含まれません。
例
次の例では、入力GeoRasterオブジェクトにデフォルトの低域フィルタを使用した結果のGeoRasterオブジェクトを作成します。フィルタ・カーネル・サイズは3x3です。(GEORASTER_TABLEという名前の表を参照します。この表の定義は「記憶域パラメータ」の例1-1の次に説明されています。)
DECLARE gr1 sdo_georaster; gr2 sdo_georaster; cropArea sdo_geometry := null; BEGIN INSERT INTO georaster_table (georid, georaster) VALUES (41, sdo_geor.init('RDT_1')) RETURNING georaster INTO gr2; SELECT georaster INTO gr1 FROM georaster_table WHERE georid=4; sdo_geor_ip.filter(gr1, 0, cropArea, null, ‘filtertype=LPF, kernelsize=(3, 3)’, null, null, gr2); UPDATE georaster_table SET georaster=gr2 WHERE georid=41; COMMIT; END; /
次の例では、入力GeoRasterオブジェクトにカスタム(ユーザー提供)の3x3フィルタを適用します。(GEORASTER_TABLEという名前の表を参照します。この表の定義は「記憶域パラメータ」の例1-1の次に説明されています。)
DECLARE gr1 sdo_georaster; gr2 sdo_georaster; cropArea sdo_geometry := null; BEGIN INSERT INTO georaster_table (georid, georaster) VALUES (41, sdo_geor.init('RDT_1')) RETURNING georaster INTO gr2; SELECT georaster INTO gr1 FROM georaster_table WHERE georid=4; sdo_geor_ip.filter(gr1, 0, cropArea, null, ‘filtertype=CUSTOM, kernelsize=(3,3)’, sdo_number_array(1/4, 1/2, 1/4, 1/2, 1, 1/2, 1/4, 1.2, 1/4 ), null, gr2); UPDATE georaster_table SET georaster=gr2 WHERE georid=41; COMMIT; END; /
親トピック: SDO_GEOR_IPパッケージのリファレンス
11.4 SDO_GEOR_IP.histogramMatch
形式
SDO_GEOR_IP.histogramMatch( inGeoRaster IN SDO_GEORASTER, pyramidLevel IN NUMBER, cropArea IN SDO_NUMBER_ARRAY, bandNumbers IN VARCHAR2, refHistograms IN SDO_GEOR_HISTOGRAM_ARRAY, storageParam IN VARCHAR2, outGeoraster IN OUT SDO_GEORASTER, parallelParam IN VARCHAR2 DEFAULT NULL);
または
SDO_GEOR_IP.histogramMatch( inGeoRaster IN SDO_GEORASTER, pyramidLevel IN NUMBER, cropArea IN SDO_GEOMETRY, layerNumbers IN VARCHAR2, refHistograms IN SDO_GEOR_HISTOGRAM_ARRAY, storageParam IN VARCHAR2, outGeoraster IN OUT SDO_GEORASTER, parallelParam IN VARCHAR2 DEFAULT NULL);
または
SDO_GEOR_IP.histogramMatch( inGeoRaster IN SDO_GEORASTER, pyramidLevel IN NUMBER, cropArea IN SDO_NUMBER_ARRAY, bandNumbers IN VARCHAR2, refGeoRaster IN SDO_GEORASTER, storageParam IN VARCHAR2, outGeoraster IN OUT SDO_GEORASTER, parallelParam IN VARCHAR2 DEFAULT NULL);
または
SDO_GEOR_IP.histogramMatch( inGeoRaster IN SDO_GEORASTER, pyramidLevel IN NUMBER, cropArea IN SDO_GEOMETRY, layerNumbers IN VARCHAR2, refGeoRaster IN SDO_GEORASTER, storageParam IN VARCHAR2, outGeoraster IN OUT SDO_GEORASTER, parallelParam IN VARCHAR2 DEFAULT NULL);
説明
出力GeoRasterオブジェクトのヒストグラムが参照GeoRasterオブジェクト(refGeoRaster
)のヒストグラムまたは参照ヒストグラム(refHistograms
)と一致するように、入力GeoRasterオブジェクトを処理します。
パラメータ
- inGeoRaster
-
ヒストグラム一致操作のSDO_GEORASTERオブジェクト。
- pyramidLevel
-
ヒストグラム一致操作のピラミッド・レベルを示す番号を指定します。NULLの場合、デフォルトは0です。
- cropArea
-
クロッピング領域を定義します。
cropArea
がSDO_GEOMETRY型の場合は、layerNumbers
パラメータを使用して1つ以上のレイヤー番号を指定します。cropArea
がSDO_NUMBER_ARRAY型の場合は、bandNumbers
パラメータを使用して、1つ以上のバンド番号を指定します。データ型がSDO_NUMBER_ARRAYの場合、このパラメータで矩形ウィンドウの左上の座標(行,列)と右下の座標(行,列)を指定することによって、ラスター空間が想定されます。データ型がSDO_GEOMETRYの場合、ジオメトリ・オブジェクトの最小境界矩形(MBR)がクロッピング領域として使用されます(SDO_SRID要件の「使用上のノート」も参照してください)。
- bandNumbers
-
処理を実行する物理バンド番号を示す文字列を指定します。カンマで値を区切り、ハイフンで範囲を指定します(たとえば、
1-3
はバンド1、2および3を示します)。 - layerNumbers
-
処理を実行する論理レイヤー番号を示す文字列を指定します。カンマで値を区切り、ハイフンで範囲を指定します(たとえば、
2-4
はレイヤー2、3および4を示します)。 - refHistograms
-
参照ヒストグラムの配列。配列に1つの要素のみがある場合、すべての出力バンドがこのヒストグラムに一致します。それ以外の場合、配列の長さは、出力GeoRasterオブジェクトのバンドの数と同じである必要があります。
- refGeoRaster
-
参照GeoRasterオブジェクト。参照GeoRasterオブジェクトは、メタデータに格納されているヒストグラムを含む必要があり、入力GeoRasterオブジェクトと同じ数のバンドを含む必要があります。
- storageParam
-
記憶域パラメータを示す文字列を指定します(「記憶域パラメータ」を参照)。
- outGeoRaster
-
操作の結果を反映させる出力SDO_GEORASTERオブジェクトを指定します。既存の有効なGeoRasterオブジェクトまたは空のGeoRasterオブジェクトのいずれかであることが必要です。(空のGeoRasterオブジェクトの詳細は、「空白のGeoRasterオブジェクトと空のGeoRasterオブジェクト」を参照してください)。
inGeoRaster
と同じGeoRasterオブジェクトは指定できません。 - parallelParam
-
操作の並列度を指定します。指定する場合、
parallel=
nという形式である必要があります(nは1より大きい)。データベース・オプティマイザでは、このパラメータによって指定された並列度を使用します。指定しない場合、デフォルトでパラレル処理は行われません。(詳細は、「GeoRasterでのパラレル処理」を参照してください。)並列性を指定すると、プロシージャはプロセスの実行中に内部コミットを実行します。したがって、このプロシージャの結果をロールバックできません。エラーが発生した場合(Oracle Parallel Serverが原因である場合でも)、操作をロールバックするために、出力結果のGeoRasterオブジェクトを明示的に削除する必要があります。
使用上のノート
入力GeoRasterオブジェクトは、各バンドに生成され、メタデータに格納されているヒストグラムを含む必要があります。
参照GeoRasterオブジェクトは、入力GeoRasterオブジェクトと同じ数のバンドを含む必要があります。参照GeoRasterのセル深度は、outGeoRaster
オブジェクトのセル深度を超えることはできません。参照GeoRasterオブジェクトは、メタデータに設定されているヒストグラムを含む必要があります。
cropArea
パラメータのデータ型がSDO_GEOMETRYの場合、SDO_SRID値は次のいずれかの値である必要があります。
-
NULL(ラスター空間を指定)
-
MDSYS.CS_SRS表のSRID列の値
cropArea
パラメータ・ジオメトリとモデル空間のSDO_SRID値が異なる場合は、処理が実行される前に、cropArea
パラメータ・ジオメトリは自動的にモデル空間の座標系に変換されます。(ラスター空間およびモデル空間の詳細は、「GeoRasterデータ・モデル」を参照してください。)
入力GeoRasterオブジェクトに格納されるカラー・マップはサポートされていません。
出力GeoRasterオブジェクトにはピラミッドまたはマスクが含まれません。
例
次の例では、入力GeoRasterオブジェクトと参照ヒストグラムが一致するヒストグラムの結果のGeoRasterオブジェクトを作成します。例では、参照ヒストグラムが表histogram_table(histogram sdo_geor_histogram, band number)
に格納されます。(GEORASTER_TABLEという名前の表を参照します。この表の定義は「記憶域パラメータ」の例1-1の次に説明されています。)
DECLARE gr1 sdo_georaster; gr2 sdo_georaster; cropArea sdo_number_array := null; refHists sdo_geor_histogram_array; BEGIN INSERT INTO georaster_table (georid, georaster) VALUES (41, sdo_geor.init('RDT_1')) RETURNING georaster INTO gr2; -- get the source GeoRaster object SELECT georaster INTO gr1 FROM georaster_table WHERE georid=4; -- get the reference histogram SELECT histogram bulk collect into refHists from histogram_table order by band; sdo_geor_ip.histogramMatch(gr1, 0, cropArea, null, refHists, null, gr2); UPDATE georaster_table SET georaster=gr2 WHERE georid=41; COMMIT; END; /
次の例では、入力GeoRasterオブジェクトと参照GeoRasterオブジェクトが一致するヒストグラムの結果のGeoRasterオブジェクトを作成します。(GEORASTER_TABLEという名前の表を参照します。この表の定義は「記憶域パラメータ」の例1-1の次に説明されています。)
DECLARE gr1 sdo_georaster; gr2 sdo_georaster; refgr sdo_georaster; cropArea sdo_number_array := null; BEGIN INSERT INTO georaster_table (georid, georaster) VALUES (41, sdo_geor.init('RDT_1')) RETURNING georaster INTO gr2; -- get the source GeoRaster object SELECT georaster INTO gr1 FROM georaster_table WHERE georid=4; -- get the reference GeoRaster object SELECT georaster INTO refgr FROM georaster_table WHERE georid=5; sdo_geor_ip.histogramMatch(gr1, 0, cropArea, null, refgr, null, gr2); UPDATE georaster_table SET georaster=gr2 WHERE georid=41; COMMIT; END; /
親トピック: SDO_GEOR_IPパッケージのリファレンス
11.5 SDO_GEOR_IP.normalize
形式
SDO_GEOR_IP.normalize( inGeoRaster IN SDO_GEORASTER, pyramidLevel IN NUMBER, cropArea IN SDO_NUMBER_ARRAY, bandNumbers IN VARCHAR2, means IN SDO_NUMBER_ARRAY, standardDeviations IN SDO_NUMBER_ARRAY, storageParam IN VARCHAR2, outGeoraster IN OUT SDO_GEORASTER, parallelParam IN VARCHAR2 DEFAULT NULL);
または
SDO_GEOR_IP.normalize( inGeoRaster IN SDO_GEORASTER, pyramidLevel IN NUMBER, cropArea IN SDO_GEOMETRY, layerNumbers IN VARCHAR2, means IN SDO_NUMBER_ARRAY, standardDeviations IN SDO_NUMBER_ARRAY, storageParam IN VARCHAR2, outGeoraster IN OUT SDO_GEORASTER, parallelParam IN VARCHAR2 DEFAULT NULL);
または
SDO_GEOR_IP.normalize( inGeoRaster IN SDO_GEORASTER, pyramidLevel IN NUMBER, cropArea IN SDO_NUMBER_ARRAY, bandNumbers IN VARCHAR2, refGeoRaster IN SDO_GEORASTER, storageParam IN VARCHAR2, outGeoraster IN OUT SDO_GEORASTER, parallelParam IN VARCHAR2 DEFAULT NULL);
または
SDO_GEOR_IP.normalize( inGeoRaster IN SDO_GEORASTER, pyramidLevel IN NUMBER, cropArea IN SDO_GEOMETRY, layerNumbers IN VARCHAR2, refGeoRaster IN SDO_GEORASTER, storageParam IN VARCHAR2, outGeoraster IN OUT SDO_GEORASTER, parallelParam IN VARCHAR2 DEFAULT NULL);
説明
指定された平均および標準偏差を使用して、入力GeoRasterオブジェクトを正規化します。
パラメータ
- inGeoRaster
-
ストレッチするSDO_GEORASTERオブジェクトを指定します。
- pyramidLevel
-
ソースGeoRasterオブジェクトのストレッチするピラミッド・レベルを示す番号を指定します。NULLの場合、デフォルトは0です。
- cropArea
-
クロッピング領域を定義します。
cropArea
がSDO_GEOMETRY型の場合は、layerNumbers
パラメータを使用して1つ以上のレイヤー番号を指定します。cropArea
がSDO_NUMBER_ARRAY型の場合は、bandNumbers
パラメータを使用して、1つ以上のバンド番号を指定します。データ型がSDO_NUMBER_ARRAYの場合、このパラメータで矩形ウィンドウの左上の座標(行,列)と右下の座標(行,列)を指定することによって、ラスター空間が想定されます。データ型がSDO_GEOMETRYの場合、ジオメトリ・オブジェクトの最小境界矩形(MBR)がクロッピング領域として使用されます(SDO_SRID要件の「使用上のノート」も参照してください)。
- bandNumbers
-
処理を実行する物理バンド番号を示す文字列を指定します。カンマで値を区切り、ハイフンで範囲を指定します(たとえば、
1-3
はバンド1、2および3を示します)。 - layerNumbers
-
処理を実行する論理レイヤー番号を示す文字列を指定します。カンマで値を区切り、ハイフンで範囲を指定します(たとえば、
2-4
はレイヤー2、3および4を示します)。 - means
-
各出力バンドのターゲットの平均値。1つの値のみを指定する場合、すべての出力バンドに適用されます。それ以外の場合、出力GeoRasterオブジェクトのバンド数と同じ値を含める必要があります。ターゲットの平均値は、
outGeoRaster
オブジェクトのセル深度の範囲である必要があります。NULLの場合、デフォルトは128です。 - standardDeviations
-
各出力バンドのターゲットの標準偏差値。1つの値のみを指定する場合、すべての出力バンドに適用されます。それ以外の場合、出力GeoRasterオブジェクトのバンド数と同じ値を含める必要があります。ターゲットの標準偏差値は、
outGeoRaster
オブジェクトのセル深度の範囲である必要があります。NULLの場合、デフォルトは100です。 - refGeoRaster
-
参照GeoRasterオブジェクト。ターゲットの平均および標準偏差を指定するかわりに、
refGeoRaster
の平均および標準偏差をターゲットとして使用します。参照GeoRasterオブジェクトは、入力GeoRasterオブジェクトと同じ数のバンドを含む必要があります。 - storageParam
-
記憶域パラメータを示す文字列を指定します(「記憶域パラメータ」を参照)。
- outGeoRaster
-
操作の結果を反映させる出力SDO_GEORASTERオブジェクトを指定します。既存の有効なGeoRasterオブジェクトまたは空のGeoRasterオブジェクトのいずれかであることが必要です。(空のGeoRasterオブジェクトの詳細は、「空白のGeoRasterオブジェクトと空のGeoRasterオブジェクト」を参照してください)。
inGeoRaster
と同じGeoRasterオブジェクトは指定できません。 - parallelParam
-
操作の並列度を指定します。指定する場合、
parallel=
nという形式である必要があります(nは1より大きい)。データベース・オプティマイザでは、このパラメータによって指定された並列度を使用します。指定しない場合、デフォルトでパラレル処理は行われません。(詳細は、「GeoRasterでのパラレル処理」を参照してください。)並列性を指定すると、プロシージャはプロセスの実行中に内部コミットを実行します。したがって、このプロシージャの結果をロールバックできません。エラーが発生した場合(Oracle Parallel Serverが原因である場合でも)、操作をロールバックするために、出力結果のGeoRasterオブジェクトを明示的に削除する必要があります。
使用上のノート
入力GeoRasterオブジェクトには、出力バンドごとに生成される統計が含まれる必要があります。
参照GeoRasterオブジェクトは、入力GeoRasterオブジェクトと同じ数のバンドを含む必要があります。refGeoRaster
オブジェクトのセル深度は、outGeoRaster
オブジェクトのセル深度を超えることはできません。参照GeoRasterオブジェクトは、メタデータに設定されている統計を含む必要があります。
cropArea
パラメータのデータ型がSDO_GEOMETRYの場合、SDO_SRID値は次のいずれかの値である必要があります。
-
NULL(ラスター空間を指定)
-
MDSYS.CS_SRS表のSRID列の値
cropArea
パラメータ・ジオメトリとモデル空間のSDO_SRID値が異なる場合は、処理が実行される前に、cropArea
パラメータ・ジオメトリは自動的にモデル空間の座標系に変換されます。(ラスター空間およびモデル空間の詳細は、「GeoRasterデータ・モデル」を参照してください。)
入力GeoRasterオブジェクトのカラー・マップはサポートされていません。
出力GeoRasterオブジェクトにはピラミッドまたはマスクが含まれません。
例
次の例では、GeoRasterオブジェクトを作成し、指定された平均および標準偏差に基づいて入力GeoRasterオブジェクトのバンドの正規化を実行します。(GEORASTER_TABLEという名前の表を参照します。この表の定義は「記憶域パラメータ」の例1-1の次に説明されています。)
DECLARE gr1 sdo_georaster; gr2 sdo_georaster; cropArea sdo_number_array := null; BEGIN INSERT INTO georaster_table (georid, georaster) VALUES (41, sdo_geor.init('RDT_1')) RETURNING georaster INTO gr2; SELECT georaster INTO gr1 FROM georaster_table WHERE georid=4; sdo_geor_ip.normalize(gr1, 0, cropArea, null, sdo_number_array(50, 80, 100), sdo_number_array(30, 20, 50), null, gr2); UPDATE georaster_table SET georaster=gr2 WHERE georid=41; COMMIT; END; /
次の例では、GeoRasterオブジェクトを作成し、指定された参照GeoRasterオブジェクトに基づいて入力GeoRasterオブジェクトのバンドの正規化を実行します。(GEORASTER_TABLEという名前の表を参照します。この表の定義は「記憶域パラメータ」の例1-1の次に説明されています。)
DECLARE gr1 sdo_georaster; gr2 sdo_georaster; refgr sdo_georaster; cropArea sdo_number_array := null; BEGIN INSERT INTO georaster_table (georid, georaster) VALUES (41, sdo_geor.init('RDT_1')) RETURNING georaster INTO gr2; -- get the source GeoRaster object SELECT georaster INTO gr1 FROM georaster_table WHERE georid=4; -- get the reference GeoRaster object SELECT georaster INTO refgr FROM georaster_table WHERE georid=5; sdo_geor_ip.normalize(gr1, 0, cropArea, null, refgr, null, gr2); UPDATE georaster_table SET georaster=gr2 WHERE georid=41; COMMIT; END; /
親トピック: SDO_GEOR_IPパッケージのリファレンス
11.6 SDO_GEOR_IP.piecewiseStretch
形式
SDO_GEOR_IP.piecewiseStretch( inGeoRaster IN SDO_GEORASTER, pyramidLevel IN NUMBER, cropArea IN SDO_NUMBER_ARRAY, bandNumbers IN VARCHAR2, inValues IN SDO_NUMBER_ARRAYSET DEFAULT NULL, outValues IN SDO_NUMBER_ARRAYSET DEFAULT NULL, storageParam IN VARCHAR2, outGeoraster IN OUT SDO_GEORASTER, parallelParam IN VARCHAR2 DEFAULT NULL);
または
SDO_GEOR_IP.piecewiseStretch( inGeoRaster IN SDO_GEORASTER, pyramidLevel IN NUMBER, cropArea IN SDO_GEOMETRY, layerNumbers IN VARCHAR2, inValues IN SDO_NUMBER_ARRAYSET DEFAULT NULL, outValues IN SDO_NUMBER_ARRAYSET DEFAULT NULL, storageParam IN VARCHAR2, outGeoraster IN OUT SDO_GEORASTER, parallelParam IN VARCHAR2 DEFAULT NULL);
説明
最小値および最大値を使用して、入力GeoRasterオブジェクトの線形ストレッチを実行します。処理されたイメージは、出力GeoRasterオブジェクトに格納されます。
パラメータ
- inGeoRaster
-
ストレッチするSDO_GEORASTERオブジェクトを指定します。
- pyramidLevel
-
ソースGeoRasterオブジェクトのストレッチするピラミッド・レベルを示す番号を指定します。NULLの場合、デフォルトは0です。
- cropArea
-
クロッピング領域を定義します。
cropArea
がSDO_GEOMETRY型の場合は、layerNumbers
パラメータを使用して1つ以上のレイヤー番号を指定します。cropArea
がSDO_NUMBER_ARRAY型の場合は、bandNumbers
パラメータを使用して、1つ以上のバンド番号を指定します。データ型がSDO_NUMBER_ARRAYの場合、このパラメータで矩形ウィンドウの左上の座標(行,列)と右下の座標(行,列)を指定することによって、ラスター空間が想定されます。データ型がSDO_GEOMETRYの場合、ジオメトリ・オブジェクトの最小境界矩形(MBR)がクロッピング領域として使用されます(SDO_SRID要件の「使用上のノート」も参照してください)。
- bandNumbers
-
処理を実行する物理バンド番号を示す文字列を指定します。カンマで値を区切り、ハイフンで範囲を指定します(たとえば、
1-3
はバンド1、2および3を示します)。 - layerNumbers
-
処理を実行する論理レイヤー番号を示す文字列を指定します。カンマで値を区切り、ハイフンで範囲を指定します(たとえば、
2-4
はレイヤー2、3および4を示します)。 - inValues
-
各入力バンドに対応するSDO_NUMBER_ARRAYオブジェクトの配列。1つの要素のみが指定される場合、すべての出力バンドが同じようにストレッチされます。各SDO_NUMBER_ARRAYでは、ストレッチで使用される入力GeoRasterオブジェクトのセル値範囲を指定します。たとえば、sdo_number_array(0, 50, 255)は、0から50および50から255の2つの値範囲を指定します。
- outValues
-
各出力バンドに対応するSDO_NUMBER_ARRAYオブジェクトの配列。1つの要素のみが指定される場合、すべての出力バンドが同じようにストレッチされます。各SDO_NUMBER_ARRAYでは、
inValues
パラメータの値範囲に対応するターゲット値範囲を指定します。たとえば、sdo_number_array(0, 200, 255)は、0から200および200から255の2つの値範囲を指定します。 - storageParam
-
記憶域パラメータを示す文字列を指定します(「記憶域パラメータ」を参照)。
- outGeoRaster
-
操作の結果を反映させる出力SDO_GEORASTERオブジェクトを指定します。既存の有効なGeoRasterオブジェクトまたは空のGeoRasterオブジェクトのいずれかであることが必要です。(空のGeoRasterオブジェクトの詳細は、「空白のGeoRasterオブジェクトと空のGeoRasterオブジェクト」を参照してください)。
inGeoRaster
と同じGeoRasterオブジェクトは指定できません。 - parallelParam
-
操作の並列度を指定します。指定する場合、
parallel=
nという形式である必要があります(nは1より大きい)。データベース・オプティマイザでは、このパラメータによって指定された並列度を使用します。指定しない場合、デフォルトでパラレル処理は行われません。(詳細は、「GeoRasterでのパラレル処理」を参照してください。)並列性を指定すると、プロシージャはプロセスの実行中に内部コミットを実行します。したがって、このプロシージャの結果をロールバックできません。エラーが発生した場合(Oracle Parallel Serverが原因である場合でも)、操作をロールバックするために、出力結果のGeoRasterオブジェクトを明示的に削除する必要があります。
使用上のノート
inValues
およびoutValues
パラメータは、同じ数の値を含める必要があります。inValues
パラメータで指定される範囲は昇順である必要があります。inValues
パラメータの値は、inGeoRaster
オブジェクトのセル深度の範囲である必要があります。outValues
パラメータの値は、outGeoRaster
オブジェクトのセル深度の範囲である必要があります。
cropArea
パラメータのデータ型がSDO_GEOMETRYの場合、SDO_SRID値は次のいずれかの値である必要があります。
-
NULL(ラスター空間を指定)
-
MDSYS.CS_SRS表のSRID列の値
cropArea
パラメータ・ジオメトリとモデル空間のSDO_SRID値が異なる場合は、処理が実行される前に、cropArea
パラメータ・ジオメトリは自動的にモデル空間の座標系に変換されます。(ラスター空間およびモデル空間の詳細は、「GeoRasterデータ・モデル」を参照してください。)
入力GeoRasterオブジェクトに格納されるカラー・マップはサポートされていません。
出力GeoRasterオブジェクトにはピラミッドまたはマスクが含まれません。
例
次の例では、入力GeoRasterオブジェクトのすべてのバンドを異なるセル深度に区分ストレッチを実行するGeoRasterオブジェクトを作成します(0から255よび0から2000の範囲の入力値の線形ストレッチ)。(GEORASTER_TABLEという名前の表を参照します。この表の定義は「記憶域パラメータ」の例1-1の次に説明されています。)
DECLARE gr1 sdo_georaster; gr2 sdo_georaster; cropArea sdo_number_array := null; inValues sdo_number_arrayset; outValues sdo_number_arrayset; BEGIN INSERT INTO georaster_table (georid, georaster) VALUES (41, sdo_geor.init('RDT_1')) RETURNING georaster INTO gr2; SELECT georaster INTO gr1 FROM georaster_table WHERE georid=4; -- define the input and output value ranges inValues := sdo_number_arrayset(sdo_number_array(0, 255)); outValues := sdo_number_arrayset(sdo_number_array(0, 2000)); sdo_geor_ip.piecewisestretch(gr1, 0, cropArea, null, inValues, outValues, 'celldepth=16bit_u', gr2); UPDATE georaster_table SET georaster=gr2 WHERE georid=41; COMMIT; END; /
次の例では、異なる範囲の各バンドの区分ストレッチを実行します。(GEORASTER_TABLEという名前の表を参照します。この表の定義は「記憶域パラメータ」の例1-1の次に説明されています。)
DECLARE gr1 sdo_georaster; gr2 sdo_georaster; cropArea sdo_number_array := null; inValues sdo_number_arrayset; outValues sdo_number_arrayset; BEGIN INSERT INTO georaster_table (georid, georaster) VALUES (41, sdo_geor.init('RDT_1')) RETURNING georaster INTO gr2; SELECT georaster INTO gr1 FROM georaster_table WHERE georid=4; -- define the input and output values ranges inValues := sdo_number_arrayset(sdo_number_array(0, 30, 80, 255), sdo_number_array(0, 10, 50, 255), sdo_number_array(0, 50, 150, 255)); outValues := sdo_number_arrayset( sdo_number_array(0, 80, 200, 255), sdo_number_array(0, 60, 150, 255), sdo_number_array(0, 100, 250,255) ); sdo_geor_ip.piecewisestretch(gr1, 0, cropArea, null, inValues, outValues, null, gr2); UPDATE georaster_table SET georaster=gr2 WHERE georid=41; COMMIT; END; /
親トピック: SDO_GEOR_IPパッケージのリファレンス
11.7 SDO_GEOR_IP.stretch
形式
SDO_GEOR_IP.stretch( inGeoRaster IN SDO_GEORASTER, pyramidLevel IN NUMBER, cropArea IN SDO_NUMBER_ARRAY, bandNumbers IN VARCHAR2, minValues IN SDO_NUMBER_ARRAY DEFAULT NULL, maxValues IN SDO_NUMBER_ARRAY DEFAULT NULL, storageParam IN VARCHAR2, outGeoraster IN OUT SDO_GEORASTER), parallelParam IN VARCHAR2 DEFAULT NULL);
または
SDO_GEOR_IP.stretch( inGeoRaster IN SDO_GEORASTER, pyramidLevel IN NUMBER, cropArea IN SDO_GEOMETRY, layerNumbers IN VARCHAR2, minValues IN SDO_NUMBER_ARRAY DEFAULT NULL, max_values IN SDO_NUMBER_ARRAY DEFAULT NULL, storageParam IN VARCHAR2, outGeoraster IN OUT SDO_GEORASTER), parallelParam IN VARCHAR2 DEFAULT NULL);
説明
最小値および最大値を使用して、入力GeoRasterオブジェクトの最小-最大線形ストレッチを実行します。処理されたイメージは、出力GeoRasterオブジェクトに格納されます。
パラメータ
- inGeoRaster
-
ストレッチするSDO_GEORASTERオブジェクトを指定します。
- pyramidLevel
-
ソースGeoRasterオブジェクトのストレッチするピラミッド・レベルを示す番号を指定します。NULLの場合、デフォルトは0です。
- cropArea
-
クロッピング領域を定義します。
cropArea
がSDO_GEOMETRY型の場合は、layerNumbers
パラメータを使用して1つ以上のレイヤー番号を指定します。cropArea
がSDO_NUMBER_ARRAY型の場合は、bandNumbers
パラメータを使用して、1つ以上のバンド番号を指定します。データ型がSDO_NUMBER_ARRAYの場合、このパラメータで矩形ウィンドウの左上の座標(行,列)と右下の座標(行,列)を指定することによって、ラスター空間が想定されます。データ型がSDO_GEOMETRYの場合、ジオメトリ・オブジェクトの最小境界矩形(MBR)がクロッピング領域として使用されます(SDO_SRID要件の「使用上のノート」も参照してください)。
- bandNumbers
-
処理を実行する物理バンド番号を示す文字列を指定します。カンマで値を区切り、ハイフンで範囲を指定します(たとえば、
1-3
はバンド1、2および3を示します)。 - layerNumbers
-
処理を実行する論理レイヤー番号を示す文字列を指定します。カンマで値を区切り、ハイフンで範囲を指定します(たとえば、
2-4
はレイヤー2、3および4を示します)。 - minValues
-
ストレッチするバンドの最小値。NULLの場合、レイヤー・メタデータに格納されている入力GeoRasterオブジェクトの最小値が使用されます。SDO_NUMBER_ARRAYに1つの値のみがある場合、すべての入力バンドの最小値として使用されます。それ以外の場合、SDO_NUMBER_ARRAYの値の数は、出力GeoRasterオブジェクトのバンドの数と同じである必要があります。
- maxValues
-
ストレッチするバンドの最大値。NULLの場合、レイヤー・メタデータに格納されている入力GeoRasterオブジェクトの最大値が使用されます。SDO_NUMBER_ARRAYに1つの値のみがある場合、すべての入力バンドの最大値として使用されます。それ以外の場合、SDO_NUMBER_ARRAYの値の数は、出力GeoRasterオブジェクトのバンドの数と同じである必要があります。
- storageParam
-
記憶域パラメータを示す文字列を指定します(「記憶域パラメータ」を参照)。
- outGeoRaster
-
操作の結果を反映させる出力SDO_GEORASTERオブジェクトを指定します。既存の有効なGeoRasterオブジェクトまたは空のGeoRasterオブジェクトのいずれかであることが必要です。(空のGeoRasterオブジェクトの詳細は、「空白のGeoRasterオブジェクトと空のGeoRasterオブジェクト」を参照してください)。
inGeoRaster
と同じGeoRasterオブジェクトは指定できません。 - parallelParam
-
操作の並列度を指定します。指定する場合、
parallel=
nという形式である必要があります(nは1より大きい)。データベース・オプティマイザでは、このパラメータによって指定された並列度を使用します。指定しない場合、デフォルトでパラレル処理は行われません。(詳細は、「GeoRasterでのパラレル処理」を参照してください。)並列性を指定すると、プロシージャはプロセスの実行中に内部コミットを実行します。したがって、このプロシージャの結果をロールバックできません。エラーが発生した場合(Oracle Parallel Serverが原因である場合でも)、操作をロールバックするために、出力結果のGeoRasterオブジェクトを明示的に削除する必要があります。
使用上のノート
minValues
およびmaxValues
パラメータの値またはイメージの統計メタデータに格納されている最小値および最大値を使用して、入力GeoRasterオブジェクトが0-255にストレッチされます。minValues
およびmaxValues
パラメータがNULLの場合、入力GeoRasterオブジェクトにはメタデータに設定されている統計を含める必要があります。
出力GeoRasterオブジェクトのセル深度は、常に8BIT_U
です。GeoRasterイメージを8BIT_U
以外のセル深度を使用したイメージにストレッチする必要がある場合、SDO_GEOR_IP.piecewiseStretchを使用できます。
cropArea
パラメータのデータ型がSDO_GEOMETRYの場合、SDO_SRID値は次のいずれかの値である必要があります。
-
NULL(ラスター空間を指定)
-
MDSYS.CS_SRS表のSRID列の値
cropArea
パラメータ・ジオメトリとモデル空間のSDO_SRID値が異なる場合は、処理が実行される前に、cropArea
パラメータ・ジオメトリは自動的にモデル空間の座標系に変換されます。(ラスター空間およびモデル空間の詳細は、「GeoRasterデータ・モデル」を参照してください。)
入力GeoRasterオブジェクトに格納されるカラー・マップはサポートされていません。
出力GeoRasterオブジェクトにはピラミッドまたはマスクが含まれません。
例
次の例では、値範囲(30, 150)から(0, 255)の入力GeoRasterオブジェクトのバンド2をストレッチするGeoRasterオブジェクトを作成します。(GEORASTER_TABLEという名前の表を参照します。この表の定義は「記憶域パラメータ」の例1-1の次に説明されています。)
DECLARE gr1 sdo_georaster; gr2 sdo_georaster; cropArea sdo_number_array := null; BEGIN INSERT INTO georaster_table (georid, georaster) VALUES (41, sdo_geor.init('RDT_1')) RETURNING georaster INTO gr2; SELECT georaster INTO gr1 FROM georaster_table WHERE georid=4; sdo_geor_ip.stretch(gr1, 0, cropArea, '2', sdo_number_array(30), sdo_number_array(150), null, gr2); UPDATE georaster_table SET georaster=gr2 WHERE georid=41; COMMIT; END; /
親トピック: SDO_GEOR_IPパッケージのリファレンス