Oracle に格納されたジオデータベースのラスタ データセットとラスタ カタログ

ラスタ データは、同じサイズのセルの行と列の配列として表される空間データです。ラスタ データは 1 つ以上のラスタ バンドで構成できます。ラスタ データとその属性の詳細については、このヘルプの「ラスタ データの概要」をご参照ください。はじめに、「ラスタ データとは」をご参照ください。

ArcGIS Desktop のラスタ

ArcGIS では、ラスタ データは単一のラスタ データセット、ラスタ カタログ、またはモザイク データセットに格納できます。これらラスタの格納タイプについては、「ラスタ データの構成」をご参照ください。

カタログ ツリーでは、Oracle の各ラスタ データセットは次のアイコンで表示されます。

ラスタ データセットのアイコン

ラスタ カタログは、カタログ ツリーに次のアイコンで表示されます。

ラスタ カタログのアイコン

Oracle のジオデータベース内にあるラスタ カタログとラスタ データセットの名前には、ラスタ カタログまたはラスタ データセットの所有者の名前と、ラスタ カタログまたはラスタ データセット自体の名前が含まれます。

たとえば、ユーザ「rock」が所有するラスタ データセット「world」は、カタログ ツリーでは「ROCK.WORLD」と表示されます。

モザイク データセットのジオデータベースへの格納方法の詳細については、「Oracle に格納されたジオデータベースのモザイク データセット」をご参照ください。

Oracle データベースのラスタ テーブル

Oracle データベースの ArcSDE ジオデータベースは、ラスタ データを LONG RAW、BLOB、GeoRaster、ST_Raster のいずれかの格納タイプで格納します。

Oracle に格納されたラスタの場合は、ビジネス テーブルにラスタ列が追加され、ラスタ列の各セルに別のラスタ テーブルに格納されたラスタへの参照が含まれます。このため、ビジネス テーブルの各行はラスタ全体を参照します。

ラスタを Oracle の ArcSDE ジオデータベースにインポートすると、選択したビジネス テーブルにラスタ列が追加されます。Oracle の列の命名規則に準拠していれば、ラスタ列に任意の名前を付けることができます。ArcSDE では、ラスタ列はビジネス テーブルにつき 1 つに制限されます。

LONG RAW または BLOB 形式で格納されるラスタ

LONG RAW または BLOB で格納されたラスタ データセットは、ジオデータベースの 7 つのテーブル(ビジネス テーブル、フィーチャ テーブル、空間インデックス テーブル、補助テーブル、ブロック テーブル、バンド テーブル、ラスタ属性テーブル)で構成されます。次に、WORLD_TIF という名前のラスタ データセットのビジネス テーブルとラスタ テーブルを示します。

注意注意:

LONG RAW データ タイプは、Oracle の今後のリリースでサポートされなくなる可能性があります。したがって、新しいラスタ データセットの作成に LONG RAW 格納を使用することは推奨されません。

Oracle の BLOB または LONG RAW のラスタ データセット

ビジネス テーブル

ビジネス テーブルは属性を格納する DBMS テーブルであり、ラスタ列の追加により空間に対応します。ビジネス テーブルは、ラスタのフットプリントを格納(エリアを定義)します。上の例では、ビジネス テーブルは WORLD_TIF テーブルです。

ラスタ列を持つビジネス テーブルが、1 つのラスタ データセットまたはラスタ カタログです。ラスタ データセットはビジネス テーブル行を 1 つしか含むことができませんが、ラスタ カタログは複数の行を含むことができます。ラスタ列に関する情報は、RASTER_COLUMNS システム テーブルで管理されます。すべてのビジネス テーブルに関する情報は、テーブルに空間列またはラスタ列があるかどうかにかかわらず、TABLE_REGISTRY システム テーブルに維持されます。

フィーチャ テーブル(f<layer_id>)

フィーチャ テーブルはラスタ データセットのジオメトリを格納します。このテーブルは、LAYERS テーブルの LAYER_ID 列の番号によって識別されます。ビジネス テーブルとフィーチャ テーブル間のリレーションシップは、フィーチャID(FID)を通じて管理されます。ArcSDE によって管理されるこのキーは、空間列において一意です。先の例では、フィーチャ テーブルは F117 です。

