2.3 他のGeoRasterの型

GeoRasterは、他のデータ型も提供します。

GeoRasterには、SDO_GEORASTER、SDO_RASTER、SDO_RANGE_ARRAYおよびSDO_RANGEに加えて、特定の種類の操作に使用する他のオブジェクト型とコレクション型がいくつか用意されています。(表の列を定義する場合などに)データベースのストレージで使用されるSDO_GEORASTER型およびSDO_RASTER型とは異なり、この項で説明する型は、今回のリリースのGeoRaster PL/SQL APIでのみ使用されます。

2.3.1 SDO_GEOR_HISTOGRAMオブジェクト型

GeoRasterでは、XMLスキーマ(「GeoRasterメタデータのXMLスキーマ」を参照)を使用してヒストグラムがGeoRasterメタデータに格納されます。SDO_GEOR_HISTOGRAMオブジェクト型は、GeoRasterオブジェクトまたはレイヤーのヒストグラム・データを含めるためにPL/SQL API内で使用されます。レイヤーは、ヒストグラム・データ構造が同じです。各セルは値を持ち、各セルの値または値の範囲に対して、その値を持つセルまたはその範囲内の値を持つセルが多数存在する可能性があります。

SDO_GEOR_HISTOGRAMオブジェクト型の定義は次のとおりです。

CREATE TYPE sdo_geor_histogram AS OBJECT(
  cellValue  SDO_NUMBER_ARRAY,
  count      SDO_NUMBER_ARRAY);

表2-1に、SDO_GEOR_HISTOGRAMオブジェクト型の属性の説明を示します。cellValuecount配列の長さは同じである必要があります。

表2-1 SDO_GEOR_HISTOGRAMオブジェクト型の属性

属性 説明

cellValue

セル値の配列。

count

各セル値またはセル値の範囲に対応するセルの数。

ヒストグラムには、セル値(および暗黙的な値の範囲)、および各セル値または各セル値の範囲に関連するセルの合計数が含まれます。たとえば、(cellValue1, count1)と(cellValue2, count2)がヒストグラム内で昇順に隣接する2つのエントリである場合、暗黙的な値の範囲は(cellValue1, cellValue2)で、この範囲に含まれるセルの合計数はcount1です。セル値の範囲には、常に下限が含まれ、上限は含まれません。各範囲のサイズが同一である必要はありません。この例の場合は、cellValue1以上かつcellValue2未満が範囲になります。セル深度の下限(たとえば、1ビットから8ビットまでの整数)では、通常、セル値の範囲はセル値と同じです。

2.3.2 SDO_GEOR_HISTOGRAM_ARRAYコレクション型

SDO_GEOR_HISTOGRAM_ARRAYコレクション型は、SDO_GEOR_HISTOGRAMオブジェクトの配列(コレクション)を格納するために使用されます。

SDO_GEOR_HISTOGRAM_ARRAYコレクション型の定義は次のとおりです。

CREATE TYPE sdo_geor_histogram_array AS 
  VARRAY(10485760) OF SDO_GEOR_HISTOGRAM;

2.3.3 SDO_GEOR_COLORMAPオブジェクト型

GeoRasterでは、XMLスキーマ(「GeoRasterメタデータのXMLスキーマ」を参照)を使用してカラー情報がGeoRasterメタデータに格納されます。SDO_GEOR_COLORMAPオブジェクト型は、カラーマップ情報を含めるためにPL/SQL APIで使用されます。カラーマップ情報とは、特定の値を持つセルまたは特定の値の範囲に含まれるセルの表示に使用される色の、赤、緑、青および(オプション)アルファの値を識別するための疑似カラー情報です。カラーマップは、疑似カラー表またはパレット表とも呼ばれます。GeoRasterのデフォルトのカラーマップは、sRGB ColorSpaceです。これは、標準のRGB色空間として勧告提案されています。詳細は、次のURLを参照してください。

http://www.w3.org/Graphics/Color/sRGB.html

赤、緑、青およびアルファの値はすべて、0から255の、8ビットの符号なし整数になります。

アルファは、不透明度とも呼ばれます。アルファ値が255の場合は色が完全に不透明であることを意味し、アルファ値が0 (ゼロ)の場合は色が完全に透明であることを意味します。色構成要素値にアルファ値を掛けることはできません。

SDO_GEOR_COLORMAPオブジェクト型の定義は次のとおりです。

