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_id1node_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