空間インデックス テーブル(s<layer_id>)

空間インデックス テーブルは標準のシンプルなグリッドに基づいたシェープへの参照を格納します。このテーブルは LAYERS テーブルの LAYER_ID 列の番号によって識別されます。ラスタ データセット「WORLD_TIF」の例では、空間インデックス テーブルは S117 です。空間インデックスには空間検索をサポートするためのシェープとグリッド セルの組み合わせごとに、エントリが 1 つ含まれます。空間検索を実行すると検索エリアのグリッド セルが特定され、候補ピクセルのリストを取得するために使用されます。

ラスタ イメージ テーブル

実際のラスタ イメージは、これらのテーブルに格納されます。

注意注意:

ラスタ テーブルは、ラスタ データがジオデータベースにある場合にのみデータベースに表示されます。

SDE_AUX_<raster_column_ID>

ラスタ補助テーブルには、イメージ カラーマップ、イメージ統計、およびイメージ オーバーレイとモザイク処理に使用されるビット マスク(オプション)が格納されます。

ArcSDE は、イメージ統計、カラー マップ、ビット マスクなどの既存のイメージ メタデータをすべて、自動的にラスタ補助テーブルに格納します。ラスタ補助テーブルの rasterband_id 列は、ラスタ バンド テーブルの主キーに対する外部キー参照です。ラスタ バンドのメタデータにアクセスするときに、ArcSDE はこの主キーと外部キー参照で 2 つのテーブルを結合します。

フィールド名

フィールド タイプ

説明

NULL?

RASTERBAND_ID

NUMBER(38)

ラスタ バンドを表す数字。たとえば、2 つのラスタ バンドを持つラスタ データセットでは、このフィールドに 2 つの異なる値(1 と 2)が含まれます。

NOT NULL

TYPE

NUMBER(38)

含まれる値

NOT NULL

OBJECT

LONG RAW or BLOB

実際のデータ(カラーマップ インデックス、ラスタ統計情報、または座標変換)

NOT NULL

SDE_BLK_<raster_column_ID>

ラスタ ブロック テーブルには、画像の各バンドの実際のイメージ データが格納されます。

ラスタ ブロック テーブルには、各ラスタ バンドのピクセルが格納されます。ArcSDE は、ユーザ定義の範囲に従って、ピクセルをブロックにタイル分割します。ArcSDE にはデフォルトの範囲がありませんが、ラスタ データを ArcSDE ジオデータベースに格納するアプリケーションには、デフォルトの設定があります。たとえば、ジオプロセシング ツールと ArcCatalog は、デフォルトで 1 ブロックあたり 128 x 128 ピクセルのラスタ ブロックの範囲を使用します。ラスタ ブロックの範囲と圧縮方法(指定されている場合)により、各ラスタ ブロックの格納サイズが決定されます。ラスタ ブロック テーブルの各行が DBMS に適合するように、ラスタ ブロックの範囲と圧縮方法の組み合わせを選択してください。

ラスタ ブロック テーブルには RASTERBAND_ID 列が含まれます。この列は、ラスタ バンド テーブルの RASTERBAND_ID 主キーに対する外部キー参照です。ラスタ バンドのブロックにアクセスするときに、この主キーと外部キー参照でこれらのテーブルが結合されます。

Linux、UNIX、および Windows 上の Oracle では、非常に大きな表スペースを作成して BLK(ラスタ ブロック)テーブルを格納し、中くらいのサイズの別の表スペースを作成して残りのラスタ テーブルとインデックスを格納してください。

Oracle にラスタ ブロック テーブルのための表スペースを作成する場合は、エクステント サイズを 64 にすることをお勧めします。エクステント サイズは、次のコンテナに進む前にコンテナに書き込まれるページの数を指定します。エクステント サイズは表スペースの作成時に定義され、後から簡単に変更することはできません。ラスタ テーブルには、ラスタ属性テーブルという追加タイプがあります。これらのテーブルには、ラスタ内のセル値に基づく属性値が格納されます。

