4.40 SDO_TOPO_MAP.MOVE_EDGE
Format
SDO_TOPO_MAP.MOVE_EDGE( topology IN VARCHAR2, edge_id IN NUMBER, s_node_id IN NUMBER, t_node_id IN NUMBER, edge_coords IN SDO_NUMBER_ARRAY);
or
SDO_TOPO_MAP.MOVE_EDGE( topology IN VARCHAR2, edge_id IN NUMBER, s_node_id IN NUMBER, t_node_id IN NUMBER, edge_coords IN SDO_NUMBER_ARRAY, moved_iso_nodes OUT SDO_NUMBER_ARRAY, moved_iso_edges OUT SDO_NUMBER_ARRAY, allow_iso_moves IN VARCHAR2);
Description
Moves a non-isolated edge.
Parameters
- topology
-
Name of the topology in which to move the edge, or null if you are using an updatable TopoMap object (see Specifying the Editing Approach with the Topology Parameter). Must not exceed 20 characters.
- edge_id
-
Edge ID of the edge to be moved.
- edge_coords
-
An array of coordinates of the resulting moved edge, from start point to end point.
- s_node_id
-
Node ID of the source node, which identifies the point (start node or end node of the edge) affected by the move, before the move occurs. For example, if the end point of edge E19 is to be moved from node N17 to node N16, the
s_node_id
value is the node ID number for node N17. - t_node_id
-
Node ID of the target node, which identifies the point affected by the move, after the move occurs. For example, if the end point of edge E19 is to be moved from node N17 to node N16, the
t_node_id
value is the node ID number for node N16. - moved_iso_nodes
-
Output parameter in which, if the
allow_iso_moves
parameter value isTRUE
, Spatial stores the node ID values of any isolated nodes that have moved to a different face as a result of this procedure. If theallow_iso_moves
parameter value isFALSE
, Spatial stores the node ID values of any isolated nodes that did not move but that would have moved to a different face if theallow_iso_moves
parameter value had beenTRUE
. - moved_iso_edges
-
Output parameter in which, if the
allow_iso_moves
parameter value isTRUE
, Spatial stores the edge ID values of any isolated edges that have moved to a different face as a result of this procedure. If theallow_iso_moves
parameter value isFALSE
, Spatial stores the edge ID values of any isolated edges that did not move but that would have moved to a different face if theallow_iso_moves
parameter value had beenTRUE
. - allow_iso_moves
-
TRUE
causes Spatial to allow an edge move operation that would cause any isolated nodes or edges to be in a different face, and to adjust the containing face information for such isolated nodes and edges;FALSE
causes Spatial not to allow an edge move operation that would cause any isolated nodes or edges to be in a different face.If you use the format that does not include the
allow_iso_moves
parameter, Spatial allows an edge move operation that would cause any isolated nodes or edges to be in a different face, and it adjusts the containing face information for such isolated nodes and edges.
Usage Notes
For information about moving edges, see Moving an Edge.
This procedure is equivalent to using the moveEdge
method of the TopoMap
class of the client-side Java API (described in Topology Data Model Java Interface).
Examples
The following example moves the edge with edge ID value 19, and it displays the edge coordinates before and after the move. The edge move operation moves the end point of the edge from the node with node ID value 17 to the node with node ID value 16. (The edge being moved is E19 in Figure 1-2 in Topology Data Model Concepts; and the edge is being changed from going vertically up to node N17, to going diagonally up and left to node N16. The example refers to definitions and data from Topology Built from Topology Data.)
-- Get coordinates of edge E19. SELECT SDO_TOPO_MAP.GET_EDGE_COORDS(null, 'CITY_DATA_TOPOMAP', 19) FROM DUAL; SDO_TOPO_MAP.GET_EDGE_COORDS(NULL,'CITY_DATA_TOPOMAP',19) -------------------------------------------------------------------------------- SDO_NUMBER_ARRAY(21, 14, 21, 22) -- Move edge E19: from N14 -> N17 to N14 -> N16. The 3rd and 4th parameters -- identify N17 and N16. CALL SDO_TOPO_MAP.MOVE_EDGE(null, 19, 17, 16, SDO_NUMBER_ARRAY(21,14, 9,22)); Call completed. -- Get coordinates of edge E19 after the move. SELECT SDO_TOPO_MAP.GET_EDGE_COORDS(null, 'CITY_DATA_TOPOMAP', 19) FROM DUAL; SDO_TOPO_MAP.GET_EDGE_COORDS(NULL,'CITY_DATA_TOPOMAP',19) -------------------------------------------------------------------------------- SDO_NUMBER_ARRAY(21, 14, 9, 22)
Parent topic: SDO_TOPO_MAP Package Subprograms