CREATE TYPE sdo_geor_colormap AS OBJECT(
  cellValue  SDO_NUMBER_ARRAY,
  red        SDO_NUMBER_ARRAY,
  green      SDO_NUMBER_ARRAY,
  blue       SDO_NUMBER_ARRAY,
  alpha      SDO_NUMBER_ARRAY);

表2-2に、SDO_GEOR_COLORMAPオブジェクト型の属性の説明を示します。各属性は、数値の配列です。各配列の長さは同じで、各配列の同じ索引の値が相互に対応している必要があります。各cellValue値は、GeoRasterオブジェクトのcellDepth値と一貫性がある必要があります。

カラーマップには、セル値(および暗黙的な値の範囲)と、各セル値または各セル値の範囲に関連する赤、緑、青またはアルファの値が含まれます。たとえば、(cellValue1, red1, green1, blue1, alpha1)と(cellValue2, red2, green2, blue2, alpha2)がカラーマップ内で昇順に隣接する2つのエントリである場合、暗黙的な値の範囲は(cellValue1, cellValue2)で、この範囲に含まれるすべてのセルに関連付けられる色構成要素は(red1, green1, blue1, alpha1)です。セル値の範囲には、常に下限が含まれ、上限は含まれません。各範囲のサイズが同一である必要はありません。この例の場合は、cellValue1以上かつcellValue2未満が範囲になります。セル深度の下限(たとえば、1ビットから8ビットまでの整数)では、通常、セル値の範囲はセル値と同じです。

表2-2 SDO_GEOR_COLORMAPオブジェクト型の属性

属性 説明

cellValue

セル値の配列。値は昇順に格納する必要があります。

red

cellValueに値または値の範囲を持つセルの、疑似カラー表示用の赤の構成要素値の配列。0から255の整数値を指定する必要があります。

green

cellValueに値または値の範囲を持つセルの、疑似カラー表示用の緑の構成要素値の配列。0から255の整数値を指定する必要があります。

blue

cellValueに値または値の範囲を持つセルの、疑似カラー表示用の青の構成要素値の配列。0から255の整数値を指定する必要があります。

alpha

cellValueに値または値の範囲を持つセルの、疑似カラー表示用のアルファの構成要素値の配列。0から255の整数値を指定する必要があります。

2.3.4 SDO_GEOR_GRAYSCALEオブジェクト型

GeoRasterでは、XMLスキーマ(「GeoRasterメタデータのXMLスキーマ」を参照)を使用してグレースケール情報がGeoRasterメタデータに格納されます。SDO_GEOR_GRAYSCALEオブジェクト型は、グレースケール値の識別用グレースケール情報を含めるためにPL/SQL APIで使用されます。グレースケール値は、特定の値を持つセルまたは特定の値の範囲に含まれるセルを表示する際に使用されます。グレースケール表のセル値は、このグレースケール表を使用して線形比率で伸縮できるため、元のラスター・データを適切に表示できます。グレースケール表の値は、0から255の、8ビットの符号なしの整数になります。グレースケール表は、コントラスト表または参照表とも呼ばれます。

SDO_GEOR_GRAYSCALEオブジェクト型の定義は次のとおりです。

CREATE TYPE sdo_geor_grayscale AS OBJECT(
  cellValue  SDO_NUMBER_ARRAY,
  gray       SDO_NUMBER_ARRAY);

表2-3に、SDO_GEOR_GRAYSCALEオブジェクト型の属性の説明を示します。cellValuegray配列の長さは同じである必要があります。各cellValue値は、GeoRasterオブジェクトのcellDepth値と一貫性がある必要があります。

グレースケールには、セル値(および暗黙的な値の範囲)、および各セル値または各セル値の範囲に関連するグレー値が含まれます。たとえば、(cellValue1, gray1)と(cellValue2, gray2)がグレースケール表内で昇順に隣接する2つのエントリである場合、暗黙的な値の範囲は(cellValue1, cellValue2)で、この範囲に含まれるすべてのセルに関連付けられたグレー色はgray1です。セル値の範囲には、常に下限が含まれ、上限は含まれません。各範囲のサイズが同一である必要はありません。この例の場合は、cellValue1以上かつcellValue2未満が範囲になります。セル深度の下限(たとえば、1ビットから8ビットまでの整数)では、通常、セル値の範囲はセル値と同じです。

表2-3 SDO_GEOR_GRAYSCALEオブジェクト型の属性

属性 説明

cellValue

セル値の配列。値は昇順に格納する必要があります。

