26.37 SDO_LRS.RESET_MEASURE
書式
SDO_LRS.RESET_MEASURE( geom_segment IN OUT SDO_GEOMETRY [, dim_array IN SDO_DIM_ARRAY]);
説明
開始メジャーおよび終了メジャーを含むジオメトリ・セグメントのすべてのメジャーをNULL値に設定し、事前に割り当てられたメジャーを上書きします。
パラメータ
- geom_segment
-
メジャー情報を含むジオメトリ・セグメント(LRSセグメント)。
- dim_array
-
geom_segmentに対応する次元情報の配列を指定します。通常、xxx_SDO_GEOM_METADATAビューの1つから選択します(「ジオメトリのメタデータ・ビュー」を参照)。
使用上のノート
geom_segmentに無効なジオメトリ・タイプまたは次元が含まれる場合、例外が発生します。
例
次の例では、ジオメトリ・セグメントのすべてのメジャーをNULL値に設定します。(この例では、「LRSファンクションの例」の例の定義を使用します。)
-- First, display the original segment; then, redefine.
SELECT a.route_geometry FROM lrs_routes a WHERE a.route_id = 1;
ROUTE_GEOMETRY(SDO_GTYPE, SDO_SRID, SDO_POINT(X, Y, Z), SDO_ELEM_INFO, SDO_ORDIN
--------------------------------------------------------------------------------
SDO_GEOMETRY(3302, NULL, NULL, SDO_ELEM_INFO_ARRAY(1, 2, 1), SDO_ORDINATE_ARRAY(
2, 2, 0, 2, 4, 2, 8, 4, 8, 12, 4, 12, 12, 10, 18, 8, 10, 22, 5, 14, 27))
-- Reset geometric segment measures.
DECLARE
geom_segment SDO_GEOMETRY;
BEGIN
SELECT a.route_geometry into geom_segment FROM lrs_routes a
WHERE a.route_name = 'Route1';
SDO_LRS.RESET_MEASURE (geom_segment);
-- Update and insert geometries into table, to display later.
UPDATE lrs_routes a SET a.route_geometry = geom_segment
WHERE a.route_id = 1;
END;
/
PL/SQL procedure successfully completed.
-- Display the segment, with all measures set to null.
SELECT a.route_geometry FROM lrs_routes a WHERE a.route_id = 1;
ROUTE_GEOMETRY(SDO_GTYPE, SDO_SRID, SDO_POINT(X, Y, Z), SDO_ELEM_INFO, SDO_ORDIN
--------------------------------------------------------------------------------
SDO_GEOMETRY(3302, NULL, NULL, SDO_ELEM_INFO_ARRAY(1, 2, 1), SDO_ORDINATE_ARRAY(
2, 2, NULL, 2, 4, NULL, 8, 4, NULL, 12, 4, NULL, 12, 10, NULL, 8, 10, NULL, 5, 1
4, NULL)) 親トピック: SDO_LRSパッケージ(線形参照システム)