書式
SDO_LRS.FIND_MEASURE( geom_segment IN SDO_GEOMETRY, point IN SDO_GEOMETRY ) RETURN NUMBER;
または
SDO_LRS.FIND_MEASURE( geom_segment IN SDO_GEOMETRY, dim_array IN SDO_DIM_ARRAY, point IN SDO_GEOMETRY ) RETURN NUMBER;
説明
指定した投影点に最も近いセグメント上の点のメジャーを戻します。
パラメータ
線形フィーチャの地図的表現を指定します。このファンクションは、投影点に最も近いセグメント上の点のメジャーを戻します。
geom_segment
に対応する次元情報の配列を指定します。通常、xxx_SDO_GEOM_METADATAビューの1つから選択します(「ジオメトリのメタデータ・ビュー」を参照)。
投影点を指定します。このファンクションは、投影点に最も近いgeom_segment
上の点のメジャーを戻します。
使用上の注意
このファンクションは、投影点に最も近いgeom_segment
上の点のメジャーを戻します。たとえば、投影点がショッピング・モールを表す場合、このファンクションは、高速道路の開始位置からショッピング・モールに最も近い高速道路上の地点までの距離を算出します。
geom_segment
に無効なジオメトリ・タイプまたは次元が含まれる場合、またはgeom_segment
およびpoint
が異なる座標系に基づく場合、例外が発生します。
このファンクションは_3D 形式(SDO_LRS.FIND_MEASURE_3D)が使用可能です。LRSファンクションの3D形式については、「LRSファンクションの3D形式」を参照してください。
例
次の例では、点(10, 7)に最も近いジオメトリ・セグメントRoute 1上の点のメジャーを検索します。(例では、「LRSファンクションの例」の例の定義を使用しています。)
-- Find measure for point on segment closest to 10,7. -- Should return 15 (for point 12,7). SELECT SDO_LRS.FIND_MEASURE(a.route_geometry, m.diminfo, SDO_GEOMETRY(3001, NULL, NULL, SDO_ELEM_INFO_ARRAY(1, 1, 1), SDO_ORDINATE_ARRAY(10, 7, NULL)) ) 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.FIND_MEASURE(A.ROUTE_GEOMETRY,M.DIMINFO,SDO_GEOMETRY(3001,NULL,NUL -------------------------------------------------------------------------------- 15