36 SDO_WCSパッケージ(Web Coverage Service)

MDSYS.SDO_WCSパッケージには、Oracle Spatial and GraphのWeb Coverage Service (WCS)サポートに関連するサブプログラムが含まれています。

「Web Coverage Service (WCS)のサポート」に記載の概念と技術について十分に理解していることが前提です。

36.1 SDO_WCS.CreateTempTable

構文

SDO_WCS.CreateTempTable(
     schema_name      IN VARCHAR2 DEFAULT USER, 
     tablespace_name  IN VARCHAR2 DEFAULT NULL); 

説明

再投影または変換を伴うGetCoverage処理時に必要な一時表を作成します。

パラメータ

schema_name

一時表を作成するスキーマの名前。指定しない場合、表は呼出し元ユーザーのスキーマに作成されます。

tablespace_name

一時表の表領域の名前。指定しない場合、ユーザーのデフォルト表領域が使用されます。

使用上のノート

各一時GeoRasterオブジェクトは、元のGeoRasterオブジェクトと同じスキーマに格納されます。GetCoverage操作(WCS)のレスポンスがクライアントに送信されると、リクエストの処理時に作成された一時GeoRasterは削除されます。

このプロシージャは、GeoRasterオブジェクトをカバレッジとしてパブリッシュするすべてのスキーマに対して呼び出す必要があります。

WCSのサポートについては、「Web Coverage Service (WCS)のサポート」を参照してください。

次の例では、呼出し元のスキーマにWCS一時表を作成します。

CALL SDO_WCS.createTempTable();

次の例では、SCOTTスキーマにWCS一時表を作成します。呼出し元のユーザーは、SCOTTスキーマに表を作成する権限を持っている必要があります。

CALL SDO_WCS.createTempTable(‘SCOTT’);

36.2 SDO_WCS.DropTempTable

構文

SDO_WCS.DropTempTable(
     schema_name   IN VARCHAR2 DEFAULT USER); 

説明

スキーマからWCS一時表を削除します。(WCS一時表は、WCS GeoCoverage処理に必要です。)

パラメータ

schema_name

削除するWCS一時表を含むデータベース・スキーマの名前。指定しない場合、呼出し元のスキーマが使用されます。

使用上のノート

schema_nameが呼出し元ユーザーでない場合、呼出し元ユーザーがそのスキーマから表を削除する権限を持っている必要があります。

WCSのサポートについては、「Web Coverage Service (WCS)のサポート」を参照してください。

次の例では、呼出し元のスキーマからWCS一時表を削除します。

BEGIN
SDO_WCS.DropTempTable();
END;

次の例では、SCOTTスキーマからWCS一時表を削除します。呼出し元のユーザーは、SCOTTスキーマの表を削除する権限を持っている必要があります。

BEGIN
SDO_WCS.DropTempTable(‘SCOTT’);
END;

36.3 SDO_WCS.GrantPrivilegesToWCS

構文

SDO_WCS.GrantPrivilegesToWCS(
     table_name  IN VARCHAR2, 
     wcs_schema  IN VARCHAR2, 
   updateable  IN VARCHAR2 DEFAULT 'FALSE'); 

説明

WCSスキーマがユーザー・スキーマ(つまり、GeoRasterオブジェクトを含むスキーマ)と異なる場合に、GeoRaster表のすべてのGeoRasterオブジェクトおよびラスター・データ表に対する選択および更新権限をWCSスキーマに付与します。

パラメータ

table_name

カバレッジとしてパブリッシュするGeoRasterオブジェクトを含む表の名前。

wcs_schema

WCSスキーマとして使用するスキーマの名前。

updateable

更新権限を付与するかどうかを示す文字列TRUEまたはFALSE(デフォルト)。

使用上のノート

ユーザー・スキーマ(GeoRasterオブジェクトをカバレッジとしてパブリッシュするスキーマ)とWCSスキーマが同じ場合、このプロシージャを使用しないでください。

WCSのサポートについては、「Web Coverage Service (WCS)のサポート」を参照してください。

次の例では、現在のスキーマのGEORASTER_TABLEという名前の表のすべてのGeoRasterオブジェクトおよびラスター・データ表に対する読取り権限をWCS_1という名前のWCSスキーマに付与します。

BEGIN
  SDO_WCS.grantPrivilegesToWCS(‘GEORASTER_TABLE’,’WCS_1’);
END;
/

36.4 SDO_WCS.Init

構文

SDO_WCS.Init();

説明

WCSカバレッジとしてパブリッシュするGeoRasterオブジェクトへの参照を格納するメタデータ表および順序を作成します。コール元スキーマがWCSスキーマになり、空間WebサービスWebアプリケーションをデプロイするJava EEコンテナに構成されます。

パラメータ

(なし。)

使用上のノート

このプロシージャは、カバレッジをパブリッシュする前、かつWebLogic ServerでWCSデータ・ソースを構成する前に一度コールする必要があります。

WCSのサポートについては、「Web Coverage Service (WCS)のサポート」を参照してください。

次の例では、必要なWCSメタデータ表を作成します。その後、SCOTTスキーマ内のGEORASTER_TABLE.RASTER列のGeoRasterオブジェクトのカバレッジをパブリッシュします。

BEGIN
  SDO_WCS.Init();
  SDO_WCS.PublishCoverage(‘SCOTT’,’GEORASTER_TABLE’,’RASTER’);
END;
/

36.5 SDO_WCS.PublishCoverage

構文

SDO_WCS.PublishCoverage(
     georaster   IN SDO_GEORASTER, 
     updateable  IN VARCHAR2 DEFAULT 'FALSE');

