7.74 SDO_GEOR.getModelCoordinate

形式

SDO_GEOR.getModelCoordinate(
     georaster      IN SDO_GEORASTER, 
     pyramidLevel   IN NUMBER, 
     cellCoordinate IN SDO_NUMBER_ARRAY, 
     height         IN NUMBER DEFAULT NULL, 
     ) RETURN SDO_GEOMETRY;

または

SDO_GEOR.getModelCoordinate(
     georaster       IN SDO_GEORASTER, 
     pyramidLevel    IN NUMBER, 
     cellCoordinate  IN SDO_GEOMETRY, 
     modelCoordinate OUT SDO_GEOMETRY, 
     height          IN NUMBER DEFAULT NULL);

説明

指定したピラミッド・レベルの指定したセル(ラスター)座標に関連付けられたジオメトリを戻します。

パラメータ

georaster

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

pyramidLevel

cellCoordinateで指定するセルを含むピラミッド・レベルを指定します。

cellCoordinate

SDO_NUMBER_ARRAY型の場合、cellCoordinateにはセル座標系の点を示す2つの座標の配列を指定します(2つの座標とは、点の行番号と列番号のことです)。SDO_GEOMETRY型の場合、cellCoordinateでセル座標系内のジオメトリを指定します。

modelCoordinate

出力されるジオメトリを指定します。

height

3次元(X, Y, Z)の地理参照で使用するZの値を指定します。

使用上のノート

SDO_GEOR.getModelCoordinateには2つの構文があります。

  • 最初の(modelCoordinateパラメータを指定しないファンクション)構文は、GeoRasterオブジェクトのラスター空間に存在する点の位置を変換する場合に使用します。

  • 2つ目の(modelCoordinateパラメータを指定するプロシージャ)構文は、GeoRasterオブジェクトのラスター空間に存在するジオメトリを変換する場合に使用します。変換は、入力されたジオメトリの各頂点の座標を変換することで行われます。出力されるジオメトリが有効なものになるように、適切な入力ジオメトリを使用してください。たとえば、モデル座標系が測地座標系である場合、入力ジオメトリには円弧が含まれないようにします。

SDO_GEOR.getModelCoordinateは、GeoRasterオブジェクト上の点の位置を、地上座標系の対応する点の経度と緯度の座標に変換する場合に使用します。

GeoRasterオブジェクトが地理参照されている場合は、出力されるジオメトリにモデル(地上)座標系の座標が含まれます。GeoRasterオブジェクトが地理参照されていない場合は、出力されるジオメトリに元のイメージ・レベルのセル座標が含まれます。

GeoRasterオブジェクトが地理参照されている場合、出力されるジオメトリのSDO_SRID値はGeoRasterオブジェクトのモデルSRIDと同じです。

SDO_GEOR.getModelCoordinateは、指定されたモデル(地上)座標の点に関連付けられたセル(ラスター)座標系の座標を戻すSDO_GEOR.getCellCoordinateと対照的です。

次の例では、指定したGeoRasterオブジェクトのセル座標(100,100)に関連付けられたモデル座標を含む点ジオメトリ・オブジェクトを戻します。(GEORASTER_TABLEという名前の表を参照します。この表の定義は「記憶域パラメータ」例1-1の次に説明されています。)

SET NUMWIDTH 20
SELECT sdo_geor.getModelCoordinate(georaster, 0,
sdo_number_array(100,100)) mcoord
  FROM georaster_table WHERE georid=4;
 
MCOORD(SDO_GTYPE, SDO_SRID, SDO_POINT(X, Y, Z), SDO_ELEM_INFO, SDO_ORDINATES)
--------------------------------------------------------------------------------
 
SDO_GEOMETRY(2001, 82394, SDO_POINT_TYPE(347.666315789474, 43274.9052631579, NUL
L), NULL, NULL)