ラスタ ブロック テーブルの値は、ピラミッドの解像度の低下に従って設定されます。ピラミッドの高さは、アプリケーションによって指定されたレベル数に基づいて決定されます。ジオプロセシング ツールや ArcCatalog などのアプリケーションでは、ユーザがレベルを定義したり、ArcSDE にレベルを計算するよう要求したり、これらの両方を選択することができます。ピラミッドはベース(レベル 0)から始まり、このレベルには画像の元のピクセルが含まれます。ピラミッドは頂点に向かって進み、前のレベルの 4 つのピクセルが現在のレベルの 1 つのピクセルに結合されます。このプロセスは ArcSDE が頂点に到達するまで続けられます。この動作は自動的に定義されるか、ユーザが定義できます。

ピラミッドのレベルを追加すると、ラスタ ブロックの数が 3 分の 1 増加します。ただし、レベルの数を指定できるため、ピラミッドのサイズを小さくすることが可能です。ピラミッドの第 1 レベルは、ベースの 25% になります。ピラミッドの第 1 レベルはスキップできることにも注意してください。これにより、ピラミッドのサイズを大幅に削減することができます。

ラスタ ピラミッド
ラスタ ピラミッド

ピラミッドを構築する場合、前のレベルを順次ダウンサンプリングすることにより、頂点に到達するまでに 2 倍のラスタが作成されます。アプリケーションが表示を縮小してラスタ セルが解像度の閾値より小さくなるたびに、ArcSDE はピラミッドの上位のレベルを選択します。ピラミッドの目的は、表示のパフォーマンスを最適化することです。

フィールド名

フィールド タイプ

説明

NULL?

RASTERBAND_ID

NUMBER(38)

ラスタ バンドを表す数字。たとえば、2 つのラスタ バンドを持つラスタ データセットでは、このフィールドに 2 つの異なる値(1 と 2)が含まれます。

NOT NULL

RRD_FACTOR

NUMBER(38)

ピラミッド レベル。ピラミッド レベルは 0 から始まり、ここから増えていきます。

NOT NULL

ROW_NBR

NUMBER(38)

タイルの行位置番号

NOT NULL

COL_NBR

NUMBER(38)

タイルの列位置番号

NOT NULL

BLOCK_DATA

LONG RAW or BLOB

タイルに格納されるピクセル データ

NOT NULL

SDE_BND_<raster_column_id>

ラスタ バンド テーブルには、画像のバンドに関する情報が格納されます。ラスタ バンドごとにレコードが 1 つあります。

ArcSDE ジオデータベースは、ラスタ バンドをラスタ バンド テーブルに格納します。ArcSDE は、RASTER_ID 列でラスタ バンド テーブルをラスタ テーブルに結合します。ラスタ バンド テーブルの RASTER_ID 列は、ラスタ テーブルの主キーに対する外部キー参照です。

フィールド名

フィールド タイプ

説明

NULL?

RASTERBAND_ID

NUMBER(38)

ラスタ バンドを表す数字。たとえば、2 つのラスタ バンドを持つラスタ データセットでは、このフィールドに 2 つの異なる値(1 と 2)が含まれます。

NOT NULL

SEQUENCE_NBR

NUMBER(38)

ラスタ データセット内のラスタ バンドの順序

NOT NULL

RASTER_ID

NUMBER(38)

ラスタ データセットの一意の識別子。ビジネス テーブルのラスタ列の値に対応します。

NOT NULL

NAME

NVARCHAR2(65)

オプションのラスタ バンド名

BAND_FLAGS

NUMBER(38)

バンドに関するプロパティを含むビットマスク

NOT NULL

BAND_WIDTH

NUMBER(38)

バンドのピクセル幅

NOT NULL

BAND_HEIGHT

NUMBER(38)

バンドのピクセルの高さ

NOT NULL

BAND_TYPES

NUMBER(38)

バンドに関するプロパティを含むビット マスク

