NETWORK

Here’s a package with a few functions for getting the start/end point of an sdo_geometry.

This package should be dropped and moved in to the LINEAR or GEOM packages.

Until then, here is the header.

DEFINE defaultSchema = '&1'
 
CREATE OR REPLACE PACKAGE Network
AUTHID CURRENT_USER
AS
 
  FUNCTION get_point (p_geometry     IN MDSYS.SDO_GEOMETRY,
                      p_point_number IN NUMBER DEFAULT 1 ) 
    RETURN MDSYS.SDO_GEOMETRY DETERMINISTIC;
 
  FUNCTION get_Start_Point ( p_geometry IN MDSYS.SDO_GEOMETRY ) 
    RETURN MDSYS.SDO_GEOMETRY DETERMINISTIC;
 
  FUNCTION SDO_StartPoint ( p_geometry IN MDSYS.SDO_Geometry )
    RETURN MDSYS.SDO_Geometry DETERMINISTIC;
 
  FUNCTION get_End_Point ( p_geometry IN MDSYS.SDO_GEOMETRY ) 
    RETURN MDSYS.SDO_GEOMETRY DETERMINISTIC;
 
  FUNCTION SDO_EndPoint ( p_geometry IN MDSYS.SDO_Geometry )
    RETURN MDSYS.SDO_Geometry DETERMINISTIC;
 
  FUNCTION get_point_text ( p_geometry     IN MDSYS.SDO_GEOMETRY,
                            p_point_number IN NUMBER DEFAULT 1 ) 
    RETURN VARCHAR2 DETERMINISTIC;
 
  FUNCTION get_Start_point_text ( p_geometry IN MDSYS.SDO_GEOMETRY )
    RETURN VARCHAR2 DETERMINISTIC;
 
  FUNCTION get_End_point_text ( p_geometry IN MDSYS.SDO_GEOMETRY )
    RETURN VARCHAR2 DETERMINISTIC;
 
END Network;