11.4 SDO_GEOR_IP.histogramMatch
形式
SDO_GEOR_IP.histogramMatch( inGeoRaster IN SDO_GEORASTER, pyramidLevel IN NUMBER DEFAULT 0, cropArea IN SDO_NUMBER_ARRAY DEFAULT NULL, bandNumbers IN VARCHAR2, refHistograms IN SDO_GEOR_HISTOGRAM_ARRAY, storageParam IN VARCHAR2 DEFAULT NULL, outGeoraster IN OUT SDO_GEORASTER, parallelParam IN VARCHAR2 DEFAULT NULL);
または
SDO_GEOR_IP.histogramMatch( inGeoRaster IN SDO_GEORASTER, pyramidLevel IN NUMBER DEFAULT 0, cropArea IN SDO_GEOMETRY DEFAULT NULL, layerNumbers IN VARCHAR2, refHistograms IN SDO_GEOR_HISTOGRAM_ARRAY, storageParam IN VARCHAR2 DEFAULT NULL, outGeoraster IN OUT SDO_GEORASTER, parallelParam IN VARCHAR2 DEFAULT NULL);
または
SDO_GEOR_IP.histogramMatch( inGeoRaster IN SDO_GEORASTER, pyramidLevel IN NUMBER DEFAULT 0, cropArea IN SDO_NUMBER_ARRAY DEFAULT NULL, bandNumbers IN VARCHAR2, refGeoRaster IN SDO_GEORASTER, storageParam IN VARCHAR2 DEFAULT NULL, outGeoraster IN OUT SDO_GEORASTER, parallelParam IN VARCHAR2 DEFAULT NULL);
または
SDO_GEOR_IP.histogramMatch( inGeoRaster IN SDO_GEORASTER, pyramidLevel IN NUMBER DEFAULT 0, cropArea IN SDO_GEOMETRY DEFAULT NULL, layerNumbers IN VARCHAR2, refGeoRaster IN SDO_GEORASTER, storageParam IN VARCHAR2 DEFAULT NULL, 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パッケージのリファレンス