書式
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;
説明
点とジオメトリ・セグメント間の符号付きオフセット(最短距離)を戻します。
パラメータ
point
からの距離を確認するジオメトリ・セグメントを指定します。
geom_segment
からの最短距離が戻される点を指定します。
許容差を指定します(「許容差」および「LRSファンクションの許容差」を参照)。デフォルト値は0.00000001です。
geom_segment
に対応する次元情報の配列を指定します。通常、xxx_SDO_GEOM_METADATAビューの1つから選択します(「ジオメトリのメタデータ・ビュー」を参照)。
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