OceanBaseデータベースのOracleモードでは、空間オブジェクトの構築、クエリ、計算、およびフォーマット変換を行うためのいくつかの関数が提供されています。
機能
SDO_GEOMETRY タイプのメンバー関数の機能は以下の表に示されています。
| 名前 | 戻り値 | 説明 |
|---|---|---|
| GET_DIMS() | NUMBER | ジオメトリオブジェクトの次元情報を取得するために使用されます。これは、ジオメトリオブジェクトの次元数を表す整数値を返します。SDO_GTYPEで定義されています。式ST_COORDDIMが返す結果と同じです。 |
| ST_COORDDIM() | NUMBER | GET_DIMSと同じ効果を持ちます。 |
| GET_GTYPE() | NUMBER | ジオメトリオブジェクトのタイプコードを取得するために使用されます。これは、ジオメトリオブジェクトのタイプを表す整数値を返します。例えば、2001は点、2002は線、2003はポリゴンを表します。 |
| ST_ISVALID() | NUMBER | ジオメトリオブジェクトの有効性をチェックするために使用されます。これは、ジオメトリオブジェクトが有効かどうかを示すブール値を返します。ジオメトリオブジェクトが有効な場合はTRUE返し、無効な場合はFALSE返します。 |
| GET_WKB() | BLOB | ジオメトリオブジェクトのWell-Known-Binary (WKB)形式を取得するために使用されます。これは、SRIDなしでジオメトリオブジェクトのWKB形式を表すバイナリ文字列を返します。 |
| GET_WKT() | CLOB | ジオメトリオブジェクトのWell-Known-Text (WKT)形式を取得するために使用されます。これは、SRIDなしでジオメトリオブジェクトのWKT形式を表す文字列を返します。 |
| GET_GEOJSON() | CLOB | ジオメトリオブジェクトのJSON形式を取得するために使用されます。これは、ジオメトリオブジェクトのJSON形式を表す文字列を返します。空間オブジェクトのJSON形式の出力を返します。 |
説明
SDO_AREA()、SDO_CONTAINS()、SDO_ANYINTERACT()、GETVERTICES() 関数はV4.3.5 BP5バージョンからサポートされています。
SDO_GEOM パッケージ内の関数の機能は以下の表に示されています。
| 名前 | 返り値 | 説明 |
|---|---|---|
| SDO_DISTANCE() | NUMBER | 2つの幾何オブジェクト間の距離情報を計算するために使用されます。2つの幾何オブジェクト間の最小距離を示す整数値を返します。 |
| SDO_AREA() | NUMBER | 1つの幾何オブジェクトの平面積を計算するために使用されます。返り値の単位は、幾何が属するSRSの線形単位と一致します。球面/楕円体への変換は行われません。2D平面幾何のみサポートしており、3D入力はサポートされていません。 |
空間関係判断関数の機能は以下の表に示されています。
| 名前 | 戻り値 | 説明 |
|---|---|---|
| SDO_CONTAINS() | BOOLEAN | ある幾何オブジェクトが別の幾何オブジェクトを厳密に含むかどうかを判断します(境界点は含まれないと見なされます)。SDO_RELATE(geomA, geomB, 'mask=CONTAINS')と同等です。 |
| SDO_ANYINTERACT() | BOOLEAN | ある幾何オブジェクトが別の幾何オブジェクトと交差、接触、重複など、いかなる形式であっても空間的な交差を持つかどうかを判断します。境界の接触も相互作用と見なされます。SDO_RELATE(..., 'mask=ANYINTERACT')と同等です。 |
| SDO_RELATE() | VARCHAR2 | 二つの幾何オブジェクト間の空間関係を決定するために使用されます。指定された空間関係に一致するかどうかを示す文字列(TRUEまたはFALSEのみ)を返します。 |
SDO_UTIL パッケージ内の関数の機能は以下の表に示されています。
| Name | Returns | Description |
|---|---|---|
| GETVERTICES() | TABLE | 2D/3Dをサポートし、幾何オブジェクトの頂点座標を取得するために使用されます。返されるネストテーブル VERTEX_SET_TYPE は、各行が1つの頂点であり、X/Y/Z/Wおよび保持列を含みます。 |