gray

cellValueに値または値の範囲を持つセルの、グレースケール表示用のグレーの構成要素値の配列。0から255の整数値を指定する必要があります。

2.3.5 SDO_RASTERSETコレクション型

SDO_RASTERSETコレクション型は、ラスター・データ・ブロック(1つまたは複数のブロック、全体またはサブセット)を問い合せるテーブル・ファンクションの戻り型として使用されます。

SDO_RASTERSETコレクション型の定義は次のとおりです。

CREATE TYPE sdo_rasterset AS TABLE of SDO_RASTER;

2.3.6 SDO_GEOR_SRSオブジェクト型

GeoRasterでは、XMLスキーマ(「GeoRasterメタデータのXMLスキーマ」を参照)を使用して空間参照システム(SRS)情報がGeoRasterメタデータに格納されます。SDO_GEOR_SRSオブジェクト型は、GeoRasterオブジェクトの空間参照に関する情報を含めるためにPL/SQL APIで使用されます。メタデータとオブジェクト型には同じ情報が含まれます。オブジェクト型を使用して、GeoRasterオブジェクトからのSRS情報を取得したり、GeoRasterオブジェクトにSRS情報をロードして更新できます。

SDO_GEOR_SRSオブジェクト型の定義は次のとおりです。

CREATE TYPE sdo_geor_srs AS OBJECT (
   isReferenced       VARCHAR2(5),
   isRectified        VARCHAR2(5),
   isOrthoRectified   VARCHAR2(5),
   srid               NUMBER,
   spatialResolution  SDO_NUMBER_ARRAY,
   spatialTolerance   NUMBER,
   coordLocation      NUMBER,
   rowOff             NUMBER,
   columnOff          NUMBER,
   xOff               NUMBER,
   yOff               NUMBER,
   zOff               NUMBER,
   rowScale           NUMBER,
   columnScale        NUMBER,
   xScale             NUMBER,
   yScale             NUMBER,
   zScale             NUMBER,
   rowRMS             NUMBER,
   columnRMS          NUMBER,
   totalRMS           NUMBER,
   rowNumerator       SDO_NUMBER_ARRAY,
   rowDenominator     SDO_NUMBER_ARRAY,
   columnNumerator    SDO_NUMBER_ARRAY,
   columnDenominator  SDO_NUMBER_ARRAY,
   xRMS               NUMBER,
   yRMS               NUMBER,
   zRMS               NUMBER,
   modelTotalRMS      NUMBER,
   GCPgeoreferenceModel SDO_GEOR_GCPGEOREFTYPE);

表2-4に、SDO_GEOR_SRSオブジェクト型の属性の説明を示します。

表2-4 SDO_GEOR_SRSオブジェクト型の属性

属性 説明

isReferenced

GeoRasterオブジェクトが地理参照されている場合はTRUE、地理参照されていない場合はFALSEを指定します。

isRectified

GeoRasterオブジェクトが幾何補正および地理参照されている場合はTRUE、幾何補正されていない場合はFALSEを指定します。

isOrthoRectified

GeoRasterオブジェクトがオルソ補正、幾何補正および地理参照されている場合はTRUE、オルソ補正されていない場合はFALSEを指定します。

srid

モデル(地上)座標系のSRID値を指定します。

spatialResolution

空間解像度の値(空間次元ごとに1つの値を指定した数値の配列)を指定します。各値は、セルの空間次元によって表現されるデータ領域に関連付けられた測定単位の数を示します。

spatialTolerance

精度を制御するための許容差を指定します。

coordLocation

モデル座標位置は、左上角(coordLocation=1)または中心(coordLocation=0)のいずれかを表すセル空間の種類を定義します。モデル空間およびセル(ラスター)空間の詳細は、「GeoRasterデータ・モデル」を参照してください。

rowOff

行のオフセット値。

columnOff

列のオフセット値。

xOff

X座標のオフセット値。

yOff

Y座標のオフセット値。

zOff

Z座標のオフセット値。

rowScale

行のスケール変更係数値

columnScale

列のスケール変更係数値

xScale

X座標のスケール変更係数値

yScale

Y座標のスケール変更係数値

zScale

Z座標のスケール変更係数値

rowRMS

行次元の精度。GCPを使用してSDO_GEOR.georeferenceをコールすると、基準点を使用して計算されます。

columnRMS

列次元の精度。GCPを使用してSDO_GEOR.georeferenceをコールすると、基準点を使用して計算されます。

