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

前
次

24.14 SDO_LRS.FIND_OFFSET

書式

SDO_LRS.FIND_OFFSET(
     geom_segment IN SDO_GEOMETRY, 
     point        IN SDO_GEOMETRY, 
     tolerance    IN NUMBER DEFAULT 1.0e-8 
     ) RETURN NUMBER;

または

SDO_LRS.FIND_OFFSET(
     geom_segment IN SDO_GEOMETRY, 
     dim_array    IN SDO_DIM_ARRAY, 
     point        IN SDO_GEOMETRY 
     [, point_dim_array  IN SDO_GEOMETRY] 
     ) RETURN NUMBER;

説明

点とジオメトリ・セグメント間の符号付きオフセット(最短距離)を戻します。

パラメータ

geom_segment

pointからの距離を確認するジオメトリ・セグメントを指定します。

point

geom_segmentからの最短距離が戻される点を指定します。

tolerance

許容差を指定します(「許容差」および「LRSファンクションの許容差」を参照)。デフォルト値は0.00000001です。

dim_array

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

point_dim_array

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

使用上の注意

このファンクションは、offset出力パラメータを指定したSDO_LRS.PROJECT_PTファンクション形式をコールします。ジオメトリ・セグメントおよび点情報を渡し、SDO_LRS.PROJECT_PT offsetパラメータ値を戻します。このため、ジオメトリ・セグメントからの点のオフセットを調べるには、このファンクションまたはoffsetパラメータを指定したSDO_LRS.PROJECT_PTファンクションを使用できます。

geom_segmentまたはpointに無効なジオメトリ・タイプまたは次元が含まれる場合、またはgeom_segmentおよびpointが異なる座標系に基づく場合、例外が発生します。

ジオメトリ・セグメントへのオフセットについては、「オフセット」を参照してください。

次の例では、点(9,3,NULL)の、ジオメトリ・セグメントRoute 1からのオフセットを戻します。(例では、「LRSファンクションの例」の例の定義を使用しています。)「LRSファンクションの例」図7-20に示すとおり、点(9,3,NULL)はセグメントの右側にあるため、オフセットには負の値が含まれます(「オフセット」を参照)。点(9,3.NULL)は、セグメント上にある点(9,4,NULL)から1距離単位離れています。

-- Find the offset of point (9,3,NULL) from the road; should return -1.
SELECT  SDO_LRS.FIND_OFFSET(route_geometry, 
  SDO_GEOMETRY(3301, NULL, NULL, 
     SDO_ELEM_INFO_ARRAY(1, 1, 1), 
     SDO_ORDINATE_ARRAY(9, 3, NULL)) )
  FROM lrs_routes WHERE route_id = 1;

SDO_LRS.FIND_OFFSET(ROUTE_GEOMETRY,SDO_GEOMETRY(3301,NULL,NULL,SDO_ELEM_INFO_ARR
--------------------------------------------------------------------------------
                                                                              -1