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

前
次

24.30 SDO_LRS.LRS_INTERSECTION

書式

SDO_LRS.LRS_INTERSECTION(
     geom_1      IN SDO_GEOMETRY, 
     dim_array_1 IN SDO_DIM_ARRAY, 
     geom_2      IN SDO_GEOMETRY, 
     dim_array_2 IN SDO_DIM_ARRAY  
     ) RETURN SDO_GEOMETRY;

または

SDO_LRS.LRS_INTERSECTION(
     geom_1    IN SDO_GEOMETRY, 
     geom_2    IN SDO_GEOMETRY, 
     tolerance IN NUMBER  
     ) RETURN SDO_GEOMETRY;

説明

いずれか、または両方がLRSジオメトリである2つのジオメトリ・オブジェクトで位相的に共通部分(AND演算)となるLRSジオメトリ・オブジェクトを戻します。

パラメータ

geom_1

ジオメトリ・オブジェクト。

dim_array_1

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

geom_2

ジオメトリ・オブジェクト。

dim_array_2

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

tolerance

許容差(「許容差」を参照)。

使用上の注意

このファンクションは、基本的にSDO_GEOM.SDO_INTERSECTIONと同じ共通部分の操作を実行します(「SDO_GEOMパッケージ(ジオメトリ)」を参照)。ただし、SDO_LRS.LRS_INTERSECTIONは、ジオメトリ関連の入力パラメータのいずれか、または両方がLRSジオメトリであるような、有効なLRSジオメトリ(点、線ストリングまたは複合線ストリング)を戻すように設計されています。(いずれの入力ジオメトリもLRSジオメトリではない場合、このファンクションは、SDO_GEOM.SDO_INTERSECTIONファンクションと同じように機能します。)

戻されるジオメトリは、LRS線ストリング、複数線ストリングまたは点ジオメトリであり、これにはメジャー次元情報が含まれます。メジャー値には、入力パラメータとして指定された1つ目のLRSジオメトリの値が反映されます。

入力パラメータとして指定される1つ目のLRSジオメトリは、ポリゴンではなく、線ストリング、複数線ストリングまたは点である必要があります。

LRS線ストリング(ジオメトリ・セグメント)が線ストリング(LRSまたは標準)と交差している場合、その結果はLRS点になります。LRS線ストリングがポリゴンと交差している場合、その結果はLRS線ストリングになります。

geom_1およびgeom_2が異なる座標系に基づく場合は、例外が発生します。

次の例は、(8,2)から(8,6)への垂直線が交差するLRSジオメトリ・セグメント(「LRSファンクションの例」の高速道路の例を参照)を示しています。結果は、LRS点ジオメトリであり、メジャー値(8)は、geom_1ジオメトリにおけるその点(Exit 3として指定されている)のメジャーを反映しています。(例では、「LRSファンクションの例」の例の定義を使用しています。)

-- Intersection of LRS segment and standard line segment
SELECT SDO_LRS.LRS_INTERSECTION(route_geometry,
  SDO_GEOMETRY(2002, NULL, NULL, SDO_ELEM_INFO_ARRAY(1,2,1),
    SDO_ORDINATE_ARRAY(8,2, 8,6)), 0.005)
  FROM lrs_routes WHERE route_id = 1;
 
SDO_LRS.LRS_INTERSECTION(ROUTE_GEOMETRY,SDO_GEOMETRY(2002,NULL,NULL,SDO_ELEM_INF
--------------------------------------------------------------------------------
SDO_GEOMETRY(3301, NULL, NULL, SDO_ELEM_INFO_ARRAY(1, 1, 1), SDO_ORDINATE_ARRAY(
8, 4, 8))

次の例は、(12,2)から(12,6)への垂直線が交差するLRSジオメトリ・セグメント(「LRSファンクションの例」図7-20を参照)を示しています。結果は、LRS線ストリング・ジオメトリであり、メジャー値(12および14)は、geom_1ジオメトリにおける点(その1つ目の点はExit 4として指定されている)のメジャーを反映しています。(例では、「LRSファンクションの例」の例の定義を使用しています。)

SELECT SDO_LRS.LRS_INTERSECTION(route_geometry,
  SDO_GEOMETRY(2002, NULL, NULL, SDO_ELEM_INFO_ARRAY(1,2,1),
   SDO_ORDINATE_ARRAY(12,2, 12,6)), 0.005)
  FROM lrs_routes WHERE route_id = 1;
 
SDO_LRS.LRS_INTERSECTION(ROUTE_GEOMETRY,SDO_GEOMETRY(2002,NULL,NULL,SDO_ELEM_INF
--------------------------------------------------------------------------------
SDO_GEOMETRY(3302, NULL, NULL, SDO_ELEM_INFO_ARRAY(1, 2, 1), SDO_ORDINATE_ARRAY(
12, 4, 12, 12, 6, 14))