6.7 SDO_NET.COMPUTE_PATH_GEOMETRY

構文

SDO_NET.COMPUTE_PATH_GEOMETRY(
     network   IN VARCHAR2,
     path_id   IN NUMBER,
     tolerance IN NUMBER
) RETURN SDO_GEOMETRY;

説明

パスの空間ジオメトリを戻します。

パラメータ

network

ネットワーク名を指定します。

path_id

パスID番号を指定します。

tolerance

ネットワーク内のジオメトリに関連付けられた許容差を指定します。(許容差については、『Oracle Spatial開発者ガイド』の第1章を参照してください。)この値は、ネットワークのリンク表およびノード表のジオメトリの許容差と一致している必要があります。

使用上のノート

このファンクションは、指定されたパスについて、SDO_GEOMETRYオブジェクトを計算して戻します。

このファンクションおよびSDO_NET_MEM.PATH.COMPUTE_GEOMETRYプロシージャ(「SDO_NETパッケージ・サブプログラム」を参照)は両方ともパスのジオメトリを計算しますが、次のような相違点があります。

  • SDO_NET.COMPUTE_PATH_GEOMETRYファンクションは、データベース内のリンクからのパスを計算し、ネットワーク・メモリー・オブジェクトを使用しません。これは、パスのジオメトリを戻します。

  • SDO_NET_MEM.PATH.COMPUTE_GEOMETRYプロシージャは、ロード済のネットワーク・メモリー・オブジェクトを使用してパスを計算します。パスのジオメトリは戻されないため、SDO_NET_MEM.PATH.GET_GEOMETRYファンクションを使用してジオメトリを取得する必要があります。

次の例では、SDO_NET1という名前のネットワーク内にパスIDが1のパスの空間ジオメトリを計算して戻します(許容差は0.005を使用)。このパスは単一リンクで構成されているため、戻されるパスのジオメトリは(1,1)から(15,1)への直線になります。

SELECT SDO_NET.COMPUTE_PATH_GEOMETRY('SDO_NET1', 1, 0.005) FROM DUAL;
 
SDO_NET.COMPUTE_PATH_GEOMETRY('SDO_NET1',1,0.005)(SDO_GTYPE, SDO_SRID, SDO_POINT
--------------------------------------------------------------------------------
SDO_GEOMETRY(2002, NULL, NULL, SDO_ELEM_INFO_ARRAY(1, 2, 1), SDO_ORDINATE_ARRAY(
1, 1, 15, 1))