4.4 SDO_TOPO_MAP.ADD_LOOP
構文
SDO_TOPO_MAP.ADD_LOOP( topology IN VARCHAR2, node_id IN NUMBER, geom IN SDO_GEOMETRY ) RETURN NUMBER;
説明
ループして同じノードに接続されているエッジを追加して、追加したエッジのエッジIDを戻します。
パラメータ
- topology
-
エッジを追加するトポロジの名前を指定するか、更新可能なTopoMapオブジェクトを使用している場合はNULLを指定します(「トポロジ・パラメータの編集方法の指定」を参照)。名前は20文字以下である必要があります。
- node_id
-
エッジを追加するノードのノードIDを指定します。エッジは、このノードで開始および終了します。
- geom
-
追加するエッジを表すSDO_GEOMETRYオブジェクト(線ストリング・ジオメトリ)を指定します。線ストリングの開始点および終了点は、
node_id
を表す点と同じである必要があります。
使用上のノート
このファンクションは、新しいエッジを作成し、ループの内部で構成される新しいフェイスも作成します。エッジを孤立ノードに追加した場合、そのエッジは孤立エッジになります。topology
がNULLではない場合、Spatialは必要に応じて自動的に<topology-name>_EDGE$表および<topology-name>_FACE$表を更新します。(topology
がNULLの場合は、SDO_TOPO_MAP.UPDATE_TOPO_MAPプロシージャをコールして、いつでもこれらの表を更新できます。)
ノードとエッジを追加および削除する方法の詳細は、「トポロジの編集」を参照してください。
このファンクションの動作は、クライアント側のJava APIに含まれるTopoMap
クラス(「トポロジ・データ・モデルのJavaインタフェース」を参照)のaddLoop
メソッドを使用する場合と同じです。
例
次の例では、ノードN4で開始および終了するエッジ・ループを追加して、追加したエッジのエッジIDを戻します。ここでは、現行の更新可能なTopoMapオブジェクトを使用します。(この例では、「トポロジ・データから作成したトポロジ」の定義およびデータを参照しています。)
CALL SDO_TOPO_MAP.ADD_LOOP(null, 4, SDO_GEOMETRY(2002, NULL, NULL, SDO_ELEM_INFO_ARRAY(1, 2, 1), SDO_ORDINATE_ARRAY(20,37, 20,39, 25,39, 20,37))) INTO :res_number; Call completed. SQL> PRINT res_number; RES_NUMBER ---------- 30
親トピック: SDO_TOPO_MAPパッケージ・サブプログラム