または

SDO_WCS.PublishCoverage(
     user_name   IN VARCHAR2, 
   table_name  IN VARCHAR2, 
     column_name IN VARCHAR2, 
     updateable  IN VARCHAR2 DEFAULT 'FALSE');

説明

GeoRasterオブジェクトをWCSカバレッジとしてパブリッシュします。

パラメータ

georaster

WCSカバレッジとしてパブリッシュするGeoRasterオブジェクト。

user_name

GeoRaster列を含む表を所有するユーザー(スキーマ)の名前。

table_name

GeoRasterオブジェクトをパブリッシュするGeoRaster表の名前。

column_name

table_name内のGeoRaster列の名前。

updateable

パブリッシュするカバレッジを、トランザクション・リクエストを介して編集可能とする場合、文字列TRUEを含みます。パブリッシュするカバレッジを、トランザクション・リクエストを介して編集可能としない場合、文字列FALSE(デフォルト)を含みます。

使用上のノート

パブリッシュする各GeoRasterに一意のカバレッジIDが割り当てられます。GetCapabilities操作(WCS)のレスポンスに、新たに生成されたカバレッジIDが示されます。GeoRasterオブジェクトをパブリッシュできるのは、一度のみです。

WCSのサポートについては、「Web Coverage Service (WCS)のサポート」を参照してください。

次の例では、SCOTTスキーマ内のGEORASTER_TABLEという名前の表から特定(ID=1)のGeoRasterオブジェクトをカバレッジとしてパブリッシュします。

DECLARE
  gr1   SDO_GEORASTER;
BEGIN
  SELECT raster INTO gr1 FROM SCOTT.GEORASTER_TABLE where ID=1;
  SDO_WCS.PublishCoverage(gr1);
END;
/

次の例では、SCOTTスキーマ内のIMAGE表のRASTER列のすべてのGeoRasterオブジェクトをパブリッシュします。

CALL SDO_WCS.publishCoverage('SCOTT','IMAGE','RASTER');

36.6 SDO_WCS.RevokePrivilegesFromWCS

構文

SDO_WCS.RevokePrivilegesFromWCS(
     table_name  IN VARCHAR2, 
     wcs_schema  IN VARCHAR2); 

説明

指定したwcs_schemaユーザーから、呼出し元ユーザーのスキーマ内の指定した表に対する選択および更新権限を取り消します。

パラメータ

table_name

SDO_WCS.GrantPrivilegesToWCSプロシージャを使用して以前に権限を付与したGeoRaster表の名前。

wcs_schema

権限を取り消すWCSスキーマの名前。GeoRasterオブジェクトを含むユーザー・スキーマとは異なる必要があります。

使用上のノート

WCSスキーマがGeoRasterオブジェクトのスキーマと同じ場合、このプロシージャを使用しないでください。

WCSのサポートについては、「Web Coverage Service (WCS)のサポート」を参照してください。

次の例では、GEORASTER_TABLEとこれに関連付けられているすべてのラスター・データ表に対する読取りおよび更新権限をWCS_1という名前のWCSスキーマから取り消します。

BEGIN
  SDO_WCS.RevokePrivilegesFromWCS('GEORASTER_TABLE','WCS_1'’);
END;
/

36.7 SDO_WCS.UnpublishCoverage

構文

SDO_WCS.UnpublishCoverage(
     coverage_id  IN VARCHAR2);

説明

カバレッジのパブリッシュを解除します。

パラメータ

coverage_id

GetCapabilitiesレスポンスのカバレッジのリストのカバレッジIDを指定した文字列。

使用上のノート

GetCapabilities操作(WCS)のレスポンスには、指定したWCSサーバー・インスタンスのすべてのカバレッジIDのリストが含まれます。このプロシージャの実行後、指定したカバレッジIDはGetCapabilitiesレスポンスに出現しなくなります。

WCSのサポートについては、「Web Coverage Service (WCS)のサポート」を参照してください。

次の例では、カバレッジIDがC0001のカバレッジをパブリッシュ解除します。

DECLARE
BEGIN
  SDO_WCS.UnpublishCoverage(‘C0001’);
END;
/

36.8 SDO_WCS.ValidateCoverages

構文

SDO_WCS.ValidateCoverages(
     ) RETURN MDSYS.SDO_WCS_INVALID_COVERAGE; 

説明

WCSメタデータ表内のGeoRasterオブジェクトを検証し、すべての無効なWCSメタデータ・エントリのカバレッジIDを戻します。

パラメータ

(なし。)

使用上のノート

このプロシージャは、WCSユーザーが呼び出す必要があります。

GeoRasterオブジェクトの削除時、その参照がWCSメタデータ表に残る場合があります。そのような参照は無効なメタデータ・エントリです。

このファンクションは、MDSYS.SDO_WCS_INVALID_COVERAGEオブジェクト(TABLE OF VARCHAR2(4000)と定義されている)を戻します

戻されるオブジェクトの各要素は、対応するGeoRasterオブジェクトが見つからなかった、WCSメタデータ表内のカバレッジIDです。無効なメタデータ・エントリは、DescribeCoverage操作(WCS)およびGetCoverage操作(WCS)で処理されません。

WCSのサポートについては、「Web Coverage Service (WCS)のサポート」を参照してください。

次の例では、すべての無効なカバレッジIDを反復してパブリッシュを解除し、WCSメタデータに有効なカバレッジのみを残します。

DECLARE
BEGIN
   FOR i IN (select * from table(SDO_WCS.ValidateCoverages()))
   LOOP
      SDO_WCS.UnpublishCoverage(i.column_value);
   END LOOP;
END;
/