7.2 SDO_NFE.CLASSIFY_LINES_BY_SIDE

構文

SDO_NFE.CLASSIFY_LINES_BY_SIDE(
     model_id    IN NUMBER,
     ll_rule_id  IN NUMBER,
     lines       IN NUMBER,
     lhs_indexes OUT DBMS_SQL,NUMBER_TABLE,
     rhs_indexes OUT DBMS_SQL,NUMBER_TABLE);

説明

線-線接続性ルールに合致する一連の線フィーチャが指定されると、このプロシージャでは、ルールの左辺にある線と右辺にある線を分類します。

パラメータ

model_id

NFEモデルのID。

ll_rule_id

線-線接続性ルールの識別子。

lines

ルールに適合する一連の線フィーチャ。

lhs_indexes

ルールの左辺にある線の索引が((索引, 索引)形式で)格納される連想配列。

rhs_indexes

ルールの右辺にある線の索引が格納される連想配列。

使用上のノート

指定するルールは、指定するモデルに登録されている必要があります。モデル表で、またはJava APIを使用して接続性ルールを登録できます。

次の例では、まずID 1のルールに適合する相互作用グループをすべて取得し、次に線を左辺、右辺に分類します。左辺の線がlhs_indexesに出力される一方、rhs_indexesにはルールの右辺の線が格納されます。

DECLARE
  model_id    NUMBER := 1;
  ll_rule_id  NUMBER := 1;
  lines       SDO_INTERACT_LINE_FEAT_ARRAY;
  lhs_indexes dbms_sql.NUMBER_TABLE;  
  rhs_indexes dbms_sql.NUMBER_TABLE;
  inter_grps  SDO_INTERACTION_ARRAY;
BEGIN

  -- Get the groups of interacting features that meet the L-L Rule
  inter_grps := sdo_nfe.get_interaction_groups( model_id, sdo_nfe.RULE_TYPE_LINE_LINE, ll_rule_id );

  FOR i IN 1..inter_grps.count loop
    lines := inter_grps(i).lines;

    -- For each group, classify the lines by rule side.
    sdo_nfe.classify_lines_by_side( model_id, ll_rule_id, lines, lhs_indexes, rhs_indexes );
  END loop;

END;