7.159 SDO_GEOR.warp
形式
SDO_GEOR.warp( inGeoRaster IN SDO_GEORASTER, pyramidLevel IN NUMBER DEFAULT 0, outSRS IN NUMBER, cropArea IN SDO_GEOMETRY DEFAULT NULL, dimensionSize IN SDO_NUMBER_ARRAY DEFAULT NULL, layerNumbers IN VARCHAR2 DEFAULT NULL, elevationParam IN VARCHAR2 DEFAULT NULL, resampleParam IN VARCHAR2 DEFAULT NULL, storageParam IN VARCHAR2 DEFAULT NULL, outGeoRaster IN OUT SDO_GEORASTER, bgValues IN SDO_NUMBER_ARRAY DEFAULT NULL, parallelParam IN VARCHAR2 DEFAULT NULL);
または
SDO_GEOR.warp( inGeoRaster IN SDO_GEORASTER, pyramidLevel IN NUMBER DEFAULT 0, outSRS IN NUMBER, cropArea IN SDO_GEOMETRY DEFAULT NULL, dimensionSize IN SDO_NUMBER_ARRAY DEFAULT NULL, layerNumbers IN VARCHAR2 DEFAULT NULL, elevationParam IN VARCHAR2 DEFAULT NULL, resampleParam IN VARCHAR2 DEFAULT NULL, storageParam IN VARCHAR2 DEFAULT NULL, rasterBlob IN OUT NOCOPY BLOB, outArea OUT SDO_GEOMETRY, outWindow OUT SDO_NUMBER_ARRAY, bgValues IN SDO_NUMBER_ARRAY DEFAULT NULL, parallelParam IN VARCHAR2 DEFAULT NULL);
説明
入力GeoRasterオブジェクトのジオメトリ変換を実行して、指定された出力空間参照システムを使用して出力GeoRasterオブジェクトを生成します。
パラメータ
- inGeoRaster
-
操作を実行するGeoRasterオブジェクトを指定します。これは、地理参照される必要があります(「GeoRasterオブジェクトの地理参照」および「高度な地理参照」を参照)。
- pyramidLevel
-
操作用のソースGeoRasterオブジェクトのピラミッド・レベルを指定します。
-
BLOB出力では、このパラメータが必須です。
-
SDO_GEORASTER出力では、このパラメータがNULLの場合、入力GeoRasterオブジェクトのすべてのピラミッド・レベルが処理されます。
-
0以上の数値を指定すると、そのピラミッド・レベルのみが幾何補正に使用され、そのピラミッド・レベル・イメージに基づいてスケールの結果が生成されます。
-
- outSRS
-
出力GeoRasterオブジェクトの座標系(空間参照システム)を指定します。NULLか、またはMDSYS.CS_SRS表のSRID列の値を指定する必要があります。NULLの場合、出力GeoRasterオブジェクトには入力GeoRasterオブジェクトと同じSRIDが含まれます。
- cropArea
-
出力イメージに含まれる領域の形状を定義します。このポリゴン外部の領域は背景値が入力されます。このパラメータを指定しない場合は、クロッピングは行われません。
- dimensionSize
-
GeoRasterオブジェクトの次元サイズ配列。セル空間のイメージのエクステントを定義します。
- layerNumbers
-
inGeoRaster
からoutGeoRaster
に転送する1つ以上の数のレイヤーの文字列を指定します。カンマで数字または範囲を区切り、ハイフンで範囲を指定します。たとえば、’1,3-5,7’
はレイヤー1、3、4、5および7を示します。このパラメータがNULL(デフォルト)の場合、すべてのレイヤーが処理されます。 - elevationParam
-
標高パラメータの
average
(平均表面高度)、scale
(すべてのDEM
値に適用されるスケール値)およびoffset
(すべてのDEM
値に適用されるオフセット)を1つ以上含む文字列を指定します(新しい値は、(value + offset) * scale
です)。このパラメータは、引用符で囲まれた文字列で、1つ以上のキーワード=値のペア('average=800 scale=3.2808399 offset=10'
など)を含める必要があります。このパラメータがNULLの場合、average
およびoffset
には0が、scale
には1が使用されます。DEM
が指定されていない場合、scale
およびoffset
値は無視されます。elevationParam
パラメータを使用する場合、入力GeoRasterオブジェクトには3DモデルSRIDが含まれる必要があります。入力GeoRasterオブジェクトに3DモデルSRIDが含まれる場合、出力イメージのエクステントを定義するために、平均の標高が重要になります。
DEM
を指定していても、この情報が使用可能である場合は指定する必要があります。平均の標高を指定しない場合、プロシージャによって、平均の標高の近似値が計算されます。ノート:
GeoRasterのサブプログラムに対する文字列(VARCHAR2)パラメータの中に数値がある場合は、ロケールにかかわらず、小数点にはピリオド(.)を使用する必要があります。
- resampleParam
-
リサンプリング・パラメータを指定するため、キーワード=値のペアのカンマで区切られた引用符付き文字列を指定します。詳細は、「使用上のノート」を参照してください。
- storaageParam
-
記憶域パラメータを示す文字列を指定します(「記憶域パラメータ」を参照)。
- outGeoRaster
-
操作の結果を格納するGeoRasterオブジェクトを指定します。既存の有効なGeoRasterオブジェクトまたは空のGeoRasterオブジェクトのいずれかであることが必要です。(空のGeoRasterオブジェクトの詳細は、「空白のGeoRasterオブジェクトと空のGeoRasterオブジェクト」を参照してください)。
inGeoRaster
と同じGeoRasterオブジェクトは指定できません。 - rasterBlob
-
幾何補正を反映した出力を保持するBLOBを指定します。処理の前に、存在しているか、または初期化されている必要があります。
- outArea
-
結果のオブジェクトのモデル座標系の最小境界矩形(MBR)を含むSDO_GEOMETRYオブジェクトを指定します。
- outWindow
-
セル空間内で出力ウィンドウの左上角および右下角の座標を指定するSDO_NUMBER_ARRAYオブジェクトを指定します。
- bgValues
-
部分的に空のラスター・ブロックに入力する背景値を指定します。この値が有効なのは、ソースGeoRasterオブジェクトに空のラスター・ブロックが含まれており、現行の処理によって部分的に空のラスター・ブロック(「空のラスター・ブロック」を参照)が生成される場合のみです。SDO_NUMBER_ARRAYオブジェクト内の要素の数は、1つ(すべてのバンドに同じ入力値を使用)またはバンド次元のサイズ(各バンドにそれぞれ異なる入力値を使用)のいずれかであることが必要です。たとえば、
SDO_NUMBER_ARRAY(1,5,10)
では、1番目のバンドに1、2番目のバンドに5、3番目のバンドに10が入力されます。デフォルトのbgValues
は0 (ゼロ)です。入力値は、スパース・データへの入力用としてターゲットのセル深度の背景値で指定された有効なセル値であることが必要です。
- parallelParam
-
操作の並列度を指定します。指定する場合、
parallel=
nという形式である必要があります(nは1より大きい)。データベース・オプティマイザでは、このパラメータによって指定された並列度を使用します。指定しない場合、デフォルトでパラレル処理は行われません。(詳細は、「GeoRasterでのパラレル処理」を参照してください。)並列性が指定されている場合、プロシージャによって内部コミット操作が実行されます。エラーが発生した場合(Oracle Parallel Serverが原因である場合でも)、操作をロールバックするために、出力結果のGeoRasterオブジェクトを明示的に削除する必要があります。
使用上のノート
このプロシージャには2つの構文があります。
-
一方の構文では、データベースへの永続的な格納のためにGeoRasterオブジェクトが生成されます。
-
他方の構文では、一時的な格納または即座の使用(画面へのデータの表示など)のためにBLOBが生成されます。
このプロシージャでは、入力GeoRasterオブジェクトから地理参照多項式を取得するパラメータなしの幾何補正メソッドを使用して、元のイメージ空間をoutSRS
で指定される地理参照多項式に変換します。したがって、入力GeoRasterオブジェクトを地理参照する必要があります(SDO_GEOR.georeferenceサブプログラムを参照)。
詳細は、「イメージのワーピング」を参照してください。
例
次の例では、出力(生成された)GeoRasterオブジェクトにoutSRS
と同じ空間参照システム(座標系)が含まれます。入力GeoRasterオブジェクトは、完全に地理参照されたイメージです。
DECLARE srs sdo_geor_srs; gr2 sdo_georaster; gr3 sdo_georaster; gr4 sdo_georaster; BEGIN select georaster into gr2 from georaster_table where georid = 2; srs := sdo_geor.getSRS(gr2); select georaster into gr3 from georaster_table where georid = 3; insert into georaster_table values(4, 'Warped', sdo_geor.init('warp_rdt',4)) returning raster into gr4; sdo_geor.warp( inGeoRaster => gr3, pyramidLevel => null, outSRS => srs, cropArea => null, dimensionSize => sdo_number_array(518,518), layerNumbers => ‘4,5,3’, elevationParam => `average=300`, resampleParam => ‘resampling=AVERAGE4’, storageParam => ‘pyramid=true’, outGeoRaster => gr4, bgValues => sdo_number_array(0,0,0), parallelParam => ‘parellel=4’ ); update georaster_table set georaster = gr4 where georid = 4; commit; END;
親トピック: SDO_GEORパッケージのリファレンス