ST_Raster はユーザー定義データ タイプです。オブジェクト タイプ ST_Rasterはユーザー定義テーブルの 1 つの行の 1 つの列に格納されます。ST_Raster はラスター データへの SQL アクセスだけではなく、ジオデータベースの完全なサポートを提供します。これによって、ラスター操作とクエリにアクセスして使用できる SQL アプリケーションを作成できるようになります。
ST_Raster は Oracle、Microsoft SQL Server、および PostgreSQL データベースをサポートしています。SQL Server Express、Amazon Relational Database Service for SQL Server、Amazon Relational Database Service for PostgreSQL はサポートしていません。
ST_Raster タイプを使用するには、ジオデータベースで設定する必要があります。手順については、「Oracle での ST_Raster のインストール」、「PostgreSQL での ST_Raster のインストール」、または「SQL Server での ST_Raster のインストール」をご参照ください。
ST_Raster のオブジェクト タイプは次のように定義されます。
CREATE TYPE ST_Raster AS OBJECT (
raster_id INTEGER,
type INTEGER,
extent SE_EXTENT,
properties SE_RASTERPROPERTY_LIST,
rasterband_list ST_RASTERBAND_LIST
data ST_PIXELDATA);
属性 | 説明 |
---|---|
raster_id | ST_Raster として定義されるテーブル列の各ラスターの一意な ID |
type | 現在、内部でのみ使用するために予約されています |
extent | 検索範囲を格納するオプションの属性 |
properties | 個別のラスター バンドではなくラスターに関連付けられたさまざまな属性を格納するために使用されます |
rasterband_list | バンド固有の属性を格納するラスター バンドのコレクション |
data | 予約フィールド |
ST_Raster オブジェクトはいくつかのサブオブジェクトから構成されます。
ST_RASTERBAND および ST_RASTERBAND_LIST
ST_RASTERBAND_LIST タイプは次のように定義されます。
CREATE TYPE st_rasterband_list
AS VARRAY(4096) OF ST_RASTERBAND;
ST_RASTERBAND タイプは次のように定義されます。
CREATE TYPE st_rasterband AS OBJECT (
rasterband_id INTEGER,
sequence INTEGER,
types INTEGER,
width INTEGER,
height INTEGER,
extent SE_EXTENT,
block_origin SE_COORD,
block_width INTEGER,
block_height INTEGER,
flags INTEGER);
属性 | 説明 |
---|---|
rasterband_id | ST_Raster タイプ列内の各ラスター バンドの一意な ID |
sequence | ラスター バンド コレクション内の各バンドの順序を管理します。指定したラスター バンド コレクションに対して、コレクション内の各バンドの順序の値は一意である必要があります。 |
タイプ | さまざまなラスター バンド メタデータの格納に使用されるビットマスク。ビットマスクに格納された個々の属性は SQL 関数を通じて検証され、割り当てられます。この属性値を直接変更してはいけません。 |
width | ラスター バンドのピクセル幅を定義します |
height | ラスター バンドのピクセルの高さを定義します |
extent | ラスター バンドの地理範囲 |
block_origin | ブロックの原点の地理座標を管理します |
block_width | ラスター バンド タイルのピクセル幅を定義します |
block_height | ラスター バンド タイルのピクセルの高さを定義します |
flags | ラスター バンド メタデータのビットマスクを保持します。ビットマスクに格納された個々の属性は SQL 関数を通じてアクセスでき、割り当てることができます。この属性値を直接変更してはいけません。 |
SE_RASTERPROPERTY および SE_RASTERPROPERTY_LIST
SE_RASTERPROPERTY_LIST タイプは次のように定義されます。
CREATE TYPE se_rasterproperty_list
AS VARRAY(1048576) OF SE_RASTERPROPERTY;
SE_RASTERPROPERTY タイプは次のように定義されます。
CREATE TYPE se_rasterproperty AS OBJECT (
name VARCHAR2(65),
intvalue INTEGER,
strvalue VARCHAR2(160));
属性 | 説明 |
---|---|
name | ラスター プロパティの名前 |
intvalue | ラスター プロパティの整数値を格納します |
strvalue | ラスター プロパティの文字列値を格納します |
SE_EXTENT
SE_EXTENT タイプは次のように定義されます。
CREATE TYPE se_extent AS OBJECT (
minx FLOAT(64),
miny FLOAT(64),
maxx FLOAT(64),
maxy FLOAT(64));
属性 | 説明 |
---|---|
minx | X 座標の最小値 |
miny | Y 座標の最小値 |
maxx | X 座標の最大値 |
maxy | Y 座標の最大値 |
SE_COORD
SE_COORD タイプは次のように定義されます。
CREATE TYPE se_coord AS OBJECT (
x FLOAT(64),
y FLOAT(64));
属性 | 説明 |
---|---|
x | X 座標の値 |
y | Y 座標の値 |
ST_PIXELDATA
ST_PIXELDATA タイプは次のように定義されます。
CREATE TYPE st_pixeldata AS OBJECT (
width INTEGER,
height INTEGER,
numbands INTEGER,
extent SE_EXTENT,
types INTEGER,
data BLOB,
mask BLOB);
属性 | 説明 |
---|---|
width | オブジェクトのピクセル幅 |
height | オブジェクトのピクセルの高さ |
numbands | オブジェクトのバンド数を定義します |
extent | オブジェクトの地理範囲 |
タイプ | さまざまなラスター メタデータの格納に使用されるビットマスク。ビットマスクに格納された個々の属性は SQL 関数を通じて検証され、割り当てられます。この属性値を直接変更してはいけません。 |
data | オブジェクトのピクセル値の配列 |
mask | オブジェクトの NoData ビットマスク 配列 |