totalRMS

行と列の合計精度。GCPを使用してSDO_GEOR.georeferenceをコールすると、基準点を使用して計算されます。

rowNumerator

pTypenVarsordernCoefficientsおよび行多項式の分子のすべての係数を指定します。ここでpTypeは1または2、nVarsは0、2または3、orderは0以上5以下です。nCoefficientspTypenVarsorderから導出されます。多項式については、「関数フィッティング地理参照モデル」を参照してください。

rowDenominator

pTypenVarsordernCoefficientsおよび行多項式の分母のすべての係数を指定します。ここでpTypeは1または2、nVarsは0、2または3、orderは0以上5以下です。nCoefficientspTypenVarsorderから導出されます。多項式については、「関数フィッティング地理参照モデル」を参照してください。

columnNumerator

pTypenVarsordernCoefficientsおよび列多項式の分子のすべての係数を指定します。ここでpTypeは1または2、nVarsは0、2または3、orderは0以上5以下です。nCoefficientspTypenVarsorderから導出されます。多項式については、「関数フィッティング地理参照モデル」を参照してください。

columnDenominator

pTypenVarsordernCoefficientsおよび列多項式の分母のすべての係数を指定します。ここでpTypeは1または2、nVarsは0、2または3、orderは0以上5以下です。nCoefficientspTypenVarsorderから導出されます。多項式については、「関数フィッティング地理参照モデル」を参照してください。

xRMS

X次元の精度。GCPを使用してSDO_GEOR.georeferenceをコールすると、チェック・ポイントを使用して計算されます。

yRMS

Y次元の精度。GCPを使用してSDO_GEOR.georeferenceをコールすると、チェック・ポイントを使用して計算されます。

zRMS

Z次元の精度。GCPを使用してSDO_GEOR.georeferenceをコールすると、チェック・ポイントを使用して計算されます。

modelTotalRMS

合計モデル精度。GCPを使用してSDO_GEOR.georeferenceをコールすると、チェック・ポイントを使用して計算されます。

GCPgeoreferenceModel

ストアド・ファンクション・モデル情報、つまり、GCPベースの地理参照モデルに関するすべての情報。GCPベースの地理参照モデル情報の詳細は、「SDO_GEOR_GCPGEOREFTYPEオブジェクト型」を参照してください。

ただし、直接および反転ソリューションが関数フィッティング・モデルから導出される場合、表2-4にリストされている精度の値は、今回のリリースのGeoRasterのセル座標とモデル座標の内部変換計算では考慮されません。

SDO_GEOR_SRSオブジェクト型には次の2つのコンストラクタが含まれます。

  • 1つのコンストラクタは、パラメータを持たず、isReferenced属性がFALSEに設定され他の属性はNULL値に設定される型のインスタンスを作成します。このコンストラクタを使用すると、関数フィッティング・モデルまたはストアド・ファンクション(GCP)モデルのいずれかを設定するか、これらの両方を同時に設定することができます。

  • もう1つのコンストラクタは、ストアド・ファンクション(GCP)モデルに関連するものを除く、このオブジェクト型のすべての属性をパラメータとして取得します。

SDO_GEOR_SRSコンストラクタの使用例は、「SDO_GEORパッケージのリファレンス」SDO_GEOR.setSRSプロシージャに関する項を参照してください。

2.3.7 SDO_GEOR_GCPオブジェクト型

GeoRasterでは、XMLスキーマ(「GeoRasterメタデータのXMLスキーマ」を参照)を使用して地上基準点(GCP)情報がGeoRasterメタデータに格納されます。SDO_GEOR_GCPオブジェクト型は、GeoRasterオブジェクトの地理参照に関するGCP情報を含めるためにPL/SQL APIで使用されます。メタデータとオブジェクト型には同じ情報が含まれます。オブジェクト型を使用して、GeoRasterオブジェクトからのGCP情報を取得したり、GeoRasterオブジェクトにGCP情報をロードして更新できます。

SDO_GEOR_GCPオブジェクト型の定義は次のとおりです。

CREATE TYPE sdo_geor_gcp AS OBJECT (
     pointID          VARCHAR2(32),
     description      VARCHAR2(256),
     pointType        NUMBER,
     cellDimension    NUMBER,
     cellCoordinates  SDO_NUMBER_ARRAY,
     modelDimension   NUMBER,
     modelCoordinates SDO_NUMBER_ARRAY,
     accuracy         SDO_NUMBER_ARRAY,
     status           NUMBER
);

