7.22 SDO_NFE.GET_POINTS_MATCH_LP_RULE

構文

SDO_NFE.GET_POINTS_MATCH_LP_RULE(
     model_id    IN SDO_NUMBER,
     lp_rule_id  IN NUMBER,
     points      IN SDO_INTERACT_POINT_FEAT_ARRAY,
     ) RETURN DBMS_SQL.NUMBER_TABLE;

説明

一連の点フィーチャが指定されると、このファンクションは、線-点接続性ルールに合致する点フィーチャのグループを計算します。線-点ルールに合致する入力配列内の点の索引とともに、DBMS_SQL.NUMBER_TABLEオブジェクトを戻します。

パラメータ

model_id

NFEモデルの識別子。

lp_rule_id
線-点接続性ルールの識別子。LINE_POINT_RULE表に存在する必要があります。
points
検索が実行される点フィーチャの配列。(SDO_INTERACT_POINT_FEAT_ARRAY型の詳細は、「NFE接続性ルールに使用するデータ型」を参照してください。)

使用上のノート

このファンクションは主に、特定の接続性ルールに合致した線フィーチャもあれば、合致しなかったものもあるといった線フィーチャの混成グループを戻すSDO_NFE.GET_INTERACTION_GROUPSファンクションの後に使用します。

次の例では、線-点ルールに合致する特定の点フィーチャを取得します。

DECLARE
  model_id        NUMBER := 1;
  lp_rule_id      NUMBER := 1;
  rule_points_indexes dbms_sql.NUMBER_TABLE;
  inter_grps          SDO_INTERACTION_ARRAY;
BEGIN
  -- Get the groups of interacting features that meet the L-P Rule in the model
  inter_grps := sdo_nfe.get_interaction_groups( model_id, sdo_nfe.RULE_TYPE_LINE_POINT, lp_rule_id );

  -- For each group:
  FOR i IN 1..inter_grps.count loop
    -- Get the specific point features that match the L-P rule.
    rule_points_indexes := sdo_nfe.get_points_match_lp_rule( model_id,  lp_rule_id, inter_grps(i).points );
  END loop;
END;
/