4.26 SDO_TOPO_MAP.GET_NEAREST_EDGE
構文
SDO_TOPO_MAP.GET_NEAREST_EDGE( topology IN VARCHAR2, topo_map IN VARCHAR2, point IN SDO_GEOMETRY ) RETURN NUMBER;
または
SDO_TOPO_MAP.GET_NEAREST_EDGE( 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オブジェクト・キャッシュの実際の状況が反映されない場合があります。
点に最も近いエッジが複数ある場合、いずれかのエッジID値が戻されます。トポロジ内にエッジが存在しない場合、このファンクションは0(ゼロ)を戻します。
このファンクションの動作は、クライアント側のJava APIに含まれるTopoMap
クラス(「トポロジ・データ・モデルのJavaインタフェース」を参照)のgetNearestEdge
メソッドを使用する場合と同じです。
例
次の例では、TopoMapオブジェクトCITY_DATA_TOPOMAP
の(8, 8)に存在する点に最も近いエッジのエッジID番号を戻します。(この例では、「トポロジ・データから作成したトポロジ」の定義およびデータを参照しています。)
SELECT SDO_TOPO_MAP.GET_NEAREST_EDGE(null, 'CITY_DATA_TOPOMAP', SDO_GEOMETRY(2001, NULL, SDO_POINT_TYPE(8,8,NULL), NULL, NULL)) FROM DUAL; SDO_TOPO_MAP.GET_NEAREST_EDGE(NULL,'CITY_DATA_TOPOMAP',SDO_GEOMETRY(2001,NULL,SD -------------------------------------------------------------------------------- 22
親トピック: SDO_TOPO_MAPパッケージ・サブプログラム