プライマリ・コンテンツに移動
Oracle® Spatial and Graph開発者ガイド
12cリリース1 (12.1)
B72470-07
目次へ移動
目次
索引へ移動
索引

前
次

24.38 SDO_LRS.REVERSE_GEOMETRY

書式

SDO_LRS.REVERSE_GEOMETRY(
     geom         IN SDO_GEOMETRY 
     [, dim_array IN SDO_DIM_ARRAY] 
     ) RETURN SDO_GEOMETRY;

説明

ジオメトリ・セグメントのメジャー値および方向を反転させて、新しいジオメトリ・セグメントを戻します。

パラメータ

geom

線形フィーチャの地図的表現を指定します。

dim_array

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

使用上の注意

このファンクションは、次の操作を実行します。

  • geomのメジャー値を反転させます。

    geomの開始メジャーは戻されたジオメトリ・セグメントの終了メジャーになり、geomの終了メジャーは戻されたジオメトリ・セグメントの開始メジャーになります。他のすべてのメジャーも適切に調整されます。

  • geomの方向を反転させます。

ジオメトリ・セグメントのメジャー値のみを反転させる(方向は反転させない)SDO_LRS.REVERSE_MEASUREと比較してください。

非LRS線ストリング・ジオメトリの頂点を反転させるには、SDO_UTIL.REVERSE_LINESTRINGファンクション(「SDO_UTILパッケージ(ユーティリティ)」を参照)を使用します。

geomに無効なジオメトリ・タイプまたは次元が含まれる場合、例外が発生します。ジオメトリ・タイプは単一または複数の線であり、次元数は3 (2次元とメジャー次元)である必要があります。

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

次の例では、ジオメトリ・セグメントRoute 1のメジャー値および方向を反転させます。(例では、「LRSファンクションの例」の例の定義を使用しています。)

-- Reverse direction and measures (for example, to prepare for
-- concatenating with another road).
-- First, display the original segment; then, reverse.
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))        
                                                                                

SELECT  SDO_LRS.REVERSE_GEOMETRY(a.route_geometry, m.diminfo)
    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.REVERSE_GEOMETRY(A.ROUTE_GEOMETRY,M.DIMINFO)(SDO_GTYPE, SDO_SRID, SDO_PO
--------------------------------------------------------------------------------
SDO_GEOMETRY(3302, NULL, NULL, SDO_ELEM_INFO_ARRAY(1, 2, 1), SDO_ORDINATE_ARRAY(
5, 14, 27, 8, 10, 22, 12, 10, 18, 12, 4, 12, 8, 4, 8, 2, 4, 2, 2, 2, 0))

戻されたセグメントでは、M値(メジャー)が27から0の降順に並んでおり、セグメントの開始点および終了点のXおよびYの値は元のセグメントと反対になっている(元のセグメントでは2,2と5,14であるのに対し、戻されたセグメントでは5,14と2,2)ことに注意してください。