4.51 SDO_TOPO_MAP.VALIDATE_TOPO_MAP

Format

SDO_TOPO_MAP.VALIDATE_TOPO_MAP(     
  topo_map IN VARCHAR2,      
  level    IN NUMBER DEFAULT 1      
) RETURN VARCHAR2;

Description

Performs a first-order validation of a TopoMap object, and optionally (by default) checks the computational geometry also; returns the string TRUE if the structure of the topological elements in TopoMap object is consistent, and raises an exception if the structure of the topological elements in TopoMap object is not consistent.

Parameters

topo_map

Name of the TopoMap object. (TopoMap objects are explained in TopoMap Objects.)

level

A value of 0 checks for the following conditions as part of a first-order validation:

  • All faces are closed, and none have infinite loops.

  • All previous and next edge pointers are consistent.

  • All edges meet at nodes.

  • Each island node is associated with a face.

  • All edges on a face boundary are associated with the face.

A value of 1 (the default) checks for all conditions associated with a value of 0, plus the following conditions related to computational geometry:

  • Each island is inside the boundary of its associated face.

  • No edge intersects itself or another edge.

  • Start and end coordinates of edges match coordinates of nodes.

  • Node stars are properly ordered geometrically.

Usage Notes

This function checks the consistency of all pointer relationships among edges, nodes, and faces. You can use this function to validate an updatable TopoMap object before you update the topology (using the SDO_TOPO_MAP.UPDATE_TOPO_MAP procedure) or to validate a read-only TopoMap object before issuing queries.

This function uses a tolerance value of 10E-15 for its internal computations, as explained in Tolerance in the Topology Data Model.

This function is equivalent to using the validateCache method of the TopoMap class of the client-side Java API (described in Topology Data Model Java Interface).

Examples

The following example validates the topology in the TopoMap object named CITY_DATA_TOPOMAP, and it returns a result indicating that the topology is valid. (The example refers to definitions and data from Topology Built from Topology Data.)

CALL SDO_TOPO_MAP.VALIDATE_TOPO_MAP('CITY_DATA_TOPOMAP') INTO :res_varchar;
 
Call completed.
 
PRINT res_varchar;
 
RES_VARCHAR
--------------------------------------------------------------------------------
TRUE