プライマリ・コンテンツに移動
Oracle® Spatial and Graph開発者ガイド
12cリリース1 (12.1)
B72470-07
目次へ移動
目次
索引へ移動
索引

前
次

23.2 SDO_GEOM.SDO_ALPHA_SHAPE

書式

SDO_GEOM.SDO_ALPHA_SHAPE(     
  geom   IN SDO_GEOMETRY,      
  tol    IN NUMBER,      
  radius IN NUMBER DEFALT NULL,      
  flag   IN BINARY_INTEGER DEFAULT 0       
) RETURN SDO_GEOMETRY;

説明

指定されたradius値に基づいて、入力ジオメトリのアルファ・シェイプ・ジオメトリを戻します。

パラメータ

geom

ジオメトリ・オブジェクト。

tol

許容差(「許容差」を参照)。

radius

アルファ・シェイプの計算に使用する半径です。このパラメータがNULLの場合、アルファ・シェイプは入力ジオメトリの凸型です。

flag

孤立点およびエッジが含まれるかどうかを判断します(0 (ゼロ) (デフォルト)の場合、孤立点およびエッジが含まれるため、アルファ・シェイプが戻され、1の場合は、孤立点およびエッジが含まれないため、アルファ・シェイプのポリゴン部分のみが戻されます)。

使用上の注意

アルファ・シェイプは凸型を汎化したものです(http://www.cs.sunysb.edu/~algorith/implement/alphashapes/implement.shtmlを参照)。このファンクションは、入力ジオメトリからすべての座標を取得し、デローニ三角分割およびアルファ・シェイプの計算にそれらを使用します。

radiusパラメータの値を指定する場合は、最初にradius出力パラメータを含む形式を使用して、SDO_GEOM.SDO_CONCAVEHULLファンクションをコールする必要があります。

geomが点タイプであるか、頂点の数が3未満であるか、または直線上に存在する複数の点である場合や、radiusが0 (ゼロ)より小さい場合は、例外が発生します。

測地データの場合、このファンクションは、近似処理によってサポートされます(「測地データでの近似処理によってサポートされるファンクション」を参照)。

次の例では、radiusパラメータのデフォルト値(NULL)が使用されるため、cola_cのアルファ・シェイプであり、cola_cの凸型部分でもあるジオメトリ・オブジェクトを戻します。(この簡単な例では、ポリゴンを入力ジオメトリとして使用しています(通常、このファンクションは、大量の点データで使用されます)。例では、「空間データの挿入、索引付けおよび問合せの例」の定義およびデータを使用しています。)

SELECT c.name, SDO_GEOM.SDO_ALPHA_SHAPE(c.shape, 0.005)
  FROM cola_markets c WHERE c.name = 'cola_c';
 
SDO_GEOM.SDO_ALPHA_SHAPE(C.SHAPE,0.005)(SDO_GTYPE, SDO_SRID, SDO_POINT(X, Y, Z),
--------------------------------------------------------------------------------
cola_c                                                                          
SDO_GEOMETRY(2003, NULL, NULL, SDO_ELEM_INFO_ARRAY(1, 1003, 1), SDO_ORDINATE_ARR
AY(4, 5, 3, 3, 6, 3, 6, 5, 4, 5))