35.89 SDO_UTIL.VALIDATE_WKBGEOMETRY

書式

SDO_UTIL.VALIDATE_WKBGEOMETRY(
     geometry  IN BLOB 
     ) RETURN VARCHAR2;

説明

標準のWell-Known Binary (WKBまたはEWKB)形式の入力ジオメトリを検証します。入力が有効な場合は文字列TRUEを返し、入力が有効なWKBまたはEWKBでない場合はFALSEを返します。

パラメータ

geometry

有効かどうかを確認する、WKBまたはEWKB形式のジオメトリを指定します。

使用上のノート

ノート:

SDO_UTIL.VALIDATE_WKBGEOMETRYファンクションは、Oracle Autonomous Databaseサーバーレス・デプロイメントでOracle JVMが有効になっている場合にのみサポートされます。Oracle JVMを有効にするには、Oracle Autonomous Databaseサーバーレスの使用Oracle Javaの使用で詳細を参照してください。

有効にするために、入力ジオメトリは、Well-Known Binary (WKB)形式またはEWKB形式にすることができます。

このファンクションは、『ISO 13249-3, Information technology - Database languages - SQL Multimedia and Application Packages - Part 3: Spatial』のSQL Multimedia勧告を基にしています。

well-knownテキスト(WKT)形式のジオメトリが有効かどうかを確認するには、SDO_UTIL.VALIDATE_WKTGEOMETRYファンクションを使用します。

次の例は、WKBおよびWKT形式への変換と逆変換を実行し、WKBおよびWKTジオメトリが有効かどうかを確認しています。(例では、「空間データの挿入、索引付けおよび問合せの例」の特にCOLA_MARKETS表のcola_bジオメトリについて、その定義およびデータを使用しています。)

DECLARE
  wkbgeom BLOB;
  wktgeom CLOB;
  val_result VARCHAR2(5);
  geom_result SDO_GEOMETRY;
  geom SDO_GEOMETRY;
BEGIN
SELECT c.shape INTO geom FROM cola_markets c WHERE c.name = 'cola_b';
 
-- To WBT/WKT geometry
wkbgeom := SDO_UTIL.TO_WKBGEOMETRY(geom);
wktgeom := SDO_UTIL.TO_WKTGEOMETRY(geom);
DBMS_OUTPUT.PUT_LINE('To WKT geometry result = ' || TO_CHAR(wktgeom));
 
-- From WBT/WKT geometry
geom_result := SDO_UTIL.FROM_WKBGEOMETRY(wkbgeom);
geom_result := SDO_UTIL.FROM_WKTGEOMETRY(wktgeom);
 
-- Validate WBT/WKT geometry
val_result := SDO_UTIL.VALIDATE_WKBGEOMETRY(wkbgeom);
DBMS_OUTPUT.PUT_LINE('WKB validation result = ' || val_result);
val_result := SDO_UTIL.VALIDATE_WKTGEOMETRY(wktgeom);
DBMS_OUTPUT.PUT_LINE('WKT validation result = ' || val_result);
 
END;/
 
To WKT geometry result = POLYGON ((5.0 1.0, 8.0 1.0, 8.0 6.0, 5.0 7.0, 5.0 1.0))
WKB validation result = TRUE                                                    
WKT validation result = TRUE