この章では、SDO_GEOMパッケージに含まれているジオメトリ関連のPL/SQLサブプログラムについて説明します。これらのサブプログラムは、次のように分類されます。
2つのオブジェクト間の関係(TRUE/FALSE): RELATE、WITHIN_DISTANCE
妥当性チェック: VALIDATE_GEOMETRY_WITH_CONTEXT、VALIDATE_LAYER_WITH_CONTEXT、SDO_SELF_UNION
単一オブジェクトの処理: SDO_ALPHA_SHAPE、SDO_ARC_DENSIFY、SDO_AREA、SDO_BUFFER、SDO_CENTROID、SDO_CONVEXHULL、SDO_CONCAVEHULL、SDO_CONCAVEHULL_BOUNDARY、SDO_DIAMETER、SDO_DIAMETER_LINE、SDO_LENGTH、SDO_MBC、SDO_MBC_CENTER、SDO_MBC_RADIUS、SDO_MAX_MBR_ORDINATE、SDO_MIN_MBR_ORDINATE、SDO_MBR、SDO_POINTONSURFACE、SDO_TRIANGULATE、SDO_VOLUME、SDO_WIDTH、SDO_WIDTH_LINE
2つのオブジェクトの処理: SDO_CLOSEST_POINTS、SDO_DISTANCE、SDO_DIFFERENCE、SDO_INTERSECTION、SDO_MAXDISTANCE、SDO_MAXDISTANCE_LINE、SDO_UNION、SDO_XOR
ジオメトリ・サブプログラムを表23-1に示します。その後、使用方法について説明します。
表23-1 ジオメトリ・サブプログラム
サブプログラム | 説明 |
---|---|
2つのオブジェクトの相互作用の関係を判断します。 |
|
指定されたradius値に基づいて、入力ジオメトリのアルファ・シェイプ・ジオメトリを戻します。 |
|
各円弧を直線で構成される近似値に変更し、各円を円に近い一連の直線で構成されるポリゴンに変更します。 |
|
2次元ポリゴンの面積を計算します。 |
|
ジオメトリの周りまたは内部にバッファ・ポリゴンを生成します。 |
|
ポリゴンの中心を戻します。 |
|
2つのジオメトリ間の最短距離、および最短距離を示す点(各ジオメトリに1つ)を計算します。 |
|
ジオメトリ・オブジェクトの凹型部分を表現するポリゴンタイプ・オブジェクトを戻します。 |
|
アルファ・シェイプではなく境界点に基づいて、ジオメトリ・オブジェクトの凹型部分を表現するポリゴンタイプ・オブジェクトを戻します。 |
|
ジオメトリ・オブジェクトの凸型部分を表現するポリゴンタイプ・オブジェクトを戻します。 |
|
ジオメトリ・オブジェクトの直径の長さを戻します。 |
|
2つのジオメトリ・オブジェクトで位相的に差(MINUS演算)となるジオメトリ・オブジェクトを戻します。 |
|
2つのジオメトリ・オブジェクト間の最短距離を計算します。 |
|
2つのジオメトリ・オブジェクトで位相的に共通部分(AND演算)となるジオメトリ・オブジェクトを戻します。 |
|
ジオメトリの周囲または長さを計算します。 |
|
ジオメトリ・オブジェクトの最小境界矩形の指定された縦座標(次元)の最大値を戻します。 |
|
2つのジオメトリ・オブジェクト間の最長距離を計算します。 |
|
ジオメトリの最小境界円を戻します。 |
|
ジオメトリの最小境界矩形の中心を戻します。 |
|
ジオメトリの最小境界矩形の半径の長さを戻します。 |
|
ジオメトリの最小境界矩形を戻します。 |
|
ジオメトリ・オブジェクトの最小境界矩形の指定された縦座標(次元)の最小値を戻します。 |
|
ポリゴン上にある点を戻します。 |
|
1つのジオメトリ・オブジェクトの位相的な自己和集合となる有効なジオメトリ・オブジェクトを戻します。無効の場合があります。 |
|
入力ジオメトリのデローニ三角分割によって生成される三角形の集合を戻します。 |
|
2つのジオメトリ・オブジェクトで位相的な結合部分(OR演算)となるジオメトリ・オブジェクトを戻します。 |
|
3次元ソリッド・ジオメトリの容積を計算します。 |
|
2つのジオメトリ・オブジェクトで位相的に排他的論理和(XOR演算)となるジオメトリ・オブジェクトを戻します。 |
|
ジオメトリが有効であるかを判断し、そのジオメトリが無効な場合、コンテキスト情報を戻します。 |
|
列に格納されているすべてのジオメトリが有効かどうかを判断し、無効なジオメトリのコンテキスト情報を戻します。 |
|
2つのジオメトリ間の距離が、指定された距離内にあるかどうかを判断します。 |
ジオメトリ・サブプログラムの使用については、次の内容に注意してください。(各サブプログラムのリファレンス情報にある「使用上の注意」も参照してください。)
入力パラメータおよび処理の組合せによっては、NULL値が戻されます。この場合、ジオメトリは空です。たとえば、2つの非接続のジオメトリの交差部を問い合せた場合、NULL値が戻されます。
ジオメトリ・ファンクション(たとえば、SDO_GEOM.RELATE)の入力パラメータにNULL値(空のジオメトリ)を指定すると、エラーが発生します。
一部の処理では、入力したジオメトリの1つまたは両方と、異なるタイプのジオメトリが戻される場合があります。たとえば、線と重なっているポリゴンとの交差部を問い合せた場合は線、2つの線の交差部を問い合せた場合は点、接している2つのポリゴンの交差部を問い合せた場合は線が戻されます。
SDO_GEOMサブプログラムは、2次元のジオメトリに対してのみサポートされています。ただし、次に示すサブプログラム(2次元と3次元の両方のジオメトリがサポートされる)を除きます。
(A)ANYINTERACTマスクまたは(B)INSIDEマスク(ソリッド・ジオメトリでのみ3次元がサポートされる)を使用するSDO_GEOM.RELATE