36 SDO_WCSパッケージ(Web Coverage Service)
MDSYS.SDO_WCSパッケージには、Oracle Spatial and GraphのWeb Coverage Service (WCS)サポートに関連するサブプログラムが含まれています。
「Web Coverage Service (WCS)のサポート」に記載の概念と技術について十分に理解していることが前提です。
- SDO_WCS.CreateTempTable
- SDO_WCS.DropTempTable
- SDO_WCS.GrantPrivilegesToWCS
- SDO_WCS.Init
- SDO_WCS.PublishCoverage
- SDO_WCS.RevokePrivilegesFromWCS
- SDO_WCS.UnpublishCoverage
- SDO_WCS.ValidateCoverages
親トピック: リファレンス情報
36.1 SDO_WCS.CreateTempTable
構文
SDO_WCS.CreateTempTable( schema_name IN VARCHAR2 DEFAULT USER, tablespace_name IN VARCHAR2 DEFAULT NULL);
説明
再投影または変換を伴うGetCoverage処理時に必要な一時表を作成します。
パラメータ
使用上のノート
各一時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のサポートについては、「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スキーマに付与します。
パラメータ
使用上のノート
ユーザー・スキーマ(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);
説明
カバレッジのパブリッシュを解除します。
使用上のノート
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;
/