4.16 SDO_TOPO_MAP.GET_CONTAINING_FACE

構文

SDO_TOPO_MAP.GET_CONTAINING_FACE(     
  topology IN VARCHAR2,      
  topo_map IN VARCHAR2,      
  point    IN SDO_GEOMETRY      
) RETURN NUMBER;

または

SDO_TOPO_MAP.GET_CONTAINING_FACE(     
  topology IN VARCHAR2,      
  topo_map IN VARCHAR2,      
  x        IN NUMBER,      
  y        IN NUMBER      
) RETURN NUMBER;

説明

指定された点を含むフェイスのフェイスID番号を戻します。

パラメータ

topology

フェイスおよび点を含むトポロジの名前またはNULL値(「GET_xxxトポロジ・ファンクションの使用」を参照)を指定します。名前は20文字以下である必要があります。

topo_map

TopoMapオブジェクトの名前またはNULL値(「GET_xxxトポロジ・ファンクションの使用」を参照)を指定します。(TopoMapオブジェクトの詳細は、「TopoMapオブジェクト」を参照してください。)

point

点を示すジオメトリ・オブジェクトを指定します。

x

点のX軸値を指定します。

y

点のY軸値を指定します。

使用上のノート

topologyまたはtopo_mapパラメータには、有効な名前を指定する必要があります(「GET_xxxトポロジ・ファンクションの使用」を参照)。

このファンクションは、指定されたTopoMapオブジェクトのフェイス(孤立フェイスを含む)のうち、孤立要素を除外したオープン・セットに、指定された点が含まれるフェイスを判断します(存在する場合)。(孤立要素を除外したフェイスのオープン・セットは、フェイス内のすべての点で構成されますが、境界上の点は含みません。)点がフェイスの境界上にある場合、ファンクションは値0 (ゼロ)を戻します。

トポロジ全体がTopoMapオブジェクトにロードされており、点がキャッシュの有限フェイス内に存在しない場合、このファンクションは値-1(ユニバース・フェイス)を戻します。トポロジのウィンドウがTopoMapオブジェクトにロードされており、点がキャッシュの有限フェイス内に存在しない場合、このファンクションは、点がウィンドウ内に存在する場合は値-1(ユニバース・フェイス)を戻し、点がウィンドウの外部に存在する場合は値0(ゼロ)を戻します。トポロジ全体もウィンドウもロードされていない場合、このファンクションは0(ゼロ)を戻します。

このファンクションの動作は、クライアント側のJava APIに含まれるTopoMapクラス(「トポロジ・データ・モデルのJavaインタフェース」を参照)のgetContainingFaceメソッドを使用する場合と同じです。

次の例では、TopoMapオブジェクトCITY_DATA_TOPOMAPの(22, 37)に存在する点を含むフェイスのフェイスID番号を戻します。(この例では、「トポロジ・データから作成したトポロジ」の定義およびデータを参照しています。)

SELECT SDO_TOPO_MAP.GET_CONTAINING_FACE(null, 'CITY_DATA_TOPOMAP',
  SDO_GEOMETRY(2001, NULL, SDO_POINT_TYPE(22,37,NULL), NULL, NULL))
  FROM DUAL;
 
SDO_TOPO_MAP.GET_CONTAINING_FACE(NULL,'CITY_DATA_TOPOMAP',SDO_GEOMETRY(2001,NULL
--------------------------------------------------------------------------------
                                                                               2