書式
SDO_LRS.SCALE_GEOM_SEGMENT( geom_segment IN SDO_GEOMETRY, start_measure IN NUMBER, end_measure IN NUMBER, shift_measure IN NUMBER, tolerance IN NUMBER DEFAULT 1.0e-8 ) RETURN SDO_GEOMETRY;
または
SDO_LRS.SCALE_GEOM_SEGMENT( geom_segment IN SDO_GEOMETRY, dim_array IN SDO_DIM_ARRAY, start_measure IN NUMBER, end_measure IN NUMBER, shift_measure IN NUMBER, ) RETURN SDO_GEOMETRY;
説明
ジオメトリ・セグメントをメジャーのスケール変更した結果のジオメトリ・オブジェクトを戻します。
パラメータ
線形フィーチャの地図的表現を指定します。
geom_segment
に対応する次元情報の配列を指定します。通常、xxx_SDO_GEOM_METADATAビューの1つから選択します(「ジオメトリのメタデータ・ビュー」を参照)。
ジオメトリ・セグメントの開始メジャーを指定します。
ジオメトリ・セグメントの終了メジャーを指定します。
初回のスケール変更後に、各メジャー値に追加される量を指定します。値が0(ゼロ)の場合は、何も追加されません(メジャー値のシフトはありません)。
許容差を指定します(「許容差」および「LRSファンクションの許容差」を参照)。デフォルト値は0.00000001です。
使用上の注意
このファンクションは、次の操作を実行します。
開始点のstart_measure
から終了点のend_measure
までを使用し、それに応じた範囲でメジャー値を調整(スケール変更)することで、LRSジオメトリ・セグメントのメジャー値を再配布します。
shift_measure
が0(ゼロ)でない場合は、shift_measure
の値を追加して、手順1で計算された各メジャー値を変換(シフト)します。
このファンクションでの操作は、メジャー値の伸縮と呼ばれることがあります。このファンクションが影響を与えるのはメジャー値のみであり、ジオメトリのその他の座標は変更されません。
geom_segment
、start_measure
またはend_measure
が無効な場合は例外が発生します。
結果のジオメトリ・セグメントの方向は保持されます(元のセグメントが反映されます)。
ジオメトリ・セグメントのスケール変更については、「ジオメトリ・セグメントのスケール変更」を参照してください。
例
次の例では、ジオメトリ・セグメントRoute 1がスケール変更され、開始メジャーと終了メジャーにそれぞれ100と200が指定され、シフト・メジャー値が10であるセグメントが戻されます。したがって、すべてのメジャー値は、開始メジャー値と終了メジャー値に準じてスケール変更された後に10が追加されます。つまり、この例では、戻されるジオメトリの開始点メジャーは110で、終了点メジャーは210になります。(例では、「LRSファンクションの例」の例の定義を使用しています。)
SQL> SELECT SDO_LRS.SCALE_GEOM_SEGMENT(route_geometry, 100, 200, 10) FROM lrs_routes WHERE route_id = 1; SDO_LRS.SCALE_GEOM_SEGMENT(ROUTE_GEOMETRY,100,200,10)(SDO_GTYPE, SDO_SRID, SDO_P -------------------------------------------------------------------------------- SDO_GEOMETRY(3302, NULL, NULL, SDO_ELEM_INFO_ARRAY(1, 2, 1), SDO_ORDINATE_ARRAY( 2, 2, 110, 2, 4, 117.407407, 8, 4, 139.62963, 12, 4, 154.444444, 12, 10, 176.666 667, 8, 10, 191.481481, 5, 14, 210))