4.5 GeoRasterメタデータの問合せおよび更新
GeoRasterオブジェクトのメタデータを問い合せ、そのメタデータの多くの属性を更新できます。
多くのファンクション(ほとんどのファンクションは名前がget で始まる)を使用すると、メタデータおよび補助情報(SDO_GEOR.getTotalLayerNumberやSDO_GEOR.hasPseudoColorなど)を問い合せることができます。
いくつかのサブプログラム(ほとんどのサブプログラムは名前がset で始まる)を使用すると、メタデータおよび補助情報(SDO_GEOR.setSRSやSDO_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オブジェクトの更新」を参照)。
親トピック: GeoRasterのデータ問合せおよび操作