2.1 SDO_GEORASTERオブジェクト型
GeoRasterオブジェクト・リレーショナル・モデルでは、ラスター・イメージまたはグリッド・オブジェクトが、ユーザーが定義した表のSDO_GEORASTERオブジェクト型の1列に、1行で格納されます。1つ以上のSDO_GEORASTER型の列が含まれる表は、GeoRaster表と呼ばれます。
SDO_GEORASTERオブジェクト型の定義は次のとおりです。
CREATE TYPE sdo_georaster AS OBJECT ( rasterType NUMBER, spatialExtent SDO_GEOMETRY, rasterDataTable VARCHAR2(128), rasterID NUMBER, metadata XMLType);
この項では、各SDO_GEORASTER属性の意味について説明します。
2.1.1 rasterType属性
rasterType
属性には、[d][b][t][gt]
という書式の5桁の値を指定する必要があります。
-
[d]
は、空間次元数を示します。今回のリリースでは、2を指定する必要があります。 -
[b]
は、バンドまたはレイヤーの情報を示します。0(ゼロ)は、バンドまたはレイヤーが1つであることを意味します。1は、バンドまたはレイヤーが1つまたは複数であることを意味します。このフィールドにはバンドまたはレイヤーの合計数を指定するのではないことに注意してください。(バンドとレイヤーの詳細は、「バンド、レイヤーおよびメタデータ」を参照してください。) -
[t]
は、将来使用するために予約されており、0 (ゼロ)を指定する必要があります。 -
[gt]
は、2桁のGeoRaster型を示し、次の値のいずれかを指定する必要があります。[gt]の値 意味 00
Oracleで使用するために予約されています。
01
任意のGeoRaster型です。今回のリリースでは、この値のみがサポートされています。この値を指定すると、GeoRasterで、将来のリリースで型が実装された場合に、その特定の型に関連付けられた制限が適用されなくなります。
02-50
Oracleで使用するために予約されています。
51-99
将来のリリースで顧客が使用するために予約されています。
たとえば、20001のRasterType値は、次のことを意味します。
-
2次元データである
-
1つのバンド(レイヤー)である
-
任意のGeoRaster型である
親トピック: SDO_GEORASTERオブジェクト型
2.1.2 spatialExtent属性
spatialExtent
属性は、ラスター・データに関連付けられた空間エクステント(フットプリント)を表します。空間エクステントは、SDO_GEOMETRY型のOracle Spatialジオメトリです。空間エクステント・ジオメトリは、必ずしもGeoRasterモデル空間内ではなく、任意の座標系に存在できます。また、ジオメトリを指定したSQLのUPDATE文で直接更新できます。ただし、空間エクステント・ジオメトリがGeoRasterオブジェクトのモデル(地上)空間内に存在するのは、GeoRasterオブジェクトが地理参照されている場合で、かつSDO_GEOR.generateSpatialExtentファンクションのコール、またはGeoRasterクライアント側ローダー(GeoRasterツール: ローダー、ビューア、エクスポータを参照)により、空間エクステント・ジオメトリを生成する場合です。
SDO_CS.transformをコールすることにより、サポートされている他のすべての座標系に空間エクステント・ジオメトリを変換できます。SRIDの値がNULLまたは0 (ゼロ)の場合、空間エクステントは、セル空間ではなくNULLに設定されます。SDO_GEOMETRYデータ型の詳細は、『Oracle Spatial開発者ガイド』を参照してください。
GeoRasterの空間エクステントは、通常、GeoRaster列に空間Rツリー索引を作成する際に使用されます。たとえば、すべてのGeoRasterオブジェクトが異なるローカル投影に存在する場合、すべての空間エクステントに対して測地SRIDを使用でき、全地球ベースの空間索引をGeoRaster表に作成して、GeoRasterオブジェクトの空間検索をグローバルに実行できます。空間索引の作成によってGeoRasterアプリケーションのパフォーマンスが向上する可能性があるため、ジオメトリは、XMLのmetadata
属性(「metadata属性」を参照)に含まれるのではなく、spatialExtent
属性に関連付けられます。GeoRasterデータの索引付けの詳細は、「GeoRasterオブジェクトの索引付け」を参照してください。
親トピック: SDO_GEORASTERオブジェクト型
2.1.3 rasterDataTable属性
rasterDataTable
属性は、ラスター・データ表の名前を識別します。ラスター・データ表は、SDO_RASTER型のオブジェクト表か、含まれるすべての列がオブジェクト型SDO_RASTERによって定義されている、リレーショナル表である必要があります。この表には、格納されている各ラスター・ブロックに対して1つの行が含まれます。ラスター・データ表は作成および(必要に応じて)削除する必要があります。この表の行を直接変更することはできませんが、この表を問い合せてラスター・データにアクセスすることはできます。
この属性は、引用符で囲まれていない有効な識別子で、ピリオドで区切る必要はありません。また、英数字はすべて大文字であることが必要です。
ラスター・データ表およびSDO_RASTER型の詳細は、「SDO_RASTERオブジェクト型およびラスター・データ表」を参照してください。
親トピック: SDO_GEORASTERオブジェクト型
2.1.4 rasterID属性
rasterID
属性の値は、ラスター・データ表の行に格納され、GeoRasterオブジェクトに属する行を識別します。rasterDataTable
属性とrasterID
属性の組合せによって、データベース内でGeoRasterオブジェクトが一意に識別されます。各GeoRasterオブジェクトには1つのラスター・データ表が存在しますが、1つのラスター・データ表に複数のGeoRasterオブジェクトのデータが含まれる場合があります。
rasterID
およびrasterDataTable
属性は新しいGeoRasterオブジェクトに指定できます。ただし、それぞれの組合せがデータベース内で一意である必要があります。これらの値を指定しない場合、SDO_GEOR.initおよびSDO_GEOR.createBlankファンクションによって値が自動的に生成されます。
親トピック: SDO_GEORASTERオブジェクト型
2.1.5 metadata属性
metadata
属性には、オラクル社によって定義されたGeoRasterメタデータが含まれます。このメタデータは、GeoRasterメタデータのXMLスキーマによって記述されます(「GeoRasterメタデータのXMLスキーマ」を参照。)すべてのGeoRasterオブジェクトのメタデータは、このXMLスキーマに対して検証する必要があります。また、SDO_GEOR.validateGeoRasterファンクションを使用して検証する必要もあります。このXMLスキーマでは定義されない追加の制限が、このファンクションによって適用されます。
GeoRasterメタデータのデフォルトの記憶域オプションは、バイナリXMLです。
親トピック: SDO_GEORASTERオブジェクト型