7.16 SDO_GEOR.evaluateDouble

形式

SDO_GEOR.evaluateDouble(
     georaster           IN SDO_GEORASTER, 
     pyramidLevel        IN NUMBER, 
     row                 IN NUMBER, 
     column              IN NUMBER, 
     bands               IN VARCHAR2, 
     interpolationMethod IN VARCHAR2 
     ) RETURN SDO_NUMBER_ARRAY;

または

SDO_GEOR.evaluateDouble(
     georaster           IN SDO_GEORASTER, 
     pyramidLevel        IN NUMBER, 
     ptGeom              IN SDO_GEOMETRY, 
     layers              IN VARCHAR2, 
     interpolationMethod IN VARCHAR2 
     ) RETURN SDO_NUMBER_ARRAY;

説明

指定された内挿方法を使用することで直接の場所を評価し、その場所に指定されたバンドまたはレイヤーのラスター値(倍精度の数値)を戻します。

パラメータ

georaster

GeoRasterオブジェクトを指定します。

pyramidLevel

ラスター値を戻す場所を含むピラミッド・レベルを指定します。

row

ラスター値を戻す場所の行座標を指定します。これは浮動小数点数にすることができます。

column

ラスター値を戻す場所の列座標を指定します。これは浮動小数点数にすることができます。

bands

処理を実行する物理バンド番号を示す文字列を指定します。カンマで値を区切り、ハイフンで範囲を指定します(たとえば、1-3はバンド1、2および3を示します)。

ptGeom

ラスター値を戻す直接の場所を識別する点ジオメトリを指定します。

layers

処理を実行する論理レイヤー番号を示す文字列を指定します。カンマで値を区切り、ハイフンで範囲を指定します(たとえば、2-4はレイヤー2、3および4を示します)。(「バンド、レイヤーおよびメタデータ」で説明したように、論理レイヤー番号は、物理バンドの番号に1を足した値です。)

interpolationMethod

それぞれ適切な値を持つ1つ以上のキーワードを含む引用符で囲んだ文字列を指定します。使用可能なキーワードおよび値については、「使用上のノート」を参照してください。

使用上のノート

このファンクションは、内挿された倍精度のラスター値を戻します。GeoRasterでは、セル座標系タイプが中心を基準とするか、左上を基準とするかにかかわらず、元のセル値は常にセルの中心に関連付けられます。

GeoRasterオブジェクトの場所は、セル座標空間でその行、列およびバンド番号を指定するか、モデル座標空間またはセル座標空間で点ジオメトリを指定して識別します。

interpolationMethodには、次の1つ以上のキーワードにそれぞれ適切な値を指定して、それらを引用符で囲んだ文字列を指定する必要があります。

  • interpolationMethod (interpolationMethod=NNなど): 内挿方法を指定します。NNBILINEARBIQUADRATICCUBICAVERAGE4AVERAGE16のいずれかを指定する必要があります。詳細は、「リサンプリングおよび内挿」を参照してください。

  • nodata (nodata=TRUEなど): プロシージャでの処理中にNODATA値およびその値の範囲を考慮するかどうかを指定します。TRUE (NODATA値およびその値の範囲を考慮する)またはFALSE (NODATA値およびその値の範囲を考慮しない)のいずれかを指定します。デフォルト値はFALSEです。この値がTRUEで、内挿方法がBILINEARBIQUADRATICCUBICAVERAGE4またはAVERAGE16の場合、内挿の計算に含まれるセル値がNODATA値であると、内挿の結果も常にNODATA値になります。複数のNODATA値または値の範囲が存在する場合、結果のNODATA値は、現行のラスター・レイヤーに関連付けられているNODATA値の最小値になります。

interpolationMethod'interpolationMethod=NN'に指定した場合、このファンクションはSDO_GEOR.getCellValueファンクションをコールした場合と同じになります。

次の例では、GEORASTER_TABLE表で、GEORID列値が21である行に含まれているGeoRasterオブジェクト(GEORASTER列)の指定した場所のラスター値を戻します(GEORASTER_TABLE表の定義は、「記憶域パラメータ」例1-1の次に説明されています)。

次の例では、セル空間またはモデル空間で指定された同じ場所の同じ値を戻す2つのファンクション構文を示します。

SELECT SDO_GEOR.evaluateDouble(a.georaster, 0, 
    10.2, 10.3, 
    '0-2', 
    'interpolationMethod=BILINEAR') 
  FROM georaster_table a WHERE georid=21;
 
SDO_GEOR.EVALUATEDOUBLE(A.GEORASTER,0,10.2,10.3,'0-2','interpolationMethod=BILINEAR')
--------------------------------------------------------------------------------
SDO_NUMBER_ARRAY(86.68, 135.68, 31.72)
 
1 row selected.
 
SELECT SDO_GEOR.evaluateDouble(a.georaster, 0, 
    SDO_GEOMETRY(2001, 82394, SDO_POINT_TYPE(18492.775, 1012881.9, NULL),
                 NULL, NULL),
    '1-3', 
    'interpolationMethod=BILINEAR') 
  FROM georaster_table a WHERE georid=21;
 
SDO_GEOR.EVALUATEDOUBLE(A.GEORASTER,0,SDO_GEOR.GETMODELCOORDINATE(A.GEORASTER,0,
--------------------------------------------------------------------------------
SDO_NUMBER_ARRAY(86.68, 135.68, 31.72)
 
1 row selected.