NOT NULL

BLOCK_WIDTH

NUMBER(38)

ブロックのピクセル幅

NOT NULL

BLOCK_HEIGHT

NUMBER(38)

ブロックのピクセル高さ

NOT NULL

BLOCK_ORIGIN_X

NUMBER(64)

ラスタの原点の X 座標

NOT NULL

BLOCK_ORIGIN_Y

NUMBER(64)

ラスタの原点の Y 座標

NOT NULL

EMINX

NUMBER(64)

ラスタ バンドの X 座標の最小値

NOT NULL

EMINY

NUMBER(64)

ラスタ バンドの Y 座標の最小値

NOT NULL

EMAXX

NUMBER(64)

ラスタ バンドの Y 座標の最大値

NOT NULL

EMAXY

NUMBER(64)

ラスタ バンドの Y 座標の最大値

NOT NULL

CDATE

NUMBER(38)

ラスタ バンドの作成日

NOT NULL

MDATE

NUMBER(38)

ラスタ バンドの最終更新日

NOT NULL

SDE_RAS_<raster_column_id>

ラスタ説明テーブルは、ラスタ列内の画像の説明を格納します。

フィールド名

フィールド タイプ

説明

NULL?

RASTER_ID

NUMBER(38)

ラスタ データセットの一意の識別子。ビジネス テーブルのラスタ列の値に対応します。

NOT NULL

RASTER_FLAGS

NUMBER(38)

将来使用するために予約済み

DESCRIPTION

NVARCHAR2(65)

ラスタ データセットの説明

ラスタの管理に使用するその他のシステム テーブル

他のタイプのデータと同様に、ラスタ カタログとラスタ データセットは GDB_ITEMS テーブルと LAYERS テーブルで管理されます。ラスタ タイプの列は RASTER_COLUMNS テーブルで管理されます。ラスタ列を含むテーブルごとに 1 つのエントリがあります。

ラスタ データセットまたはラスタ カタログの一部として、属性テーブルを追加できます。ラスタ データセットにはラスタ属性テーブルを 1 つしか追加できませんが、ラスタ カタログには複数のテーブルを追加できます。ラスタ属性テーブルは、特定のラスタ セル値の属性を定義するために使用されます。これらのテーブルの使用方法については、「ラスタ データセットの属性テーブル」をご参照ください。

[データ管理] ツールボックスの [ラスタ] ツールセットで、[ラスタ プロパティ] ツールセットの [ラスタ属性テーブルの構築(Build Raster Attribute)] ツールを使用できます。このツールの詳細については、「ラスタ属性テーブルの構築(Build Raster Attribute Table)(データ管理)」をご参照ください。

ラスタ データセットでは、追加の属性テーブルの名前は SDE_VAT_<raster_column_ID> という形式になります。ラスタ カタログでは、テーブル名は SDE_VAT_<raster_column_ID>_<Object_ID> という形式になります。

View a diagram of a raster dataset using binary storage in Oracle.

破線はテーブル間の暗黙的なリレーションシップを示しています。

注意注意:

このファイルを開くには、Adobe Acrobat Reader が必要です。

ST_Raster 形式で格納されるラスタ

ST_Raster は、サブタイプで構成されるユーザ定義のオブジェクト タイプです。ST_Raster 格納を使用するラスタ データセットは、3 つのテーブル(ビジネス テーブル、補助テーブル、ブロック テーブル)で構成されます。ジオデータベースで ST_Raster 格納を使用する場合、ラスタ内やバイナリ ラスタのラスタ バンド テーブルに格納される情報と同等の情報が、ベース テーブルの ST_Raster オブジェクト内に格納されます。ST_Raster オブジェクトは、ラスタのジオメトリも格納します。

ST_Raster 形式で格納されるラスタには、補助テーブル(SDE_AUX_<raster_ID>)とブロック テーブル(SDE_BLK_<raster_ID>)があります(このトピックの「ラスタ イメージ テーブル」を参照)が、ラスタ バンド テーブル(SDE_BND_<raster_ID>)やラスタ テーブル(SDE_RAS_<raster_ID>)は使用しません。

