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

前
次

27.1 SDO_PC_PKG.CLIP_PC

書式

SDO_PC_PKG.CLIP_PC(
     inp           IN SDO_PC, 
     ind_dim_qry   IN SDO_GEOMETRY, 
     other_dim_qry IN SDO_MBR, 
     qry_min_res   IN NUMBER, 
     qry_max_res   IN NUMBER, 
     blkno         IN NUMBER DEFAULT NULL, 
     include_custom_dims IN NUMBER DEFAULT 0 
     ) RETURN SDO_PC_BLK_TYPE;

説明

点群に対してクリップ操作を実行します。

パラメータ

inp

クリップ操作を実行する点群を指定します。

ind_dimqry

点群の索引付けされた次元の問合せについて、戻されるオブジェクトを選択するウィンドウを指定します。通常、2次元ジオメトリの場合はポリゴン、3次元ジオメトリの場合は錐台となります。

other_dimqry

点群の索引付けされていない次元の問合せについて、戻されるオブジェクトを選択するウィンドウを指定します。通常、2次元ジオメトリの場合はポリゴン、3次元ジオメトリの場合は錐台となります。索引付けされていない次元とは、総次元には含まれているが、索引付けされていない次元です。索引次元および総次元の説明は、SDO_PC_PKG.INITファンクションのpc_tot_dimensionsパラメータの説明を参照してください。

SDO_MBR型は(LOWER_LEFT SDO_VPOINT_TYPE, UPPER_RIGHT SDO_VPOINT_TYPE)として定義され、SDO_V_POINT_TYPEはVARRAY(64) OF NUMBERとして定義されます。

qry_min_res

最小解像度の値を指定します。解像度がqry_min_res以上およびqry_max_res以下のqryのオブジェクトがクリップ操作により戻されます。

qry_max_res

最大解像度の値を指定します。解像度がqry_min_res以上およびqry_max_res以下のqryのオブジェクトがクリップ操作により戻されます。

blkid

クリップ操作によって戻されるオブジェクトを制限するブロックのブロックID番号を指定します。このパラメータがNULLの場合、他のパラメータを満たすすべてのオブジェクトが戻されます。

include_custom_dims

数値0または1で、SDO_PCのPC_TOT_DIMENSIONSの個数に含まれる、通常(NUMBER型)の次元のみを含むファンクションによって点群ブロックが戻されるかどうかを指定します。このような通常の次元のみを戻す場合は、include_custom_dims=0(デフォルト)です。ブロック表に格納された点群ブロックには、その他のカスタム次元が含まれたままですが、この個々のCLIP_PC問合せはこれらを戻しません。

include_custom_dims=1では、通常の次元とカスタムの次元の両方が含まれます。

カスタムの次元の詳細は、「使用上の注意」を参照してください。

使用上の注意

このファンクションは、指定した問合せウィンドウ内にあり、かつパラメータによって指定されている他の要件を満たしている点群の点を戻します。一般に、このファンクションは点群に対して問合せを実行するために使用します。点群の問合せのパフォーマンスを最大にするには、ファンクションが操作に対して考慮する必要のあるオブジェクトの数を最小限にします。

SDO_PCおよびSDO_PC_BLK_TYPEデータ型については、「点群に関連するオブジェクト型」を参照してください。

このファンクションは、カスタム次元の格納と問合せをサポートします。カスタム次元は、NUMBER型の場合とそれ以外の型の場合があり、SDO_PCのPC_TOT_DIMENSIONSの個数には含まれません。include_custom_dims=1を指定すると、カスタム次元を問合せ結果に含めることはできますが、カスタム次元は数値型ではない(ind_dimqryother_dimqryの数値インタフェースで表現できない)ため、ind_dimqryパラメータとother_dimqryパラメータのいずれの問合せ制約にも含まれません。

カスタムの次元はSDO_PC_PKG.CREATE_PCプロシージャでは作成できません。

このファンクションをSDO_PC_PKG.CLIP_PC_FLATと比較すると、このファンクションは、平面表に格納された点群データを入力として使用します(SDO_PCオブジェクトとは逆)。

点群を使用してソリッドをモデル化する方法は、「ソリッドのモデル化」を参照してください。

次の例では、点群に対してクリップ操作を実行します。これは、Oracle Database Examplesメディアからすでにファイルをインストールしている場合は、$ORACLE_HOME/md/demo/PointCloud/examples/plsql/pc.sqlから取得できます(『Oracle Database Examplesインストレーション・ガイド』を参照)。

. . .
declare
  inp  sdo_pc;
begin
  select pc INTO inp  from base where rownum=1;
  insert into restst
    select * from
      table(sdo_pc_pkg.clip_pc
           (
            inp,  -- Input point cloud object
            sdo_geometry(2003, 8307, null,
              sdo_elem_info_array(1, 1003, 3),
              sdo_ordinate_array(-175.86157, -14.60521, 0,0)), -- Query 
              null, null, null));
end;
/
. . .