書式
SDO_LRS.PROJECT_PT( geom_segment IN SDO_GEOMETRY, point IN SDO_GEOMETRY, tolerance IN NUMBER DEFAULT 1.0e-8 [, offset OUT NUMBER] ) RETURN SDO_GEOMETRY;
または
SDO_LRS.PROJECT_PT( geom_segment IN SDO_GEOMETRY, dim_array IN SDO_DIM_ARRAY, point IN SDO_GEOMETRY [, point_dim_array IN SDO_DIM_ARRAY] ) RETURN SDO_GEOMETRY;
または
SDO_LRS.PROJECT_PT( geom_segment IN SDO_GEOMETRY, dim_array IN SDO_DIM_ARRAY, point IN SDO_GEOMETRY, point_dim_array IN SDO_DIM_ARRAY [, offset OUT NUMBER] ) RETURN SDO_GEOMETRY;
説明
指定した点の投影点を戻します。投影点はジオメトリ・セグメント上にあります。
パラメータ
確認するジオメトリ・セグメントを指定します。
geom_segment
に対応する次元情報の配列を指定します。通常、xxx_SDO_GEOM_METADATAビューの1つから選択します(「ジオメトリのメタデータ・ビュー」を参照)。
投影する点を指定します。
許容差を指定します(「許容差」および「LRSファンクションの許容差」を参照)。デフォルト値は0.00000001です。
point
に対応する次元情報の配列を指定します。通常、xxx_SDO_GEOM_METADATAビューの1つから選択します(「ジオメトリのメタデータ・ビュー」を参照)。
点からジオメトリ・セグメントまでのオフセット(最短距離)を指定します。
使用上の注意
このファンクションは、指定した点(point
)の投影点(メジャーを含む)を戻します。投影点はジオメトリ・セグメント上にあります。
複数の投影点が存在する場合は、開始点に最も近い投影点が戻されます。
出力パラメータoffset
を指定した場合、このファンクションによって、点とジオメトリ・セグメント間の符号付きオフセット(最短距離)が格納されます。ジオメトリ・セグメントへのオフセットについては、「オフセット」を参照してください。
geom_segment
またはpoint
に無効なジオメトリ・タイプまたは次元が含まれる場合、またはgeom_segment
およびpoint
が異なる座標系に基づく場合、例外が発生します。
このファンクションは_3D 形式(SDO_LRS.PROJECT_PT_3D)が使用可能です。LRSファンクションの3D形式については、「LRSファンクションの3D形式」を参照してください。
ジオメトリ・セグメントへの点の投影については、「ジオメトリ・セグメント上の点の投影」を参照してください。
例
次の例では、指定した点(9,3,NULL)に最も近いジオメトリ・セグメントRoute 1上の点(9,4,9)を戻します。(例では、「LRSファンクションの例」の例の定義を使用しています。)
-- Point 9,3,NULL is off the road; should return 9,4,9. SELECT SDO_LRS.PROJECT_PT(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.PROJECT_PT(ROUTE_GEOMETRY,SDO_GEOMETRY(3301,NULL,NULL,SDO_EL -------------------------------------------------------------------------------- SDO_GEOMETRY(3301, NULL, NULL, SDO_ELEM_INFO_ARRAY(1, 1, 1), SDO_ORDINATE_ARRAY( 9, 4, 9))