4.42 SDO_TOPO_MAP.MOVE_NODE
構文
SDO_TOPO_MAP.MOVE_NODE( topology IN VARCHAR2, node_id IN NUMBER, edges_coords IN SDO_EDGE_ARRAY);
または
SDO_TOPO_MAP.MOVE_NODE( topology IN VARCHAR2, node_id IN NUMBER, edges_coords IN SDO_EDGE_ARRAY, moved_iso_nodes OUT SDO_NUMBER_ARRAY, moved_iso_edges OUT SDO_NUMBER_ARRAY, allow_iso_moves IN VARCHAR2);
説明
連結ノードおよびその連結ノードに接するエッジを移動します。
パラメータ
- topology
-
ノードの移動先となるトポロジの名前を指定するか、更新可能なTopoMapオブジェクトを使用している場合はNULLを指定します(「トポロジ・パラメータの編集方法の指定」を参照)。名前は20文字以下である必要があります。
- node_id
-
移動するノードのノードIDを指定します。
- edges_coords
-
SDO_EDGE_ARRAY型(「SDO_EDGE_ARRAY型およびSDO_NUMBER_ARRAY型」を参照)の配列で使用する配列を指定します。各内部配列は、ノードに接する各エッジの移動先の開始点から終了点までの座標で構成されます。外部配列は、ノードに接するすべてのエッジの配列で構成され、その配列の順序は、移動するノードの開始エッジから時計回りの順(SDO_TOPO_MAP.GET_NODE_STARファンクションのコールで取得される順序)です。
各エッジの配列には、開始点および終了点を含める必要があります。移動されたノードに2回接続されているループは、配列で2回指定する必要があります。
- moved_iso_nodes
-
allow_iso_moves
パラメータ値がTRUE
の場合、Spatialによって、このプロシージャの結果として別のフェイスに移動された孤立ノードのノードID値が格納される出力パラメータです。allow_iso_moves
パラメータ値がFALSE
の場合、Spatialによって、実際には移動されなかったが、allow_iso_moves
パラメータ値がTRUE
だった場合は別のフェイスに移動されていたはずの孤立ノードのノードID値が格納されます。 - moved_iso_edges
-
allow_iso_moves
パラメータ値がTRUE
の場合、Spatialによって、このプロシージャの結果として別のフェイスに移動された孤立エッジのエッジID値が格納される出力パラメータです。allow_iso_moves
パラメータ値がFALSE
の場合、Spatialによって、実際には移動されなかったが、allow_iso_moves
パラメータ値がTRUE
だった場合は別のフェイスに移動されていたはずの孤立エッジのエッジID値が格納されます。 - allow_iso_moves
-
TRUE
を指定すると、Spatialで、孤立ノードまたは孤立エッジを別のフェイスに移動するノード移動操作を実行することや、これらの孤立ノードおよび孤立エッジを含むフェイスの情報を調整することができるようになります。FALSE
を指定すると、Spatialで、孤立ノードまたは孤立エッジを別のフェイスに移動するノード移動操作を実行できなくなります。allow_iso_moves
パラメータを指定しない場合は、Spatialで、孤立ノードまたは孤立エッジを別のフェイスに移動するノードの移動操作を実行できます。また、これらの孤立ノードおよび孤立エッジを含むフェイスの情報が調整されます。
使用上のノート
ノードを移動する方法の詳細は、「ノードの移動」を参照してください。
このプロシージャの動作は、クライアント側のJava APIに含まれるTopoMap
クラス(「トポロジ・データ・モデルのJavaインタフェース」を参照)のmoveNode
メソッドを使用する場合と同じです。
例
次の例では、ノードN3を移動して、このノードに接する唯一のエッジの座標を調整します。(この例では、「トポロジ・データから作成したトポロジ」の定義およびデータを参照しています。)
-- Move node N3 to right: from 25,35 to 26,35. -- E3 is changed from 25,30 -> 25,35 to 25,30 -> 26,35. CALL SDO_TOPO_MAP.MOVE_NODE(null, 3, SDO_EDGE_ARRAY(SDO_NUMBER_ARRAY(25,30, 26,35)));
親トピック: SDO_TOPO_MAPパッケージ・サブプログラム