26.6 SDO_LRS.CONVERT_TO_LRS_LAYER
Format
SDO_LRS.CONVERT_TO_LRS_LAYER( table_name IN VARCHAR2, column_name IN VARCHAR2 [, lower_bound IN NUMBER, upper_bound IN NUMBER, tolerance IN NUMBER] ) RETURN VARCHAR2;
or
SDO_LRS.CONVERT_TO_LRS_LAYER( table_name IN VARCHAR2, column_name IN VARCHAR2, dim_name IN VARCHAR2, dim_pos IN INTEGER [, lower_bound IN NUMBER, upper_bound IN NUMBER, tolerance IN NUMBER] ) RETURN VARCHAR2;
Description
Converts all geometry objects in a column of type SDO_GEOMETRY (that is, converts a layer) from standard line string geometries without measure information to LRS geometric segments with measure information, and updates the metadata in the USER_SDO_GEOM_METADATA view.
Parameters
- table_name
-
Table containing the column with the SDO_GEOMETRY objects.
- column_name
-
Column in
table_name
containing the SDO_GEOMETRY objects. - dim_name
-
Name of the measure dimension. If this parameter is null,
M
is assumed. - dim_pos
-
Position of the measure dimension within the SDO_DIM_ARRAY structure for the specified SDO_GEOMETRY column. If this parameter is null, the number corresponding to the last position is assumed.
- lower_bound
-
Lower bound (SDO_LB value in the SDO_DIM_ELEMENT definition) of the ordinate in the measure dimension.
- upper_bound
-
Upper bound (SDO_UB value in the SDO_DIM_ELEMENT definition) of the ordinate in the measure dimension.
- tolerance
-
Tolerance value (see Tolerance and Tolerance Values with LRS Functions). The default value is 0.00000001.
Usage Notes
This function returns TRUE if the conversion was successful or if the layer already contains measure information, and the function returns an exception if the conversion was not successful.
An exception is raised if the existing dimensional information for the table is invalid.
The measure values are assigned based on a start measure of zero and an end measure of the cartographic length.
If a spatial index already exists on column_name
, you must delete (drop) the index before converting the layer and create a new index after converting the layer. For information about deleting and creating indexes, see the DROP INDEX and CREATE INDEX statements in SQL Statements for Indexing Spatial Data.
The _3D format of this function (SDO_LRS.CONVERT_TO_LRS_LAYER_3D) is available. For information about _3D formats of LRS functions, see 3D Formats of LRS Functions.
For more information about conversion functions, see Converting LRS Geometries.
Examples
The following example converts the geometric segments in the ROUTE_GEOMETRY column of the LRS_ROUTES table to LRS format. (This example uses the definitions from the example in Example of LRS Functions.) The SELECT statement shows that dimensional information has been added (that is, SDO_DIM_ELEMENT('M', NULL, NULL, NULL)
is included in the definition).
BEGIN IF (SDO_LRS.CONVERT_TO_LRS_LAYER('LRS_ROUTES', 'ROUTE_GEOMETRY') = 'TRUE') THEN DBMS_OUTPUT.PUT_LINE('Conversion from STD_LAYER to LRS_LAYER succeeded.'); ELSE DBMS_OUTPUT.PUT_LINE('Conversion from STD_LAYER to LRS_LAYER failed.'); END IF; END; . / Conversion from STD_LAYER to LRS_LAYER succeeded. PL/SQL procedure successfully completed. SQL> SELECT diminfo FROM user_sdo_geom_metadata WHERE table_name = 'LRS_ROUTES' AND column_name = 'ROUTE_GEOMETRY'; DIMINFO(SDO_DIMNAME, SDO_LB, SDO_UB, SDO_TOLERANCE) -------------------------------------------------------------------------------- SDO_DIM_ARRAY(SDO_DIM_ELEMENT('X', 0, 20, .005), SDO_DIM_ELEMENT('Y', 0, 20, .00 5), SDO_DIM_ELEMENT('M', NULL, NULL, NULL))
Parent topic: SDO_LRS Package (Linear Referencing System)