TABLE OF CONTENTS


PACKAGE/ST_LRS [ Modules ]

[ Top ] [ Modules ]

NAME

    ST_LRS - A package that publishes an SDO_LRS view of the T_GEOMETRY object's ST_LRS* functions.

DESCRIPTION

    A package that publishes an SDO_LRS view of the T_GEOMETRY object's ST_LRS* functions.
    This is an example of what could be done to help Locator users use my LRS code and be in a position
    to migrate with minimal effort to Oracle Spatial's Enterprise SDO_LRS code.
    If this package is extended, please supply the changed package to me via simon@spatialdbadvisor.com

TODO

    CONNECTED_GEOM_SEGMENTS
    GET_NEXT_SHAPE_PT
    GET_NEXT_SHAPE_PT_MEASURE
    GET_PREV_SHAPE_PT
    GET_PREV_SHAPE_PT_MEASURE

AUTHOR

    Simon Greener

HISTORY

    Simon Greener - Jan 2017 - Original coding.

COPYRIGHT

    (c) 2005-2018 by TheSpatialDBAdvisor/Simon Greener

SOURCE

   FUNCTION FIND_LRS_DIM_POS(lrs_geometry IN mdsys.sdo_geometry,
                             tolerance    in number default 0.005)
     RETURN INTEGER DETERMINISTIC;

   FUNCTION FIND_LRS_DIM_POS(table_name  IN VARCHAR2,
                             column_name IN VARCHAR2)
     RETURN INTEGER DETERMINISTIC;

   FUNCTION GEOM_SEGMENT_END_MEASURE(lrs_segment IN mdsys.sdo_geometry)
     RETURN NUMBER DETERMINISTIC;

   FUNCTION GEOM_SEGMENT_START_MEASURE(lrs_segment IN mdsys.sdo_geometry)
     RETURN NUMBER DETERMINISTIC;

  /**
   * Description
   *  Returns the measure range of a geometric segment, that is, the difference between the start measure and end measure.
   **/
   FUNCTION MEASURE_RANGE(lrs_segment IN mdsys.sdo_geometry,
                          dim_array   IN mdsys.sdo_dim_ARRAY DEFAULT NULL)
     RETURN NUMBER DETERMINISTIC;

   FUNCTION GEOM_SEGMENT_START_PT(geom_segment IN mdsys.sdo_geometry)
     RETURN mdsys.sdo_geometry Deterministic;

   FUNCTION GEOM_SEGMENT_END_PT(geom_segment IN mdsys.sdo_geometry)
     RETURN mdsys.sdo_geometry Deterministic;

   Function IS_SHAPE_PT_MEASURE(geom_segment in mdsys.sdo_geometry,
                                measure      in number)
     RETURN VARCHAR2 Deterministic;

   Function SET_PT_MEASURE(lrs_segment in mdsys.sdo_geometry,
                           point       IN mdsys.sdo_geometry,
                           measure     IN NUMBER,
                           tolerance   in number default 0.005)
     RETURN mdsys.sdo_geometry Deterministic;

   FUNCTION GET_MEASURE(point IN mdsys.sdo_geometry)
    RETURN NUMBER DETERMINISTIC;

   FUNCTION IS_MEASURE_INCREASING (lrs_segment IN mdsys.sdo_geometry)
    RETURN VARCHAR2 DETERMINISTIC;

   FUNCTION IS_MEASURE_DECREASING (lrs_segment IN mdsys.sdo_geometry)
    RETURN VARCHAR2 DETERMINISTIC;

   /**
    * The start and end measures of geom_segment must be defined (cannot be null),
    * and any measures assigned must be in an ascending or descending order along the segment direction.
   **/
   FUNCTION IS_GEOM_SEGMENT_DEFINED(geom_segment IN mdsys.sdo_geometry,
                                    dim_array    IN mdsys.sdo_dim_ARRAY DEFAULT NULL)
     RETURN VARCHAR2 DETERMINISTIC;

   FUNCTION MEASURE_TO_PERCENTAGE(lrs_segment IN mdsys.sdo_geometry,
                                  measure     IN NUMBER)
    RETURN NUMBER DETERMINISTIC;

   FUNCTION PERCENTAGE_TO_MEASURE(lrs_segment IN mdsys.sdo_geometry,
                                  percentage  IN NUMBER)
    RETURN NUMBER DETERMINISTIC;

   Function GEOM_SEGMENT_LENGTH(geom_segment in mdsys.sdo_geometry,
                                unit         in varchar2 default null)
     RETURN NUMBER Deterministic;

   FUNCTION SPLIT_GEOM_SEGMENT(geom_segment  IN mdsys.sdo_geometry,
                               split_measure IN NUMBER,
                               tolerance     IN NUMBER DEFAULT 0.005)
     RETURN mdsys.sdo_geometry_array pipelined;

   PROCEDURE SPLIT_GEOM_SEGMENT(geom_segment   IN mdsys.sdo_geometry,
                                split_measure  IN NUMBER,
                                segment_1      IN OUT NOCOPY mdsys.sdo_geometry,
                                segment_2      IN OUT NOCOPY mdsys.sdo_geometry,
                                tolerance      IN NUMBER DEFAULT 0.005);

   FUNCTION CONCATENATE_GEOM_SEGMENTS(geom_segment_1 IN mdsys.sdo_geometry,
                                      geom_segment_2 IN mdsys.sdo_geometry,
                                      tolerance      IN NUMBER DEFAULT 0.005,
                                      unit           IN varchar2 default null)
     RETURN mdsys.sdo_geometry DETERMINISTIC;

   FUNCTION CLIP_GEOM_SEGMENT(GEOM_SEGMENT  IN mdsys.sdo_geometry,
                              START_MEASURE IN NUMBER,
                              END_MEASURE   IN NUMBER,
                              TOLERANCE     IN NUMBER   DEFAULT 0.005,
                              UNIT          IN VARCHAR2 DEFAULT NULL)
     RETURN mdsys.sdo_geometry DETERMINISTIC;

   FUNCTION LOCATE_PT(GEOM_SEGMENT IN mdsys.sdo_geometry,
                      MEASURE      IN NUMBER,
                      OFFSET       IN NUMBER,
                      TOLERANCE    IN NUMBER   DEFAULT 0.005,
                      UNIT         IN VARCHAR2 DEFAULT NULL)
     RETURN mdsys.sdo_geometry DETERMINISTIC;

   FUNCTION FIND_OFFSET (GEOM_SEGMENT IN mdsys.sdo_geometry,
                         POINT        IN mdsys.sdo_geometry,
                         TOLERANCE    IN NUMBER   DEFAULT 0.005,
                         UNIT         IN VARCHAR2 DEFAULT NULL)
    RETURN NUMBER DETERMINISTIC;

   FUNCTION FIND_MEASURE(lrs_segment IN mdsys.sdo_geometry,
                         POINT       IN mdsys.sdo_geometry,
                         TOLERANCE   IN NUMBER   DEFAULT 0.005,
                         UNIT        IN VARCHAR2 DEFAULT NULL)
    RETURN NUMBER DETERMINISTIC;

   FUNCTION PROJECT_PT (GEOM_SEGMENT IN mdsys.sdo_geometry,
                        POINT        IN mdsys.sdo_geometry,
                        TOLERANCE    IN NUMBER DEFAULT 0.005,
                        UNIT         IN VARCHAR2 DEFAULT NULL)
    RETURN mdsys.sdo_geometry DETERMINISTIC;

   FUNCTION LRS_INTERSECTION(GEOM_1    IN mdsys.sdo_geometry,
                             GEOM_2    IN mdsys.sdo_geometry,
                             TOLERANCE IN NUMBER DEFAULT 0.005)
    RETURN mdsys.sdo_geometry DETERMINISTIC;

   FUNCTION REVERSE_MEASURE (lrs_segment IN mdsys.sdo_geometry)
     RETURN mdsys.sdo_geometry DETERMINISTIC;

   FUNCTION REVERSE_GEOMETRY (geom_segment IN mdsys.sdo_geometry)
     RETURN mdsys.sdo_geometry DETERMINISTIC;

   /* Populates the measures of all shape points based on the start and end measures of a geometric segment, overriding any previously assigned measures between the start point and end point.*/
   Function REDEFINE_GEOM_SEGMENT(geom_segment  IN mdsys.sdo_geometry,
                                  start_measure IN NUMBER,
                                  end_measure   IN NUMBER)
     RETURN mdsys.sdo_geometry DETERMINISTIC;

   Procedure REDEFINE_GEOM_SEGMENT(geom_segment  IN OUT NOCOPY mdsys.sdo_geometry,
                                   start_measure IN NUMBER,
                                   end_measure   IN NUMBER);

   PROCEDURE RESET_MEASURE(lrs_segment in OUT NOCOPY mdsys.sdo_geometry);

   FUNCTION RESET_MEASURE(lrs_segment IN mdsys.sdo_geometry)
     RETURN mdsys.sdo_geometry DETERMINISTIC;

   FUNCTION TRANSLATE_MEASURE(geom_segment IN mdsys.sdo_geometry,
                              translate_m  IN NUMBER)
     RETURN mdsys.sdo_geometry DETERMINISTIC;

   FUNCTION CONVERT_TO_STD_GEOM(lrs_segment IN mdsys.sdo_geometry)
     RETURN mdsys.sdo_geometry DETERMINISTIC;

   FUNCTION CONVERT_TO_LRS_GEOM(standard_geom IN mdsys.sdo_geometry,
                                start_measure IN NUMBER DEFAULT NULL,
                                end_measure   IN NUMBER DEFAULT NULL)
     RETURN mdsys.sdo_geometry DETERMINISTIC;

   FUNCTION SCALE_GEOM_SEGMENT(lrs_segment   IN mdsys.sdo_geometry,
                               start_measure IN NUMBER,
                               end_measure   IN NUMBER,
                               shift_measure IN NUMBER,
                               tolerance     IN NUMBER DEFAULT 0.005 )
     RETURN mdsys.sdo_geometry DETERMINISTIC;

   FUNCTION DYNAMIC_SEGMENT(GEOM_SEGMENT  IN mdsys.sdo_geometry,
                            START_MEASURE IN NUMBER,
                            END_MEASURE   IN NUMBER,
                            TOLERANCE     IN NUMBER   DEFAULT 0.005,
                            UNIT          IN VARCHAR2 DEFAULT NULL)
     RETURN mdsys.sdo_geometry DETERMINISTIC;

   Function OFFSET_GEOM_SEGMENT(geom_segment  IN mdsys.sdo_geometry,
                                start_measure IN NUMBER,
                                end_measure   IN NUMBER,
                                offset        IN NUMBER DEFAULT 0,
                                tolerance     IN NUMBER DEFAULT 0.005,
                                unit          IN VARCHAR2 default null)
     RETURN mdsys.sdo_geometry Deterministic;

   Function VALID_GEOM_SEGMENT(geom_segment IN mdsys.sdo_geometry,
                               dim_array    IN mdsys.sdo_dim_ARRAY default null)
     RETURN VARCHAR2 Deterministic;

   Function VALID_LRS_PT(point     IN mdsys.sdo_geometry,
                         dim_array IN mdsys.sdo_dim_ARRAY DEFAULT NULL)
     RETURN VARCHAR2 Deterministic;

   Function VALID_MEASURE(geom_segment in mdsys.sdo_geometry,
                          measure      in number)
     RETURN VARCHAR2 Deterministic;

   Function VALIDATE_LRS_GEOMETRY(geom_segment in mdsys.sdo_geometry,
                                  dim_array    in mdsys.sdo_dim_ARRAY default null)
     RETURN VARCHAR2 Deterministic;

   Function ROUND_COORDINATES(geom_segment   in mdsys.sdo_geometry,
                              p_dec_places_x in integer default null,
                              p_dec_places_y in integer default null,
                              p_dec_places_z in integer default null,
                              p_dec_places_m in integer default null)
     RETURN mdsys.sdo_geometry Deterministic;