26.43 SDO_LRS.TRANSLATE_MEASURE

書式

SDO_LRS.TRANSLATE_MEASURE(
     geom_segment IN SDO_GEOMETRY, 
     translate_m  IN NUMBER 
     ) RETURN SDO_GEOMETRY;

または

SDO_LRS.TRANSLATE_MEASURE(
     geom_segment IN SDO_GEOMETRY, 
     dim_array    IN SDO_DIM_ARRAY, 
     translate_m  IN NUMBER 
     ) RETURN SDO_GEOMETRY;

説明

ジオメトリ・セグメントを変換して、新しいジオメトリ・セグメントを戻します(開始および終了メジャーを指定した値分シフトします)。

パラメータ

geom_segment

メジャー情報を含むジオメトリ・セグメント(LRSセグメント)。

dim_array

geom_segmentに対応する次元情報の配列を指定します。通常、xxx_SDO_GEOM_METADATAビューの1つから選択します(「ジオメトリのメタデータ・ビュー」を参照)。

translate_m

ジオメトリ・セグメントの開始点から線形フィーチャの開始点までの距離を指定します。

使用上のノート

このファンクションは、geom_segmentの開始および終了メジャーにtranslate_mを追加します。たとえば、geom_segmentの開始メジャーが50、終了メジャーが100、translate_mが10の場合、戻されるジオメトリ・セグメントの開始メジャーは60、終了メジャーは110です(次の図を参照)。

図26-1 ジオメトリ・セグメントの変換

図26-1の説明は次にあります
図26-1「ジオメトリ・セグメントの変換」の説明

geom_segmentに無効なジオメトリ・タイプまたは次元が含まれる場合、例外が発生します。

このファンクションは_3D 形式(SDO_LRS.TRANSLATE_MEASURE_3D)が使用可能です。LRSファンクションの_3D形式については、「LRSファンクションの3D形式」を参照してください。

次の例では、ジオメトリ・セグメントRoute 1を10変換(シフト)します。(この例では、「LRSファンクションの例」の例の定義を使用します。)

SELECT SDO_LRS.TRANSLATE_MEASURE(a.route_geometry, m.diminfo, 10)
  FROM lrs_routes a, user_sdo_geom_metadata m
  WHERE m.table_name = 'LRS_ROUTES' AND m.column_name = 'ROUTE_GEOMETRY'
    AND a.route_id = 1;

SDO_LRS.TRANSLATE_MEASURE(A.ROUTE_GEOMETRY,M.DIMINFO,10)(SDO_GTYPE, SDO_SRID, SD
--------------------------------------------------------------------------------
SDO_GEOMETRY(3302, NULL, NULL, SDO_ELEM_INFO_ARRAY(1, 2, 1), SDO_ORDINATE_ARRAY(
2, 2, 10, 2, 4, 12, 8, 4, 18, 12, 4, 22, 12, 10, 28, 8, 10, 32, 5, 14, 37))