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;