4.8 SDO_TOPO_MAP.CHANGE_EDGE_COORDS
Format
SDO_TOPO_MAP.CHANGE_EDGE_COORDS( topology IN VARCHAR2, edge_id IN NUMBER, geom IN SDO_GEOMETRY);
or
SDO_TOPO_MAP.CHANGE_EDGE_COORDS( topology IN VARCHAR2, edge_id IN NUMBER, geom IN SDO_GEOMETRY, moved_iso_nodes OUT SDO_NUMBER_ARRAY, moved_iso_edges OUT SDO_NUMBER_ARRAY, allow_iso_moves IN VARCHAR2);
Description
Changes the coordinates and related information about an edge.
Parameters
- topology
-
Name of the topology containing 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 whose coordinates are to be changed.
- geom
-
SDO_GEOMETRY object (line or contiguous line string geometry) representing the modified edge. The start and end points of the modified edge must be the same as for the original edge.
- 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 coordinates change 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 coordinates change 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 edge move operations 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
If this procedure modifies a boundary between faces, Spatial automatically performs the following operations and updates the Topology Data Model tables as needed: reassigning island nodes and faces, and adjusting the MBRs of the faces on both sides.
If topology
is not null, this procedure modifies the information about the specified edge in the <topology-name>_EDGE$ table (described in Edge Information Table). (If topology
is null, you can update this table at any time by calling the SDO_TOPO_MAP.UPDATE_TOPO_MAP procedure.)
You cannot use this procedure to change the start point or the end point, or both, of the specified edge. To do any of these operations, you must delete the edge, delete the node or nodes for the start or end point (or both) to be changed, add the necessary new node or nodes, and add the edge.
For information about editing topological elements, see Editing Topologies .
This procedure is equivalent to using the changeEdgeCoords
method of the TopoMap
class of the client-side Java API (described in Topology Data Model Java Interface).
Examples
The following example changes the coordinates of edge E1. (It changes only the third point, from 16,38 to 16,39.) It uses the current updatable TopoMap object. (The example refers to definitions and data from Topology Built from Topology Data.)
CALL SDO_TOPO_MAP.CHANGE_EDGE_COORDS(null, 1, SDO_GEOMETRY(2002, NULL, NULL, SDO_ELEM_INFO_ARRAY(1, 2, 1), SDO_ORDINATE_ARRAY(8,30, 16,30, 16,39, 3,38, 3,30, 8,30)));
Parent topic: SDO_TOPO_MAP Package Subprograms