表2-5に、SDO_GEOR_GCPオブジェクト型の属性の説明を示します。

表2-5 SDO_GEOR_GCPオブジェクト型の属性

属性 説明

pointID

基準点の一意のID。最大32文字です。

description

基準点の説明。

pointType

ポイント・タイプ: 1 (基準点)または2 (チェック・ポイント)。

cellDimension

セル座標の次元(次元数): 2または3。

cellCoordinates

基準点のセル座標の配列; 各点の(行,列)または(行,列,垂直)。

modelDimension

モデル座標の次元(次元数): 2または3。

modelCoordinates

セル空間内の点に対応する、基準点のモデル座標の配列; 各点の(X,Y)または(X,Y,Z)。

accuracy

(xRMS, yRMS)または(xRMS, yRMS, zRMS)の値で表される、基準点の精度。

status

GCPのステータス: MeasuredRemovedEstimatedValidatedまたはInvalid。この列の値は情報のみを示し、GeoRasterによるGCPの使用には影響しません。

SDO_GEOR_GCPコンストラクタは、このオブジェクト型の空のインスタンスを作成するために使用できます。このインスタンスを使用する前に、必要なデータを入力する必要があります。

2.3.8 SDO_GEOR_GCP_COLLECTIONコレクション型

SDO_GEOR_GCP_COLLECTIONコレクション型は、地上基準点(GCP)の配列(コレクション)を格納するために使用されます。

SDO_GEOR_GCP_COLLECTIONコレクション型の定義は次のとおりです。

CREATE TYPE sdo_geor_gcp_collection VARRAY(1048576) OF SDO_GEOR_GCP;

2.3.9 SDO_GEOR_GCPGEOREFTYPEオブジェクト型

GeoRasterでは、XMLスキーマ(「GeoRasterメタデータのXMLスキーマ」を参照)を使用してGCPベースの地理参照モデル情報がGeoRasterメタデータに格納されます。SDO_GEOR_GCPGEOREFTYPEオブジェクトには、地理参照関数フィッティング・メソッド(ジオメトリ・モデル)、モデル・パラメータを解決するための基準点、およびソリューションの精度が含まれています。SDO_GEOR_GCPGEOREFTYPEオブジェクト型は、GeoRasterオブジェクトのGCPベースの地理参照に関する地理参照モデル情報を含めるためにPL/SQL APIで使用されます。メタデータとオブジェクト型には同じ情報が含まれます。オブジェクト型を使用して、GeoRasterオブジェクトからの地理参照モデル情報を取得したり、GeoRasterオブジェクトに地理参照モデル情報をロードして更新できます。

SDO_GEOR_GCPGEOREFTYPEオブジェクト型の定義は次のとおりです。

CREATE TYPE sdo_geor_gcpgeoreftype AS OBJECT (
     FFMethodType     VARCHAR2(32),
     numberGCP        NUMBER,
     GCPs             SDO_GEOR_GCP_COLLECTION,
     solutionAccuracy SDO_NUMBER_ARRAY
);

表2-6に、SDO_GEOR_GCPGEOREFTYPEオブジェクト型の属性の説明を示します。

表2-6 SDO_GEOR_GCPGEOREFTYPEオブジェクト型の属性

属性 説明

FFMethodType

関数フィッティング・メソッド。AffineQuadraticPolynomialCubicPolynomialDLTQuadraticRationalまたはRPCのいずれかを指定する必要があります。

numberGCP

GCPコレクション内の地上基準点の数(GCPsパラメータ)。

GCPs

SDO_GEOR_GCP_COLLECTION型のGCPコレクション(「SDO_GEOR_GCP_COLLECTIONコレクション型」を参照)。

solutionAccuracy

次の形式で地理参照ソリューションの精度を格納する配列: (rowRMS, columnRMS, totalRMS, xRMS, yRMS, zRMS, modelTotalRMS)。最初の3つのRMS番号は基準点を使用して計算され、後の4つのRMS番号はチェック・ポイント(ある場合)を使用して計算されます。この情報は出力専用であるため、この属性の値を格納または変更しないでください。

SDO_GEOR_GCPGEOREFTYPEオブジェクト型には1つのコンストラクタが含まれます。そのコンストラクタは、パラメータを持たず、FFMethodType属性がAffineに設定され他の属性はNULL値に設定される型のインスタンスを作成します。