4.6 GeoRasterセル・データの問合せおよび更新
処理および視覚化のためのGeoRasterオブジェクトのセル(ピクセル)・データを問い合せる場合、1つのセル(ピクセル)、セルの範囲、またはGeoRasterオブジェクトのラスター全体のラスター・データを問い合せることができます。
-
SDO_GEOR.getCellValueは、指定した場所の1つ以上のレイヤーまたはバンドのセル値を戻します。
-
SDO_GEOR.getCellValuesは、配列の1つ以上のセルのセル値を戻します。
-
SDO_GEOR.evaluateDoubleは、指定された内挿方法を使用することで、隣接するセルの値に基づいて直接の場所を評価し、その場所に指定されたバンドまたはレイヤーのラスター値(倍精度の数値)を戻します。(詳細は、「セル値の内挿」を参照してください。)
-
SDO_GEOR.evaluateDoublesは、指定された内挿方法を使用することで複数の場所を評価し、それらの場所の指定されたバンドまたはレイヤーのラスター値(倍精度の数値)を戻します。
-
SDO_GEOR.getRasterSubsetは、(矩形ウィンドウまたはクリップ・ポリゴン・ジオメトリ、レイヤーまたはバンド番号、およびピラミッド・レベルで指定された) GeoRasterオブジェクトの厳密なサブセットのすべてのセルが含まれる、単一のBLOBオブジェクトまたは単一のインメモリーSDO_NUMBER_ARRAYオブジェクトを作成します。このBLOBオブジェクトまたはSDO_NUMBER_ARRAYオブジェクトにはラスター・セルのみが含まれ、関連するメタデータは含まれません。
-
SDO_GEOR.getRasterDataは、GeoRasterオブジェクトの、指定されたピラミッド・レベルのすべてのセルが含まれる、単一のBLOBオブジェクトを作成します。このBLOBオブジェクトにはラスター・セルのみが含まれ、関連するメタデータは含まれません。
-
SDO_GEOR.getRasterBlocksは、指定されたウィンドウの内部に存在するか、またはそのウィンドウの境界に接するすべてのイメージ・データが含まれるオブジェクトを戻します。具体的には、指定されたピラミッド・レベルで、指定されたウィンドウの内部に存在するか、またはそのウィンドウの境界に接するすべてのブロックを識別する、SDO_RASTERSETコレクション型のオブジェクトを戻します。
-
SDO_GEOR.reprojectは、ある投影座標系から別の投影座標系にGeoRasterオブジェクト全体を変換するのみでなく、問合せ結果を異なる座標系にオンザフライで直接変換することで、SDO_GEOR.getRasterSubsetと同じ機能を組み入れることができます。
-
SDO_GEOR.rectifyは、問合せウィンドウに基づいて、地理参照されるGeoRasterオブジェクトの全部または一部に対して再投影、幾何補正またはオルソ補正を実行します。結果のオブジェクトは、新しいGeoRasterオブジェクト(永続記憶域目的)またはBLOB (一時使用目的)のいずれかです。
-
SDO_GEOR_RA.findCellsは、GeoRasterラスター代数言語を使用して、セル値に基づいて新しいGeoRasterオブジェクトを生成します。(詳細は、「セル値ベースの条件付き問合せ」を参照してください。)
-
SDO_GEOR_AGGR.mosaicSubsetは、複数のGeoRasterオブジェクトを1つのGeoRasterオブジェクトにモザイク処理します。
-
SDO_GEOR_AGGR.getMosaicSubsetは、仮想モザイクを問い合せて、モザイク処理されたサブセットをオンザフライで戻します。
-
SDO_GEOR.getBitmapMask、SDO_GEOR.getBitmapMaskSubset、SDO_GEOR.getBitmapMaskValueおよびSDO_GEOR.getBitmapMaskValuesにより、完全なラスター、ウィンドウまたは単一のセルに基づいてビットマップ・マスクを問い合せることができます。
ラスター更新には、空間ベースとセル値ベースという2つのタイプがあります。
-
空間ベースのラスター更新では、単一値または別のGeoRasterオブジェクトを使用して、指定したウィンドウ内でGeoRasterオブジェクトのラスター・データを完全に更新できます。
指定したウィンドウ内のラスター・セルの値を単一の値に更新または変更するには、SDO_GEOR.changeCellValueプロシージャを使用します。行/.列配列または複数点のジオメトリで指定されたラスター・セルの値を新しい値に変更するには、SDO_GEOR.changeCellValuesプロシージャを使用できます。SDO_GEOR.updateRasterプロシージャをコールすると、指定した領域の指定したピラミッド(1つのGeoRasterオブジェクトの重複部分)を、別のGeoRasterオブジェクトの指定したピラミッドと指定したバンドまたはレイヤーで更新できます。SDO_GEOR.changeCellValueおよびSDO_GEOR.updateRasterプロシージャでは、元のラスター・データ(ピラミッド・レベル0)を含むすべてのピラミッド・レベルがサポートされます。
SDO_GEOR_AGGR.appendプロシージャを使用して、新しいイメージで既存のイメージを更新することもできます(「イメージの追加」を参照)。
-
セル値ベースのラスター更新では、GeoRasterラスター代数言語を使用して、セル値に基づいてGeoRasterオブジェクトのラスター・データを更新できます。
SDO_GEOR_RA.rasterUpdateは、
conditions
パラメータに指定されたブール文字列に基づいて、指定されたGeoRasterオブジェクトからセルを選択し、vals
パラメータに指定された式文字列を計算して対応するセル値を更新します。conditions
およびvals
パラメータは、両方ともラスター代数言語を使用して複雑な式にすることができます。(詳細は、「セル値ベースの条件付き更新(編集)」を参照してください。)
空間ベースまたはラスター・セル値ベースの更新を実行するときに、GeoRasterオブジェクトにすでに統計が設定されている場合、ラスター更新プロシージャの実行後に統計は自動的に削除または更新されません。必要に応じて、ユーザーが統計を削除または再生成する必要があります。
ノート:
入力されたGeoRasterオブジェクトのデータに対して追加または上書きするプロシージャを使用する場合は、元のGeoRasterオブジェクトをコピーし、そのコピーしたオブジェクトに対してプロシージャを使用してください。プロシージャの結果を確認してから、必要に応じて元のGeoRasterオブジェクトを廃棄します。
ラスター・データ表の名前、GeoRasterオブジェクトの属性、または他の任意のメタデータを変更する場合、「GeoRasterメタデータの問合せおよび更新」に記載されている推奨事項、要件および制限事項を参照してください。
GeoRasterオブジェクトのメタデータまたはセル・データ(あるいはその両方)を更新した後で、データベース・トランザクションをコミットする前に、SQL UPDATE文をコールしてGeoRasterオブジェクトを更新する必要があります(「コミット前のGeoRasterオブジェクトの更新」を参照)。
親トピック: GeoRasterのデータ問合せおよび操作