また、ST_Raster には F テーブルもありません。ST_Raster オブジェクト自体にジオメトリが格納されます。

View a diagram of a raster dataset using ST_Raster storage in Oracle.

破線はテーブル間の暗黙的なリレーションシップを示しています。

注意注意:

このファイルを開くには、Adobe Acrobat Reader が必要です。

Oracle GeoRaster 形式で格納されるラスタ

ジオデータベースに Oracle GeoRaster 形式で格納されたラスタのビジネス テーブルには、MDSYS.SDO_GEORASTER タイプの列が含まれています。この情報は、Oracle メタデータ スキーマで管理されます。MDSYS.GEORASTER 列には、次のようなコンポーネントが含まれます。

名前

コンポーネントの値の例

RASTER

SDO_GEORASTER

RASTERTYPE

20001

SPATIALEXTENT

SDO_GEOMETRY

SDO_GTYPE

2003

SDO_SRID

NULL

SDO_POINT

NULL

SDE_ELEM_INFO

SDO_ELEM_INFO_ARRAY(1,1003,3)

SDO_ORDINATES

SDO_ORDINATE(0,0,0256,256)

RASTERDATATABLE

'SDE_RDT_1897'

RASTERID

2

METADATA

XMLTYPE(<georasterMetadata xmlns="http://xmlns.oracle.com/spatial/georaster"> <objectI)

注意注意:

メタデータ列は非常に長いので、SQL*Plus で表示するためには、SQL*Plus 環境変数の LONGSIZE および PAGESIZE の値を次のように設定して、直接検索する必要があります。

set LONG 20000
set PAGESIZE 500

各 SDO_GEORASTER 列のピクセル データは、別のラスタ データ テーブルに格納されます。ArcSDE によって作成される SDO_GEORASTER データ テーブルの名前は SDE_RDT_<raster_column_id> です。<rastercolumn_id> は RASTER_COLUMN テーブルの raster_column_id フィールドに対応し、ArcSDE メタデータ内で該当するラスタ列を一意に識別します。ArcSDE は BLK_STORAGE DBTUNE 格納パラメータを使用して、SDE_RDT_<rastercolumn_id> テーブルの Oracle 格納パラメータを制御します。このテーブルとそのフィールドの詳細については、『Oracle Spatial GeoRaster』の第 1 章をご参照ください。

SDE_RDT_<raster_column_id> は次のように定義されます。

フィールド名

フィールド タイプ

RASTERID

NUMBER

PYRAMIDLEVEL

NUMBER

BANDBLOCKNUMBER

NUMBER

ROWBLOCKNUMBER

NUMBER

COLUMNBLOCKNUMBER

NUMBER

BLOCKMBR

MDSYS.SDO_GEOMETRY

RASTERBLOCK

BLOB

View a diagram of a raster dataset using SDO_GeoRaster storage in Oracle.

注意注意:

このファイルを開くには、Adobe Acrobat Reader が必要です。

ラスタ データの性質により、ラスタを含んでいるデータベースのサイズは大きくなる傾向があります。ラスタ データセットとラスタ カタログのサイズが数 GB 未満になることはまれであり、数 TB を DBMS 内で占める可能性もあります。したがって、大きなサイズのラスタ データに対処するのは容易ではありません。ArcSDE ジオデータベースでのラスタ データの管理方法に関するアドバイスとサンプルについては、support.esri.comの ArcSDE サポート サイトからダウンロードできる『Raster data in ArcSDE』をご参照ください。

XML ドキュメントのラスタ

XML ドキュメントでは、ラスタ データセットは DataElement タグで囲まれます。タグには、「esri:DERasterDataset」の値が含まれます。

