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