ST_Raster 格納タイプとは
ST_Raster はユーザ定義データ タイプです。オブジェクト タイプ ST_Rasterはユーザ定義テーブルの 1 つの行の 1 つの列に格納されます。ST_Raster はラスタ データへの SQL アクセスだけではなく、ジオデータベースの完全なサポートを提供します。これにより、DBMS(Database Management System)を使用して、ラスタ操作とクエリを実行できる SQL アプリケーションを作成することが可能になります。
ST_Raster は Oracle、Microsoft SQL Server、および PostgreSQL データベースをサポートしています。SQL Server Express はサポートしていません。
ST_Raster タイプを使用するには、DBMS を設定する必要があります。手順については、「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 |
ラスタ バンド コレクション内の各バンドの順序を管理します。指定したラスタ バンド コレクションに対して、コレクション内の各バンドの順序の値は一意である必要があります。 |
types |
さまざまなラスタ バンド メタデータの格納に使用されるビットマスク。ビットマスクに格納された個々の属性は 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 |
オブジェクトの地理範囲 |
types |
さまざまなラスタ メタデータの格納に使用されるビットマスク。ビットマスクに格納された個々の属性は SQL 関数を通じて検証され、割り当てられます。この属性値を直接変更してはいけません。 |
data |
オブジェクトのピクセル値の配列 |
mask |
オブジェクトの NoData ビットマスク 配列 |