<esri:Workspace xmlns:esri="http://www.esri.com/schemas/ArcGIS/9.2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <WorkspaceDefinition xsi:type="esri:WorkspaceDefinition">
   <WorkspaceType>esriRemoteDatabaseWorkspace</WorkspaceType> 
   <Version>sde.DEFAULT</Version> 
   <Domains xsi:type="esri:ArrayOfDomain" /> 
   <DatasetDefinitions xsi:type="esri:ArrayOfDataElement">
     <DataElement xsi:type="esri:DERasterDataset">
       <CatalogPath>/V=sde.DEFAULT/RD=ROCK.world_TIF</CatalogPath> 
       <Name>ROCK.world_TIF</Name> 
       <Children xsi:type="esri:ArrayOfDataElement">
          <DataElement xsi:type="esri:DERasterBand">
            <CatalogPath>/V=sde.DEFAULT/RD=ROCK.world_TIF/RB=Band_1</CatalogPath> 
            <Name>Band_1</Name> 
            <DatasetType>esriDTRasterBand</DatasetType> 
            <DSID>-1</DSID> 
            <Versioned>false</Versioned> 
            <CanVersion>false</CanVersion> 
            <HasOID>true</HasOID> 
            <OIDFieldName>ObjectID</OIDFieldName> 
            <Fields xsi:type="esri:Fields">
              <FieldArray xsi:type="esri:ArrayOfField">
                <Field xsi:type="esri:Field">
                    <Name>ObjectID</Name> 
                    <Type>esriFieldTypeOID</Type> 
                    <IsNullable>false</IsNullable> 
                    <Length>4</Length> 
                    <Precision>0</Precision> 
                    <Scale>0</Scale> 
                    <Required>true</Required> 
                    <Editable>false</Editable> 
                </Field>
                <Field xsi:type="esri:Field">
                    <Name>Value</Name> 
                    <Type>esriFieldTypeInteger</Type> 
                    <IsNullable>true</IsNullable> 
                    <Length>0</Length> 
                    <Precision>0</Precision> 
                    <Scale>0</Scale> 
               </Field>
               <Field xsi:type="esri:Field">
                    <Name>Count</Name> 
                    <Type>esriFieldTypeInteger</Type> 
                    <IsNullable>true</IsNullable> 
                    <Length>0</Length> 
                    <Precision>0</Precision> 
                    <Scale>0</Scale> 
               </Field>
             </FieldArray>
         </Fields>
         <Indexes xsi:type="esri:Indexes">
           <IndexArray xsi:type="esri:ArrayOfIndex" /> 
         </Indexes>
         <IsInteger>true</IsInteger> 
         <MeanCellHeight>0.175996089009095</MeanCellHeight> 
         <MeanCellWidth>0.176000337991447</MeanCellWidth> 
         <Height>1024</Height> 
         <Width>2048</Width> 
         <PixelType>U8</PixelType> 
         <PrimaryField>1</PrimaryField> 
         <TableType>esriRasterTableValue</TableType> 
         <Extent xsi:type="esri:EnvelopeN">
            <XMin>-179.906382261841</XMin> 
            <YMin>-90.1303147686327</YMin> 
            <XMax>180.542309944643</XMax> 
            <YMax>90.089680376681</YMax> 
            <SpatialReference xsi:type="esri:GeographicCoordinateSystem">
   <WKT>GEOGCS["GCS_WGS_1984", DATUM["D_WGS_1984", SPHEROID["WGS_1984",6378137.0,298.257223563]], PRIMEM["Greenwich",0.0], UNIT["Degree",0.0174532925199433]]</WKT> 
          <XOrigin>-400</XOrigin> 
          <YOrigin>-400</YOrigin> 
          <XYScale>11258999068426.2</XYScale> 
          <ZOrigin>0</ZOrigin> 
          <ZScale>1</ZScale> 
          <MOrigin>0</MOrigin> 
          <MScale>1</MScale> 
          <XYTolerance>8.98315284119521E-09</XYTolerance> 
          <ZTolerance>2</ZTolerance> 
          <MTolerance>2</MTolerance> 
          <HighPrecision>true</HighPrecision> 
          <LeftLongitude>-180</LeftLongitude> 
         </SpatialReference>
        </Extent>
      </Data>
    </DatasetData>
   </WorkspaceData>
</esri:Workspace>

7/10/2012