4.5 GeoRasterメタデータの問合せおよび更新

GeoRasterオブジェクトのメタデータを問い合せ、そのメタデータの多くの属性を更新できます。

多くのファンクション(ほとんどのファンクションは名前がget で始まる)を使用すると、メタデータおよび補助情報(SDO_GEOR.getTotalLayerNumberSDO_GEOR.hasPseudoColorなど)を問い合せることができます。

いくつかのサブプログラム(ほとんどのサブプログラムは名前がset で始まる)を使用すると、メタデータおよび補助情報(SDO_GEOR.setSRSSDO_GEOR.setColorMapなど)を更新できます。

getファンクションの多くには、名前がsetで始まる、対応するプロシージャが存在します。これらのプロシージャは、メタデータ属性の値を設定、変更または削除します。ほとんどのsetプロシージャでは、そのプロシージャがメタデータ属性の値を変更するように設計されている場合、メタデータ属性の値を削除するには、その属性値にNULLを指定します。たとえば、GeoRasterオブジェクトのレイヤーのビン表を削除するには、SDO_GEOR.setBinTableプロシージャをコールして、tableNameパラメータにNULLを指定します。ただし、ほとんどの場合、関連する他の属性に対してはNULL値は指定できません。たとえば、SDO_GEOR.setBinTableプロシージャへのコールでlayerNumberパラメータにNULLを指定することはできません。

次の推奨事項、要件および制限事項に注意してください。

  • ほとんどのGeoRasterメタデータは、XMLTypeのメソッドまたはXML固有のSQLファンクション(extractなど)を使用して取得でき、XQuery Updateを使用して変更することもできます。ただし、取得または変更するメタデータ属性に対応するGeoRasterのgetまたはsetサブプログラムが存在する場合、XMLTypeインタフェースではなくGeoRasterサブプログラムを使用してください。これは、GeoRasterサブプログラムでは、すべての変更が実行前に検証されるためです。XMLTypeのメソッドまたはXML固有のSQLファンクションをコールしてメタデータを更新する場合は、トランザクションをコミットする前にGeoRasterオブジェクトを検証する必要があります。

  • メタデータを直接NULLに設定しないでください。

  • GeoRasterオブジェクトのrasterType属性は直接更新しないでください(かわりに、SDO_GEOR.setRasterTypeプロシージャをコールします)。

  • ラスター・データ表の名前を変更する場合は、SDO_GEOR_UTL.renameRDTプロシージャを使用します。

  • 通常は、GeoRasterオブジェクトの属性を直接更新しないでください(spatialExtent属性を除く)。

  • GeoRasterオブジェクトのメタデータまたはセル・データ(あるいはその両方)を更新した後で、データベース・トランザクションをコミットする前に、SQL UPDATE文をコールしてGeoRasterオブジェクトを更新する必要があります(「コミット前のGeoRasterオブジェクトの更新」を参照)。