ヘッダーをスキップ
Oracle® Spatialトポロジおよびネットワーク・データ・モデル開発者ガイド
11gリリース2 (11.2)
B72088-04
  ドキュメント・ライブラリへ移動
ライブラリ
製品リストへ移動
製品
目次へ移動
目次
索引へ移動
索引

前
 
次
 

7 SDO_NET_MEMパッケージのサブプログラム

MDSYS.SDO_NET_MEMパッケージには、Spatialのネットワーク・データ・モデル用のPL/SQL Application Program Interface(API)の一部を構成するサブプログラム(ファンクションおよびプロシージャ)が含まれています。このパッケージには、Java APIで利用可能な機能が実装されており、ネットワークの編集と分析に関係するサブプログラムが含まれています。

この章で説明するサブプログラムを使用する場合は、第5章で説明するネットワークの概念(特に、5.8項で説明するネットワーク・メモリー・オブジェクトの使用方法)を理解しておく必要があります。

SDO_NET_MEMサブプログラムは、oracle.spatial.networkインタフェースまたはクラス内の関連付けられたオブジェクト関連クラスに従ってグループ化されます。SDO_NET_MEM.SET_MAX_MEMORY_SIZEプロシージャを除いて、各プログラムのSDO_NET_MEMの後ろに接頭辞を指定する必要があり、この接頭辞は、関連付けられたクラス(たとえば、SDO_NET_MEM.NETWORK_MANAGER.CREATE_LOGICAL_NETWORKSDO_NET_MEM.NETWORK.ADD_NODEおよびSDO_NET_MEM.NODE.GET_COST)によって異なります。

SDO_NET_MEMサブプログラムは、次のようにグループ化されています。

SDO_NET_MEMのサブプログラムとJava APIのメソッドは、必ずしも正確に対応しているわけではありません。場合によっては、1つのPL/SQLサブプログラムによって、複数のメソッドの操作とオプションがまとめられていることもあります。また、対応するPL/SQLがないJavaメソッドもあります。このため、サブプログラムの「使用上の注意」では、双方に論理的な関係があることを示す場合、そのファンクションまたはプロシージャに類似した特定のJavaメソッドがあることのみを示しています。特定のJavaメソッドおよびその関連項目の詳細は、Javadoc生成のAPIドキュメント(概略は5.11.2項)を参照してください。

このマニュアルは、SDO_NET_MEMパッケージについて触れていますが、1つを除くすべてのサブプログラムは、実際には各種オブジェクト・タイプのメソッドとして実装されています。そのため、サブプログラムのリストをDESCRIBE SDO_NET_MEM文で表示することはできません。かわりに、表7-1にリストされているDESCRIBE文を使用して、各グループのサブプログラムを表示できますが、これらは1つのオブジェクト・タイプに含まれるメンバー・ファンクションおよびプロシージャであるため、DESCRIBE文の結果には、グループ別のサブプログラムをアルファベット順に表示できません。

表7-1 SDO_NET_MEMサブプログラムのDESCRIBE文

サブプログラムのグループ DESCRIBE文

SDO_NET_MEM.NETWORK_MANAGER

DESCRIBE sdo_network_manager_t

SDO_NET_MEM.NETWORK

DESCRIBE sdo_network_t

SDO_NET_MEM.NODE

DESCRIBE sdo_node_t

SDO_NET_MEM.LINK

DESCRIBE sdo_link_t

SDO_NET_MEM.PATH

DESCRIBE sdo_path_t


この章では、SDO_NET_MEMサブプログラムのリファレンス情報を、グループ別にサブプログラム名のアルファベット順に説明します。最初に、どのグループにも属さないSDO_NET_MEM.SET_MAX_MEMORY_SIZEプロシージャを説明します。

SDO_NET_MEM.SET_MAX_MEMORY_SIZE

構文

SDO_NET_MEM.SET_MAX_MEMORY_SIZE(

     maxsize IN NUMBER);

説明

Oracle Java仮想マシンで実行するアプリケーション用の最大Javaヒープ・サイズを設定します。

パラメータ

maxsize

最大Javaヒープ・サイズのバイト数を指定します。

使用上の注意

java.lang.OutOfMemoryError例外が発生した場合は、このプロシージャを使用して、最大ヒープ・サイズを増やすことができます。

システムの上限より大きな値を指定すると、システムの上限値が使用されます。

次の例では、最大Javaヒープ・サイズを536870912(512MB)に設定します。

EXECUTE SDO_NET_MEM.SET_MAX_MEMORY_SIZE(536870912);

SDO_NET_MEM.LINK.GET_CHILD_LINKS

構文

SDO_NET_MEM.LINK.GET_CHILD_LINKS(

     net_mem IN VARCHAR2,

     link_id IN NUMBER

     ) RETURN SDO_NUMBER_ARRAY;

説明

リンクの子リンクを戻します。

パラメータ

net_mem

ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(SDO_NET_MEM.NETWORK_MANAGER.READ_NETWORKプロシージャで作成済)が使用されます。

link_id

リンクID番号を指定します。

使用上の注意

このファンクションは、指定されたネットワーク・メモリー・オブジェクト内のリンクについて、その子リンクを戻します。ネットワーク・メモリー・オブジェクトを使用した編集とネットワーク分析の操作については、5.8項を参照してください。

このファンクションの動作は、クライアント側のJava APIに含まれるLinkインタフェース(5.11.2項を参照)のgetChildLinksメソッドを使用する場合に似ています。

ネットワーク階層の親ノードと子ノード、および親リンクと子リンクの詳細は、5.5項を参照してください。

次の例では、現在のネットワーク・メモリー・オブジェクト内のリンクIDが1001のリンクについて、その子リンクを戻します。(この例は、5.13.4項例5-5からの抜粋です。)

res_array := SDO_NET_MEM.LINK.GET_CHILD_LINKS(net_mem, 1001);
DBMS_OUTPUT.PUT('Link 1001 has the following child links: ');
FOR indx IN res_array.FIRST..res_array.LAST
LOOP
  DBMS_OUTPUT.PUT(res_array(indx) || ' ');
END LOOP;
DBMS_OUTPUT.PUT_LINE(' ');
. . .
Link 1001 has the following child links: 1108 1109   

SDO_NET_MEM.LINK.GET_CO_LINK_IDS

構文

SDO_NET_MEM.LINK.GET_CO_LINK_IDS(

     net_mem IN VARCHAR2,

     link_id IN NUMBER

     ) RETURN SDO_NUMBER_ARRAY;

説明

リンクの逆リンクを戻します。

パラメータ

net_mem

ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(SDO_NET_MEM.NETWORK_MANAGER.READ_NETWORKプロシージャで作成済)が使用されます。

link_id

リンクID番号を指定します。

使用上の注意

このファンクションは、指定されたネットワーク・メモリー・オブジェクト内のリンクについて、その逆リンクのSDO_NUMBER_ARRAYオブジェクトを戻します。ネットワーク・メモリー・オブジェクトを使用した編集とネットワーク分析の操作については、5.8項を参照してください。

あるリンクの逆リンクとは、元のリンクとは逆向きのリンクのことです。つまり、逆リンクの開始ノードは元のリンクの終了ノードで、逆リンクの終了ノードは元のリンクの開始ノードです。

このファンクションの動作は、クライアント側のJava APIに含まれるLinkインタフェース(5.11.2項を参照)のgetCoLinksメソッドを使用する場合に似ています。

次の例では、現在のネットワーク・メモリー・オブジェクト内のリンクIDが9876のリンクについて、その逆リンクを戻します。(この例では、SDO_NUMBER_ARRAY型の変数res_arrayが宣言済であり、ネットワーク・メモリー・オブジェクトに関連付けられたネットワーク名がVARCHAR2型の変数net_memに設定済であることを想定しています。)

res_array := SDO_NET_MEM.LINK.GET_CO_LINK_IDS(net_mem, 9876);

SDO_NET_MEM.LINK.GET_COST

構文

SDO_NET_MEM.LINK.GET_COST(

     net_mem IN VARCHAR2,

     link_id IN NUMBER

     ) RETURN NUMBER;

説明

リンクのコスト値を戻します。

パラメータ

net_mem

ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(SDO_NET_MEM.NETWORK_MANAGER.READ_NETWORKプロシージャで作成済)が使用されます。

link_id

リンクID番号を指定します。

使用上の注意

このファンクションは、指定されたネットワーク・メモリー・オブジェクト内のリンクについて、そのコスト値を戻します。ネットワーク・メモリー・オブジェクトを使用した編集とネットワーク分析の操作については、5.8項を参照してください。

このファンクションの動作は、クライアント側のJava APIに含まれるLinkインタフェース(5.11.2項を参照)のgetCostメソッドを使用する場合と似ています。

リンクのコスト値を設定するには、SDO_NET_MEM.LINK.SET_COSTプロシージャを使用します。

次の例では、現在のネットワーク・メモリー・オブジェクト内のリンクIDが1104のリンクについて、そのコストを戻します。(この例は、5.13.4項例5-5からの抜粋です。)

res_numeric := SDO_NET_MEM.LINK.GET_COST(net_mem, 1104);
DBMS_OUTPUT.PUT_LINE('The cost of link 1104 is: ' || res_numeric);
. . .
The cost of link 1104 is: 10

SDO_NET_MEM.LINK.GET_END_MEASURE

構文

SDO_NET_MEM.LINK.GET_END_MEASURE(

     net_mem IN VARCHAR2,

     link_id IN NUMBER

     ) RETURN NUMBER;

説明

LRSネットワーク内のリンクについて、その終了メジャー値を戻します。

パラメータ

net_mem

ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(SDO_NET_MEM.NETWORK_MANAGER.READ_NETWORKプロシージャで作成済)が使用されます。

link_id

リンクID番号を指定します。

使用上の注意

このファンクションは、指定されたネットワーク・メモリー・オブジェクト内のLRSネットワーク上のリンクについて、その終了メジャー値を戻します。ネットワーク・メモリー・オブジェクトを使用した編集とネットワーク分析の操作については、5.8項を参照してください。

このファンクションの動作は、クライアント側のJava APIに含まれるLinkインタフェース(5.11.2項を参照)のgetEndMeasureメソッドを使用する場合に似ています。

次の例では、現在のネットワーク・メモリー・オブジェクト内のリンクIDが104のリンクについて、その終了メジャーを戻します。(この例は、5.13.3項例5-4からの抜粋です。)

res_numeric := SDO_NET_MEM.LINK.GET_END_MEASURE(net_mem, 104);
DBMS_OUTPUT.PUT_LINE('The end measure of link 104 is: ' || res_numeric);
. . .
The end measure of link 104 is: 6

SDO_NET_MEM.LINK.GET_END_NODE_ID

構文

SDO_NET_MEM.LINK.GET_END_NODE_ID(

     net_mem IN VARCHAR2,

     link_id IN NUMBER

     ) RETURN NUMBER;

説明

リンクの終了ノードのノードIDを戻します。

パラメータ

net_mem

ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(SDO_NET_MEM.NETWORK_MANAGER.READ_NETWORKプロシージャで作成済)が使用されます。

link_id

リンクID番号を指定します。

使用上の注意

このファンクションは、指定されたネットワーク・メモリー・オブジェクト内のリンクについて、その終了ノードのノードID番号を戻します。ネットワーク・メモリー・オブジェクトを使用した編集とネットワーク分析の操作については、5.8項を参照してください。

このファンクションの動作は、クライアント側のJava APIに含まれるLinkインタフェース(5.11.2項を参照)のgetEndNodeメソッドを使用する場合に似ています。

リンクの終了ノードを設定するには、SDO_NET_MEM.LINK.SET_END_NODEプロシージャを使用します。

次の例では、現在のネットワーク・メモリー・オブジェクト内のリンクIDが1104のリンクについて、その終了ノードIDを戻します。(この例は、5.13.4項例5-5からの抜粋です。)

res_numeric := SDO_NET_MEM.LINK.GET_END_NODE_ID(net_mem, 1104);
DBMS_OUTPUT.PUT_LINE('The end node of link 1104 is: ' || res_numeric);
. . .
The end node of link 1104 is: 104

SDO_NET_MEM.LINK.GET_GEOM_ID

構文

SDO_NET_MEM.LINK.GET_GEOM_ID(

     net_mem IN VARCHAR2,

     link_id IN NUMBER

     ) RETURN NUMBER;

説明

リンクのジオメトリIDを戻します。

パラメータ

net_mem

ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(SDO_NET_MEM.NETWORK_MANAGER.READ_NETWORKプロシージャで作成済)が使用されます。

link_id

リンクID番号を指定します。

使用上の注意

このファンクションは、指定されたネットワーク・メモリー・オブジェクト内のリンクについて、そのジオメトリID番号を戻します。ネットワーク・メモリー・オブジェクトを使用した編集とネットワーク分析の操作については、5.8項を参照してください。

このファンクションの動作は、クライアント側のJava APIに含まれるLinkインタフェース(5.11.2項を参照)のgetGeomIDメソッドを使用する場合に似ています。

リンクのジオメトリIDを設定するには、SDO_NET_MEM.LINK.SET_GEOM_IDプロシージャを使用します。

次の例では、現在のネットワーク・メモリー・オブジェクト内のリンクIDが104のリンクについて、そのジオメトリIDを戻します。(この例は、5.13.3項例5-4からの抜粋です。)

res_numeric := SDO_NET_MEM.LINK.GET_GEOM_ID(net_mem, 104);
DBMS_OUTPUT.PUT_LINE('The geometry ID of link 104 is: ' || res_numeric);
. . .
The geometry ID of link 104 is: 1003

SDO_NET_MEM.LINK.GET_GEOMETRY

構文

SDO_NET_MEM.LINK.GET_GEOMETRY(

     net_mem IN VARCHAR2,

     link_id IN NUMBER

     ) RETURN SDO_GEOMETRY;

説明

リンクの空間ジオメトリ・オブジェクトを戻します。

パラメータ

net_mem

ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(SDO_NET_MEM.NETWORK_MANAGER.READ_NETWORKプロシージャで作成済)が使用されます。

link_id

リンクID番号を指定します。

使用上の注意

このファンクションは、指定されたネットワーク・メモリー・オブジェクト内のリンクについて、そのSDO_GEOMETRYオブジェクトを戻します。ネットワーク・メモリー・オブジェクトを使用した編集とネットワーク分析の操作については、5.8項を参照してください。

このファンクションの動作は、クライアント側のJava APIに含まれるLinkインタフェース(5.11.2項を参照)のgetGeometryメソッドを使用する場合に似ています。

リンクの空間ジオメトリを設定するには、SDO_NET_MEM.LINK.SET_GEOMETRYプロシージャを使用します。

次の例では、現在のネットワーク・メモリー・オブジェクト内のリンクIDが9876のリンクについて、その空間ジオメトリを戻します。(この例では、SDO_GEOMETRY型の変数res_geomが宣言済であり、ネットワーク・メモリー・オブジェクトに関連付けられたネットワーク名がVARCHAR2型の変数net_memに設定済であることを想定しています。)

res_geom := SDO_NET_MEM.LINK.GET_GEOMETRY(net_mem, 9876)

SDO_NET_MEM.LINK.GET_LEVEL

構文

SDO_NET_MEM.LINK.GET_LEVEL(

     net_mem IN VARCHAR2,

     link_id IN NUMBER

     ) RETURN NUMBER;

説明

リンクの階層レベルを戻します。

パラメータ

net_mem

ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(SDO_NET_MEM.NETWORK_MANAGER.READ_NETWORKプロシージャで作成済)が使用されます。

link_id

リンクID番号を指定します。

使用上の注意

このファンクションは、指定されたネットワーク・メモリー・オブジェクト内のリンクについて、その階層レベル(数値)を戻します。ネットワーク・メモリー・オブジェクトを使用した編集とネットワーク分析の操作については、5.8項を参照してください。

このファンクションの動作は、クライアント側のJava APIに含まれるLinkインタフェース(5.11.2項を参照)のgetLinkLevelメソッドを使用する場合に似ています。

リンクの階層レベルを設定するには、SDO_NET_MEM.LINK.SET_LEVELプロシージャを使用します。

ネットワーク階層の親ノードと子ノード、および親リンクと子リンクの詳細は、5.5項を参照してください。

次の例では、現在のネットワーク・メモリー・オブジェクト内のリンクIDが1001のリンクについて、その階層レベルを戻します。(この例は、5.13.4項例5-5からの抜粋です。)

res_numeric := SDO_NET_MEM.LINK.GET_LEVEL(net_mem, 1001);
DBMS_OUTPUT.PUT_LINE('The hierarchy level of link 1001 is: ' || res_numeric);
. . .
The hierarchy level of link 1001 is: 2

SDO_NET_MEM.LINK.GET_NAME

構文

SDO_NET_MEM.LINK.GET_NAME(

     net_mem IN VARCHAR2,

     link_id IN NUMBER

     ) RETURN VARCHAR2;

説明

リンクの名前を戻します。

パラメータ

net_mem

ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(SDO_NET_MEM.NETWORK_MANAGER.READ_NETWORKプロシージャで作成済)が使用されます。

link_id

リンクID番号を指定します。

使用上の注意

このファンクションは、指定されたネットワーク・メモリー・オブジェクト内のリンクについて、その名前を戻します。ネットワーク・メモリー・オブジェクトを使用した編集とネットワーク分析の操作については、5.8項を参照してください。

このファンクションの動作は、クライアント側のJava APIに含まれるLinkインタフェース(5.11.2項を参照)のgetNameメソッドを使用する場合に似ています。

リンクの名前を設定するには、SDO_NET_MEM.LINK.SET_NAMEプロシージャを使用します。

次の例では、現在のネットワーク・メモリー・オブジェクト内のリンクIDが1104のリンクについて、その名前を戻します。(この例は、5.13.4項例5-5からの抜粋です。)

res_string := SDO_NET_MEM.LINK.GET_NAME(net_mem, 1104);
DBMS_OUTPUT.PUT_LINE('The name of link 1104 is: ' || res_string);
. . .
The name of link 1104 is: N3N4

SDO_NET_MEM.LINK.GET_PARENT_LINK_ID

構文

SDO_NET_MEM.LINK.GET_PARENT_LINK_ID(

     net_mem IN VARCHAR2,

     link_id IN NUMBER

     ) RETURN NUMBER;

説明

リンクの親リンクのリンクID番号を戻します。

パラメータ

net_mem

ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(SDO_NET_MEM.NETWORK_MANAGER.READ_NETWORKプロシージャで作成済)が使用されます。

link_id

リンクID番号を指定します。

使用上の注意

このファンクションは、指定されたネットワーク・メモリー・オブジェクト内のリンクについて、その親リンクのリンクID番号を戻します。ネットワーク・メモリー・オブジェクトを使用した編集とネットワーク分析の操作については、5.8項を参照してください。

このファンクションの動作は、クライアント側のJava APIに含まれるLinkインタフェース(5.11.2項を参照)のgetParentLinkメソッドを使用する場合に似ています。

リンクの親リンクを設定するには、SDO_NET_MEM.LINK.SET_PARENT_LINKプロシージャを使用します。

ネットワーク階層の親ノードと子ノード、および親リンクと子リンクの詳細は、5.5項を参照してください。

次の例では、現在のネットワーク・メモリー・オブジェクト内のリンクIDが1108のリンクについて、その親リンクIDを戻します。(この例は、5.13.4項例5-5からの抜粋です。)

res_numeric := SDO_NET_MEM.LINK.GET_PARENT_LINK_ID(net_mem, 1108);
DBMS_OUTPUT.PUT_LINE('The parent link of link 1108 is: ' || res_numeric);
. . .
The parent link of link 1108 is: 1001

SDO_NET_MEM.LINK.GET_SIBLING_LINK_IDS

構文

SDO_NET_MEM.LINK.GET_SIBLING_LINK_IDS(

     net_mem IN VARCHAR2,

     link_id IN NUMBER

     ) RETURN SDO_NUMBER_ARRAY;

説明

リンクの兄弟リンクを戻します。

パラメータ

net_mem

ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(SDO_NET_MEM.NETWORK_MANAGER.READ_NETWORKプロシージャで作成済)が使用されます。

link_id

リンクID番号を指定します。

使用上の注意

このファンクションは、指定されたネットワーク・メモリー・オブジェクト内のリンクについて、その兄弟リンクのリンクID番号を戻します。兄弟リンクとは、同じ親リンクを持つリンクのことです。ネットワーク・メモリー・オブジェクトを使用した編集とネットワーク分析の操作については、5.8項を参照してください。

このファンクションの動作は、クライアント側のJava APIに含まれるLinkインタフェース(5.11.2項を参照)のgetSiblingLinkArrayメソッドを使用する場合に似ています。

ネットワーク階層の親ノードと子ノード、および親リンクと子リンクの詳細は、5.5項を参照してください。ただし、親および子リンクは、ネットワーク階層なしで指定できること、またはネットワークの同じレベルに指定できることに注意してください。

次の例では、現在のネットワーク・メモリー・オブジェクト内のリンクIDが1108のリンクについて、その兄弟リンクを戻します。この例の場合、兄弟リンクは、リンクIDが1109のリンクのみです。この2つのリンクは、リンクIDが1001のリンク(ノードHN1とノードHN2の間に存在)の子です。(この例は、5.13.4項例5-5からの抜粋です。)

res_array := SDO_NET_MEM.LINK.GET_SIBLING_LINK_IDS(net_mem, 1108);
DBMS_OUTPUT.PUT('Link 1108 has the following sibling links: ');
FOR indx IN res_array.FIRST..res_array.LAST
LOOP
  DBMS_OUTPUT.PUT(res_array(indx) || ' ');
END LOOP;
DBMS_OUTPUT.PUT_LINE(' ');
. . .
Link 1108 has the following sibling links: 1109

SDO_NET_MEM.LINK.GET_START_MEASURE

構文

SDO_NET_MEM.LINK.GET_START_MEASURE(

     net_mem IN VARCHAR2,

     link_id IN NUMBER

     ) RETURN NUMBER;

説明

リンクの開始メジャー値を戻します。

パラメータ

net_mem

ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(SDO_NET_MEM.NETWORK_MANAGER.READ_NETWORKプロシージャで作成済)が使用されます。

link_id

リンクID番号を指定します。

使用上の注意

このファンクションは、指定されたネットワーク・メモリー・オブジェクト内のLRSネットワーク上のリンクについて、その開始メジャー値を戻します。ネットワーク・メモリー・オブジェクトを使用した編集とネットワーク分析の操作については、5.8項を参照してください。

このファンクションの動作は、クライアント側のJava APIに含まれるLinkインタフェース(5.11.2項を参照)のgetStartMeasureメソッドを使用する場合に似ています。

次の例では、現在のネットワーク・メモリー・オブジェクト内のリンクIDが104のリンクについて、その開始メジャー値を戻します。(この例は、5.13.3項例5-4からの抜粋です。)

res_numeric := SDO_NET_MEM.LINK.GET_START_MEASURE(net_mem, 104);
DBMS_OUTPUT.PUT_LINE('The start measure of link 104 is: ' || res_numeric);
. . .
The start measure of link 104 is: 0

SDO_NET_MEM.LINK.GET_START_NODE_ID

構文

SDO_NET_MEM.LINK.GET_START_NODE_ID(

     net_mem IN VARCHAR2,

     link_id IN NUMBER

     ) RETURN NUMBER;

説明

リンクの開始ノードのノードIDを戻します。

パラメータ

net_mem

ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(SDO_NET_MEM.NETWORK_MANAGER.READ_NETWORKプロシージャで作成済)が使用されます。

link_id

リンクID番号を指定します。

使用上の注意

このファンクションは、指定されたネットワーク・メモリー・オブジェクト内のリンクについて、その開始ノードのノードID値を戻します。ネットワーク・メモリー・オブジェクトを使用した編集とネットワーク分析の操作については、5.8項を参照してください。

このファンクションの動作は、クライアント側のJava APIに含まれるLinkインタフェース(5.11.2項を参照)のgetStartNodeメソッドを使用する場合に似ています。

リンクの開始ノードを設定するには、SDO_NET_MEM.LINK.SET_START_NODEプロシージャを使用します。

次の例では、現在のネットワーク・メモリー・オブジェクト内のリンクIDが1004のリンクについて、その開始ノードを戻します。(この例は、5.13.4項例5-5からの抜粋です。)

res_numeric := SDO_NET_MEM.LINK.GET_START_NODE_ID(net_mem, 1104);
DBMS_OUTPUT.PUT_LINE('The start node of link 1104 is: ' || res_numeric);
. . .
The start node of link 1104 is: 103

SDO_NET_MEM.LINK.GET_STATE

構文

SDO_NET_MEM.LINK.GET_STATE(

     net_mem IN VARCHAR2,

     link_id IN NUMBER

     ) RETURN VARCHAR2;

説明

リンクの状態を戻します。

パラメータ

net_mem

ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(SDO_NET_MEM.NETWORK_MANAGER.READ_NETWORKプロシージャで作成済)が使用されます。

link_id

リンクID番号を指定します。

使用上の注意

このファンクションは、指定されたネットワーク・メモリー・オブジェクト内のリンクについて、その状態を戻します。ネットワーク・メモリー・オブジェクトを使用した編集とネットワーク分析の操作については、5.8項を参照してください。

状態は文字列値で、TRUEまたはFALSEのいずれかです。リンクがSDO_NET_MEM.NETWORK_MANAGER.SHORTEST_PATHなどのネットワーク分析ファンクションで検討されるかどうかは、そのリンクの状態によって決まります。状態がTRUEのリンクはネットワーク分析ファンクションの検討対象となり、FALSEのリンクは無視されます。

このファンクションの動作は、クライアント側のJava APIに含まれるLinkインタフェース(5.11.2項を参照)のgetStateメソッドを使用する場合に似ています。

リンクの状態を設定するには、SDO_NET_MEM.LINK.SET_STATEプロシージャを使用します。

次の例では、現在のネットワーク・メモリー・オブジェクト内のリンクIDが1104のリンクについて、その状態を戻します。(この例は、5.13.4項例5-5からの抜粋です。)

res_string := SDO_NET_MEM.LINK.GET_STATE(net_mem, 1104);
DBMS_OUTPUT.PUT_LINE('The state of link 1104 is: ' || res_string);
. . .
The state of link 1104 is: TRUE

SDO_NET_MEM.LINK.GET_TYPE

構文

SDO_NET_MEM.LINK.GET_TYPE(

     net_mem IN VARCHAR2,

     link_id IN NUMBER

     ) RETURN VARCHAR2;

説明

リンクのタイプを戻します。

パラメータ

net_mem

ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(SDO_NET_MEM.NETWORK_MANAGER.READ_NETWORKプロシージャで作成済)が使用されます。

link_id

リンクID番号を指定します。

使用上の注意

このファンクションは、指定されたネットワーク・メモリー・オブジェクト内のリンクについて、そのタイプを戻します。ネットワーク・メモリー・オブジェクトを使用した編集とネットワーク分析の操作については、5.8項を参照してください。

このファンクションの動作は、クライアント側のJava APIに含まれるLinkインタフェース(5.11.2項を参照)のgetTypeメソッドを使用する場合に似ています。

リンクのタイプを設定するには、SDO_NET_MEM.LINK.SET_TYPEプロシージャを使用します。

次の例では、現在のネットワーク・メモリー・オブジェクト内のリンクIDが1119のリンクについて、そのタイプを設定して取得します。(この例は、5.13.4項例5-5からの抜粋です。)

SDO_NET_MEM.LINK.SET_TYPE(net_mem, 1119, 'Associative');
res_string := SDO_NET_MEM.LINK.GET_TYPE(net_mem, 1119);
DBMS_OUTPUT.PUT_LINE('The type of link 1119 is: ' || res_string);
. . .
The type of link 1119 is: Associative

SDO_NET_MEM.LINK.IS_ACTIVE

構文

SDO_NET_MEM.LINK.IS_ACTIVE(

     net_mem IN VARCHAR2,

     link_id IN NUMBER

     ) RETURN VARCHAR2;

説明

リンクがアクティブかどうかを確認します。

パラメータ

net_mem

ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(SDO_NET_MEM.NETWORK_MANAGER.READ_NETWORKプロシージャで作成済)が使用されます。

link_id

リンクID番号を指定します。

使用上の注意

このファンクションは、指定されたネットワーク・メモリー・オブジェクト内のリンクがアクティブであれば文字列値TRUEを戻し、そうでなければ文字列値FALSEを戻します。ネットワーク・メモリー・オブジェクトを使用した編集とネットワーク分析の操作については、5.8項を参照してください。

このファンクションの動作は、クライアント側のJava APIに含まれるLinkインタフェース(5.11.2項を参照)のisActiveメソッドを使用する場合に似ています。

次の例では、現在のネットワーク・メモリー・オブジェクト内のリンクIDが1104のリンクについて、そのリンクがアクティブかどうかを確認します。(この例は、5.13.4項例5-5からの抜粋です。)

res_string := SDO_NET_MEM.LINK.IS_ACTIVE(net_mem, 1104);
DBMS_OUTPUT.PUT_LINE('Is link 1104 active?: ' || res_string);
. . .
Is link 1104 active?: TRUE

SDO_NET_MEM.LINK.IS_LOGICAL

構文

SDO_NET_MEM.LINK.IS_LOGICAL(

     net_mem IN VARCHAR2,

     link_id IN NUMBER

     ) RETURN VARCHAR2;

説明

リンクが論理ネットワーク内にあるかどうかを確認します。

パラメータ

net_mem

ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(SDO_NET_MEM.NETWORK_MANAGER.READ_NETWORKプロシージャで作成済)が使用されます。

link_id

リンクID番号を指定します。

使用上の注意

このファンクションは、指定されたネットワーク・メモリー・オブジェクト内のリンクが論理ネットワークにあれば文字列値TRUEを戻し、そうでなければ文字列値FALSEを戻します。ネットワーク・メモリー・オブジェクトを使用した編集とネットワーク分析の操作については、5.8項を参照してください。

このファンクションの動作は、クライアント側のJava APIに含まれるLinkインタフェース(5.11.2項を参照)のisLogicalメソッドを使用する場合に似ています。

次の例では、現在のネットワーク・メモリー・オブジェクト内のリンクIDが1104のリンクについて、そのリンクが論理ネットワーク内にあるかどうかを確認します。(この例は、5.13.4項例5-5からの抜粋です。)

res_string := SDO_NET_MEM.LINK.IS_LOGICAL(net_mem, 1104);
DBMS_OUTPUT.PUT_LINE('Is link 1104 a logical link?: ' || res_string);
. . .
Is link 1104 a logical link?: TRUE

SDO_NET_MEM.LINK.IS_TEMPORARY

構文

SDO_NET_MEM.LINK.IS_TEMPORARY(

     net_mem IN VARCHAR2,

     link_id IN NUMBER

     ) RETURN VARCHAR2;

説明

リンクが一時リンクかどうかを確認します。

パラメータ

net_mem

ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(SDO_NET_MEM.NETWORK_MANAGER.READ_NETWORKプロシージャで作成済)が使用されます。

link_id

リンクID番号を指定します。

使用上の注意

このファンクションは、指定されたネットワーク・メモリー・オブジェクト内のリンクが一時リンクであれば文字列値TRUEを戻し、そうでなければ文字列値FALSEを戻します。ネットワーク・メモリー・オブジェクトを使用した編集とネットワーク分析の操作については、5.8項を参照してください。

一時的なリンク、ノードおよびパスは、SDO_NET_MEM.NETWORK_MANAGER.WRITE_NETWORKプロシージャをコールした場合でもデータベースには保存されません。

このファンクションの動作は、クライアント側のJava APIに含まれるLinkインタフェース(5.11.2項を参照)のisTemporaryメソッドを使用する場合に似ています。

次の例では、現在のネットワーク・メモリー・オブジェクト内のリンクIDが1104のリンクについて、そのリンクが一時リンクかどうかを確認します。(この例は、5.13.4項例5-5からの抜粋です。)

res_string := SDO_NET_MEM.LINK.IS_TEMPORARY(net_mem, 1104);
DBMS_OUTPUT.PUT_LINE('Is link 1104 temporary?: ' || res_string);
. . .
Is link 1104 temporary?: FALSE

SDO_NET_MEM.LINK.SET_COST

構文

SDO_NET_MEM.LINK.SET_COST(

     net_mem IN VARCHAR2,

     link_id IN NUMBER,

     cost IN NUMBER);

説明

リンクのコスト値を設定します。

パラメータ

net_mem

ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(SDO_NET_MEM.NETWORK_MANAGER.READ_NETWORKプロシージャで作成済)が使用されます。

link_id

リンクID番号を指定します。

cost

コスト値を指定します。

使用上の注意

このプロシージャは、指定されたネットワーク・メモリー・オブジェクト内のリンクについて、そのコスト値を設定します。ネットワーク・メモリー・オブジェクトを使用した編集とネットワーク分析の操作については、5.8項を参照してください。

このプロシージャの動作は、クライアント側のJava APIに含まれるLinkインタフェース(5.11.2項を参照)のsetCostメソッドを使用する場合に似ています。

リンクのコスト値を取得するには、SDO_NET_MEM.LINK.GET_COSTファンクションを使用します。

次の例では、現在のネットワーク・メモリー・オブジェクト内のリンクIDが1119のリンクについて、そのコストを40に設定します。(この例は、5.13.4項例5-5からの抜粋です。)

SDO_NET_MEM.LINK.SET_COST(net_mem, 1119, 40);

SDO_NET_MEM.LINK.SET_END_NODE

構文

SDO_NET_MEM.LINK.SET_END_NODE(

     net_mem IN VARCHAR2,

     link_id IN NUMBER,

     end_node_id IN NUMBER);

説明

リンクの終了ノードを設定します。

パラメータ

net_mem

ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(SDO_NET_MEM.NETWORK_MANAGER.READ_NETWORKプロシージャで作成済)が使用されます。

link_id

リンクID番号を指定します。

end_node_id

ノードID番号を指定します。

使用上の注意

このプロシージャは、指定されたネットワーク・メモリー・オブジェクト内のリンクについて、その終了ノードを設定します。ネットワーク・メモリー・オブジェクトを使用した編集とネットワーク分析の操作については、5.8項を参照してください。

このプロシージャの動作は、クライアント側のJava APIに含まれるLinkインタフェース(5.11.2項を参照)のsetEndNodeメソッドを使用する場合に似ています。

リンクの終了ノードを取得するには、SDO_NET_MEM.LINK.GET_END_NODE_IDファンクションを使用します。

次の例では、現在のネットワーク・メモリー・オブジェクト内のリンクIDが1119のリンクについて、その終了ノードをノードID値が109のノードに設定します。(この例は、5.13.4項例5-5からの抜粋です。)

SDO_NET_MEM.LINK.SET_END_NODE(net_mem, 1119, 109);

SDO_NET_MEM.LINK.SET_GEOM_ID

構文

SDO_NET_MEM.LINK.SET_GEOM_ID(

     net_mem IN VARCHAR2,

     link_id IN NUMBER,

     geom_id IN NUMBER);

説明

リンクのジオメトリID番号を設定します。

パラメータ

net_mem

ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(SDO_NET_MEM.NETWORK_MANAGER.READ_NETWORKプロシージャで作成済)が使用されます。

link_id

リンクID番号を指定します。

geom_id

ジオメトリID番号を指定します。

使用上の注意

このプロシージャは、指定されたネットワーク・メモリー・オブジェクト内のリンクについて、そのジオメトリID番号を設定します。ネットワーク・メモリー・オブジェクトを使用した編集とネットワーク分析の操作については、5.8項を参照してください。

このプロシージャの動作は、クライアント側のJava APIに含まれるLinkインタフェース(5.11.2項を参照)のsetGeomIDメソッドを使用する場合に似ています。

リンクのジオメトリIDを取得するには、SDO_NET_MEM.LINK.GET_GEOM_IDファンクションを使用します。

次の例では、現在のネットワーク・メモリー・オブジェクト内のリンクIDが302のリンクについて、そのジオメトリIDを9999に設定します。

SDO_NET_MEM.LINK.SET_GEOM_ID(net_mem, 302, 9999);

SDO_NET_MEM.LINK.SET_GEOMETRY

構文

SDO_NET_MEM.LINK.SET_GEOMETRY(

     net_mem IN VARCHAR2,

     link_id IN NUMBER,

     geom IN SDO_GEOMETRY);

説明

リンクの空間ジオメトリを設定します。

パラメータ

net_mem

ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(SDO_NET_MEM.NETWORK_MANAGER.READ_NETWORKプロシージャで作成済)が使用されます。

link_id

リンクID番号を指定します。

geom

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

使用上の注意

このプロシージャは、指定されたネットワーク・メモリー・オブジェクト内のリンクについて、そのSDO_GEOMETRYオブジェクトを設定します。ネットワーク・メモリー・オブジェクトを使用した編集とネットワーク分析の操作については、5.8項を参照してください。

このプロシージャの動作は、クライアント側のJava APIに含まれるLinkインタフェース(5.11.2項を参照)のsetGeometryメソッドを使用する場合に似ています。

リンクの空間ジオメトリを取得するには、SDO_NET_MEM.LINK.GET_GEOMETRYファンクションを使用します。

次の例では、現在のネットワーク・メモリー・オブジェクト内のリンクIDが5678のリンクについて、その空間ジオメトリを、指定された線ストリングSDO_GEOMETRYオブジェクトに設定します。(この例では、ネットワーク・メモリー・オブジェクトに関連付けられたネットワーク名が、VARCHAR2型の変数net_memに設定済であることを想定しています。)

SDO_NET_MEM.LINK.SET_GEOMETRY(net_mem, 5678,
   SDO_GEOMETRY(2002, NULL, NULL,
     SDO_ELEM_INFO_ARRAY(1,2,1),
       SDO_ORDINATE_ARRAY(9, 4, 1,1)));

SDO_NET_MEM.LINK.SET_LEVEL

構文

SDO_NET_MEM.LINK.SET_LEVEL(

     net_mem IN VARCHAR2,

     link_id IN NUMBER,

     level IN NUMBER);

説明

リンクの階層レベルを設定します。

パラメータ

net_mem

ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(SDO_NET_MEM.NETWORK_MANAGER.READ_NETWORKプロシージャで作成済)が使用されます。

link_id

リンクID番号を指定します。

level

階層レベル番号を指定します。

使用上の注意

このプロシージャは、指定されたネットワーク・メモリー・オブジェクト内のリンクについて、その階層レベルを設定します。ネットワーク・メモリー・オブジェクトを使用した編集とネットワーク分析の操作については、5.8項を参照してください。

このプロシージャの動作は、クライアント側のJava APIに含まれるLinkインタフェース(5.11.2項を参照)のsetLinkLevelメソッドを使用する場合に似ています。

リンクの階層レベルを取得するには、SDO_NET_MEM.LINK.GET_LEVELファンクションを使用します。

ネットワーク階層の親ノードと子ノード、および親リンクと子リンクの詳細は、5.5項を参照してください。

次の例では、現在のネットワーク・メモリー・オブジェクト内のリンクIDが1119のリンクについて、その階層レベルを2に設定します。(この例は、5.13.4項例5-5からの抜粋です。)

SDO_NET_MEM.LINK.SET_LEVEL(net_mem, 1119, 2);

SDO_NET_MEM.LINK.SET_MEASURE

構文

SDO_NET_MEM.LINK.SET_MEASURE(

     net_mem IN VARCHAR2,

     link_id IN NUMBER,

     start_measure IN NUMBER,

     end_measure IN NUMBER);

説明

LRSネットワーク内のリンクについて、その開始メジャーと終了メジャーの値を設定します。

パラメータ

net_mem

ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(SDO_NET_MEM.NETWORK_MANAGER.READ_NETWORKプロシージャで作成済)が使用されます。

link_id

リンクID番号を指定します。

start_measure

開始メジャーの値を指定します。

end_measure

終了メジャーの値を指定します。

使用上の注意

このプロシージャは、指定されたネットワーク・メモリー・オブジェクト内のLRSネットワーク上のリンクについて、その開始メジャーと終了メジャーの値を設定します。ネットワーク・メモリー・オブジェクトを使用した編集とネットワーク分析の操作については、5.8項を参照してください。

このプロシージャの動作は、クライアント側のJava APIに含まれるLinkインタフェース(5.11.2項を参照)のsetMeasureメソッドを使用する場合に似ています。

リンクの開始メジャーを取得するには、SDO_NET_MEM.LINK.GET_START_MEASUREファンクションを使用します。リンクの終了メジャーを取得するには、SDO_NET_MEM.LINK.GET_END_MEASUREファンクションを使用します。

次の例では、現在のネットワーク・メモリー・オブジェクト内のリンクIDが302のリンクについて、その開始メジャーを111に設定し、終了メジャーを114.16に設定します。(この例は、5.13.3項例5-4からの抜粋です。)

SDO_NET_MEM.LINK.SET_MEASURE(net_mem, 302, 111, 114.16);

SDO_NET_MEM.LINK.SET_NAME

構文

SDO_NET_MEM.LINK.SET_NAME(

     net_mem IN VARCHAR2,

     link_id IN NUMBER,

     link_name IN VARCHAR2);

説明

リンクの名前を設定します。

パラメータ

net_mem

ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(SDO_NET_MEM.NETWORK_MANAGER.READ_NETWORKプロシージャで作成済)が使用されます。

link_id

リンクID番号を指定します。

link_name

リンク名の文字列を指定します。

使用上の注意

このプロシージャは、指定されたネットワーク・メモリー・オブジェクト内のLRSネットワーク上のリンクについて、その名前を設定します。ネットワーク・メモリー・オブジェクトを使用した編集とネットワーク分析の操作については、5.8項を参照してください。

このプロシージャの動作は、クライアント側のJava APIに含まれるLinkインタフェース(5.11.2項を参照)のsetNameメソッドを使用する場合に似ています。

リンクの名前を取得するには、SDO_NET_MEM.LINK.GET_NAMEファンクションを使用します。

次の例では、現在のネットワーク・メモリー・オブジェクト内のリンクIDが1119のリンクについて、その名前をMy favorite linkに設定します。(この例は、5.13.4項例5-5からの抜粋です。)

SDO_NET_MEM.LINK.SET_NAME(net_mem, 1119, 'My favorite link');

SDO_NET_MEM.LINK.SET_PARENT_LINK

構文

SDO_NET_MEM.LINK.SET_PARENT_LINK(

     net_mem IN VARCHAR2,

     link_id IN NUMBER,

     parent_link_id IN NUMBER);

説明

リンクの親リンクを設定します。

パラメータ

net_mem

ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(SDO_NET_MEM.NETWORK_MANAGER.READ_NETWORKプロシージャで作成済)が使用されます。

link_id

リンクID番号を指定します。

parent_link_id

親リンクのリンクID番号を指定します。

使用上の注意

このプロシージャは、指定されたネットワーク・メモリー・オブジェクト内のリンクについて、その親リンクを設定します。ネットワーク・メモリー・オブジェクトを使用した編集とネットワーク分析の操作については、5.8項を参照してください。

このプロシージャの動作は、クライアント側のJava APIに含まれるLinkインタフェース(5.11.2項を参照)のsetParentLinkメソッドを使用する場合に似ています。

リンクの親リンクを取得するには、SDO_NET_MEM.LINK.GET_PARENT_LINK_IDファンクションを使用します。

ネットワーク階層の親ノードと子ノード、および親リンクと子リンクの詳細は、5.5項を参照してください。

次の例では、現在のネットワーク・メモリー・オブジェクト内のリンクIDが1119のリンクについて、その親リンクとしてリンクID値が1001のリンクを設定します。(この例は、5.13.4項例5-5からの抜粋です。)

SDO_NET_MEM.LINK.SET_PARENT_LINK(net_mem, 1119, 1001);

SDO_NET_MEM.LINK.SET_START_NODE

構文

SDO_NET_MEM.LINK.SET_START_NODE(

     net_mem IN VARCHAR2,

     link_id IN NUMBER,

     srart_node_id IN NUMBER);

説明

リンクの開始ノードを設定します。

パラメータ

net_mem

ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(SDO_NET_MEM.NETWORK_MANAGER.READ_NETWORKプロシージャで作成済)が使用されます。

link_id

リンクID番号を指定します。

start_node_id

ノードID番号を指定します。

使用上の注意

このプロシージャは、指定されたネットワーク・メモリー・オブジェクト内のリンクについて、その開始ノードを設定します。ネットワーク・メモリー・オブジェクトを使用した編集とネットワーク分析の操作については、5.8項を参照してください。

このプロシージャの動作は、クライアント側のJava APIに含まれるLinkインタフェース(5.11.2項を参照)のsetStartNodeメソッドを使用する場合に似ています。

リンクの開始ノードを取得するには、SDO_NET_MEM.LINK.GET_START_NODE_IDファンクションを使用します。

次の例では、現在のネットワーク・メモリー・オブジェクト内のリンクIDが1119のリンクについて、その開始ノードをノードIDが110のノードに設定します。(この例は、5.13.4項例5-5からの抜粋です。)

SDO_NET_MEM.LINK.SET_START_NODE(net_mem, 1119, 110);

SDO_NET_MEM.LINK.SET_STATE

構文

SDO_NET_MEM.LINK.SET_STATE(

     net_mem IN VARCHAR2,

     link_id IN NUMBER,

     state IN VARCHAR2);

説明

リンクの状態値を設定します。

パラメータ

net_mem

ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(SDO_NET_MEM.NETWORK_MANAGER.READ_NETWORKプロシージャで作成済)が使用されます。

link_id

リンクID番号を指定します。

state

状態の値を指定します。TRUEまたはFALSEのいずれかの文字列を指定します。

使用上の注意

このプロシージャは、指定されたネットワーク・メモリー・オブジェクト内のリンクについて、その状態を設定します。ネットワーク・メモリー・オブジェクトを使用した編集とネットワーク分析の操作については、5.8項を参照してください。

リンクがSDO_NET_MEM.NETWORK_MANAGER.SHORTEST_PATHなどのネットワーク分析ファンクションで検討されるかどうかは、そのリンクの状態によって決まります。状態がTRUEのリンクはネットワーク分析ファンクションの検討対象となり、FALSEのリンクは無視されます。

このプロシージャの動作は、クライアント側のJava APIに含まれるLinkインタフェース(5.11.2項を参照)のsetStateメソッドを使用する場合に似ています。

リンクの状態を取得するには、SDO_NET_MEM.LINK.GET_STATEファンクションを使用します。

次の例では、現在のネットワーク・メモリー・オブジェクト内のリンクIDが1119のリンクについて、その状態をFALSEに設定します。(この例は、5.13.4項例5-5からの抜粋です。)

SDO_NET_MEM.LINK.SET_STATE(net_mem, 1119, 'FALSE');

SDO_NET_MEM.LINK.SET_TYPE

構文

SDO_NET_MEM.LINK.SET_TYPE(

     net_mem IN VARCHAR2,

     link_id IN NUMBER,

     type IN VARCHAR2);

説明

リンクのタイプを設定します。

パラメータ

net_mem

ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(SDO_NET_MEM.NETWORK_MANAGER.READ_NETWORKプロシージャで作成済)が使用されます。

link_id

リンクID番号を指定します。

タイプ

リンクに対して、ユーザーが決定したタイプを表す文字列を指定します。

使用上の注意

このプロシージャは、指定されたネットワーク・メモリー・オブジェクト内のリンクについて、そのタイプを設定します。ネットワーク・メモリー・オブジェクトを使用した編集とネットワーク分析の操作については、5.8項を参照してください。

このプロシージャの動作は、クライアント側のJava APIに含まれるLinkインタフェース(5.11.2項を参照)のsetTypeメソッドを使用する場合に似ています。

リンクのタイプを取得するには、SDO_NET_MEM.LINK.GET_TYPEファンクションを使用します。

次の例では、現在のネットワーク・メモリー・オブジェクト内のリンクIDが302のリンクについて、そのタイプをNormal streetに設定します。(この例は、5.13.3項例5-4からの抜粋です。)

SDO_NET_MEM.LINK.SET_TYPE(net_mem, 302, 'Normal street');

SDO_NET_MEM.NETWORK.ADD_LINK

構文

SDO_NET_MEM.NETWORK.ADD_LINK(

     net_mem IN VARCHAR2,

     link_id IN NUMBER,

     link_name IN NUMBER,

     start_node_id IN NUMBER,

     end_node_id IN NUMBER,

     cost IN NUMBER);

または

SDO_NET_MEM.NETWORK.ADD_LINK(

     net_mem IN VARCHAR2,

     link_id IN NUMBER,

     link_name IN NUMBER,

     start_node_id IN NUMBER,

     end_node_id IN NUMBER,

     cost IN NUMBER,

     geom_id IN NUMBER,

     start_measure IN NUMBER,

     end_measure IN NUMBER);

または

SDO_NET_MEM.ADD_LINK(

     net_mem IN VARCHAR2,

     link_id IN NUMBER,

     link_name IN NUMBER,

     start_node_id IN NUMBER,

     end_node_id IN NUMBER,

     geom IN SDO_GEOMETRY,

     cost IN NUMBER);

説明

ネットワークにリンクを追加します。

パラメータ

net_mem

ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(SDO_NET_MEM.NETWORK_MANAGER.READ_NETWORKプロシージャで作成済)が使用されます。

link_id

追加するリンクのID番号を指定します。

link_name

追加するリンクの名前を指定します。

start_node_id

追加するリンクの開始ノードのノードIDを指定します。

end_node_id

追加するリンクの終了ノードのノードIDを指定します。

cost

リンクに関連付けるコスト値を指定します。

geom_id

LRSジオメトリの場合に、ジオメトリ・オブジェクトのジオメトリIDを指定します。

start_measure

LRSジオメトリの場合に、そのリンクの開始ノードに対応するジオメトリ・オブジェクトの開始メジャー値を指定します。

end_measure

LRSジオメトリの場合に、そのリンクの終了ノードに対応するジオメトリ・オブジェクトの終了メジャー値を指定します。

geom

追加するリンクを表すSDO_GEOMETRYオブジェクト(線または連続線ストリング・ジオメトリ)を指定します。

使用上の注意

このプロシージャは、指定されたネットワーク・メモリー・オブジェクトにリンクを追加します。ネットワーク・メモリー・オブジェクトを使用した編集とネットワーク分析の操作については、5.8項を参照してください。

指定したネットワーク・メモリー・オブジェクトが読取り専用の場合は、例外が発生します。

このプロシージャの動作は、クライアント側のJava APIに含まれるNetworkクラス(5.11.2項を参照)のaddLinkメソッドを使用する場合に似ています。

次の例では、現在のネットワーク・メモリー・オブジェクトに、リンクIDが9901のリンクを追加します。(この例は、5.8項例5-1からの抜粋です。)

-- Add a link with ID=9901, name=N901N1, cost=20 from node N901 to node N1.
sdo_net_mem.network.add_link(net_mem=>'XYZ_NETWORK', link_id=>9901, 
  link_name=>'N901N1', start_node_id=>901, end_node_id=>101, cost=>20);

SDO_NET_MEM.NETWORK.ADD_LRS_NODE

構文

SDO_NET_MEM.NETWORK.ADD_LRS_NODE(

     net_mem IN VARCHAR2,

     node_id IN NUMBER,

     node_name IN VARCHAR2,

     geom_id IN NUMBER,

     measure IN NUMBER,

     geom IN SDO_GEOMETRY,

     external_network_id IN NUMBER,

     external_node_id IN NUMBER);

説明

LRSノード(メジャー情報を持つ点ジオメトリ)をネットワークに追加します。

パラメータ

net_mem

ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(SDO_NET_MEM.NETWORK_MANAGER.READ_NETWORKプロシージャで作成済)が使用されます。

node_id

追加するノードのノードIDを指定します。

node_name

追加するノードの名前を指定します。

geom_id

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

measure

追加するノードのメジャー値を指定します。

geom

追加するノードのジオメトリ・オブジェクトを指定します。3つ目の次元値に対するメジャー値を持つ線形参照システム(LRS)・ジオメトリを指定してください。

external_network_id

ノードが外部ネットワークのノードでもある場合は、その外部ネットワークのネットワークIDを指定します。

external_node_id

ノードが外部ネットワークのノードでもある場合は、その外部ネットワーク上のノードのノードIDを指定します。

使用上の注意

このプロシージャは、指定されたネットワーク・メモリー・オブジェクトにLRSノードを追加します。ネットワーク・メモリー・オブジェクトを使用した編集とネットワーク分析の操作については、5.8項を参照してください。

指定したネットワーク・メモリー・オブジェクトが読取り専用の場合は、例外が発生します。

次の例では、MY_LRS_NETWORKという名前のネットワークのネットワーク・メモリー・オブジェクトに、ノードIDが901のLRSノードを追加します。

DECLARE
  res_string  VARCHAR2(100);
BEGIN
-- Add an LRS node with ID=901.
SDO_NET_MEM.NETWORK.ADD_LRS_NODE(net_mem=>'MY_LRS_NETWORK', node_id=>901,
  node_name=>'N901', geom_id=>9901, measure=>8, 
  geom=>SDO_GEOMETRY(3301, NULL, NULL, SDO_ELEM_INFO_ARRAY(1, 1, 1), 
    SDO_ORDINATE_ARRAY(8,13,9)),
  external_network_id=>0, external_node_id=>0);
-- GET_NAME
res_string := SDO_NET_MEM.NODE.GET_NAME('ROADS_NETWORK', 901);
DBMS_OUTPUT.PUT_LINE('The name of node 901 is: ' || res_string);
END;  
/
. . . 
The name of node 901 is: N901

SDO_NET_MEM.NETWORK.ADD_NODE

構文

SDO_NET_MEM.NETWORK.ADD_NODE(

     net_mem IN VARCHAR2,

     node_id IN NUMBER,

     node_name IN VARCHAR2,

     geom IN SDO_GEOMETRY DEFAULT NULL

     external_network_id IN NUMBER,

     external_node_id IN NUMBER);

説明

ジオメトリ・オブジェクトが関連付けられていないノードをネットワークに追加します。

パラメータ

net_mem

ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(SDO_NET_MEM.NETWORK_MANAGER.READ_NETWORKプロシージャで作成済)が使用されます。

node_id

追加するノードのノードIDを指定します。

node_name

追加するノードの名前を指定します。

geom

ノードに関連付けるジオメトリ・オブジェクトを指定します。このパラメータがNULLの場合、ジオメトリ・オブジェクトはノードに関連付けられません。

external_network_id

ノードが外部ネットワークのノードでもある場合は、その外部ネットワークのネットワークIDを指定します。

external_node_id

ノードが外部ネットワークのノードでもある場合は、その外部ネットワーク上のノードのノードIDを指定します。

使用上の注意

このプロシージャは、指定されたネットワーク・メモリー・オブジェクトにノードを追加します。ネットワーク・メモリー・オブジェクトを使用した編集とネットワーク分析の操作については、5.8項を参照してください。

指定したネットワーク・メモリー・オブジェクトが読取り専用の場合は、例外が発生します。

このプロシージャの動作は、クライアント側のJava APIに含まれるNetworkクラス(5.11.2項を参照)のaddNodeメソッドを使用する場合に似ています。

次の例では、現在のネットワーク・メモリー・オブジェクトに、ノードIDが901のノードを追加します。(この例は、5.8項例5-1からの抜粋です。)

-- Add a node with ID=901, and set its name to N901.
sdo_net_mem.network.add_node(net_mem=>'XYZ_NETWORK', node_id=>901,
  node_name=>'N901', external_network_id=>0, external_node_id=>0);

SDO_NET_MEM.NETWORK.ADD_PATH

構文

SDO_NET_MEM.NETWORK.ADD_PATH(

     net_mem IN VARCHAR2,

     path_id IN NUMBER);

または

SDO_NET_MEM.NETWORK.ADD_PATH(

     net_mem IN VARCHAR2,

     path_ids IN SDO_NUMBER_ARRAY);

説明

1つ以上のパスをネットワークに追加します。

パラメータ

net_mem

ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(SDO_NET_MEM.NETWORK_MANAGER.READ_NETWORKプロシージャで作成済)が使用されます。

path_id

追加するパスのパスIDを指定します。

path_ids

追加するパスのパスIDを示すSDO_NUMBER_ARRAYオブジェクトを指定します。

使用上の注意

このプロシージャは、指定されたネットワーク・メモリー・オブジェクトに1つ以上のパスを追加します。ネットワーク・メモリー・オブジェクトを使用した編集とネットワーク分析の操作については、5.8項を参照してください。

指定したネットワーク・メモリー・オブジェクトが読取り専用の場合は、例外が発生します。

このプロシージャの動作は、クライアント側のJava APIに含まれるNetworkクラス(5.11.2項を参照)のaddPathメソッドを使用する場合に似ています。

次の例では、path_idという名前の変数にパスIDが格納されているパスを追加します。(この例は、5.8項例5-1からの抜粋です。)

sdo_net_mem.network.add_path(net_mem=>'XYZ_NETWORK', path_id=>path_id);

SDO_NET_MEM.NETWORK.ADD_SDO_NODE

構文

SDO_NET_MEM.NETWORK.ADD_SDO_NODE(

     net_mem IN VARCHAR2,

     node_id IN NUMBER,

     node_name IN VARCHAR2,

     x IN VARCHAR2,

     y IN VARCHAR2,

     srid IN NUMBER);

説明

空間座標が関連付けられているノードをネットワークに追加します。

パラメータ

net_mem

ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(SDO_NET_MEM.NETWORK_MANAGER.READ_NETWORKプロシージャで作成済)が使用されます。

node_id

追加するノードのノードIDを指定します。

node_name

追加するノードの名前を指定します。

x

追加するノードのX軸の座標値を指定します。

y

追加するノードのY軸の座標値を指定します。

srid

ノードに関連付けられた座標系(空間参照システム)を指定します。USER_SDO_GEOM_METADATAビューのノード表に関連付けられたSRIDを一致させる必要があります。

使用上の注意

このプロシージャは、指定されたネットワーク・メモリー・オブジェクトにノードを追加します。ネットワーク・メモリー・オブジェクトを使用した編集とネットワーク分析の操作については、5.8項を参照してください。

指定したネットワーク・メモリー・オブジェクトが読取り専用の場合は、例外が発生します。

このプロシージャの動作は、クライアント側のJava APIに含まれるNetworkクラス(5.11.2項を参照)のaddNodeメソッドを使用する場合に似ています。

次の例では、ROADS_NETWORKという名前のネットワークのネットワーク・メモリー・オブジェクトに、ノードIDが801のSDOノードを追加します。

DECLARE
  res_string  VARCHAR2(100);
BEGIN
-- Add an SDO node with ID=801.
SDO_NET_MEM.NETWORK.ADD_SDO_NODE(net_mem=>'ROADS_NETWORK', 
  node_id=>801, node_name=>'N801', x=>8, y=>12, srid=>null);
-- GET_NAME
res_string := SDO_NET_MEM.NODE.GET_NAME('ROADS_NETWORK', 801);
DBMS_OUTPUT.PUT_LINE('The name of node 801 is: ' || res_string);
END;  
/
. . .
The name of node 801 is: N801

SDO_NET_MEM.NETWORK.DELETE_LINK

構文

SDO_NET_MEM.NETWORK.DELETE_LINK(

     net_mem IN VARCHAR2,

     link_id IN NUMBER);

説明

ネットワークからリンクを削除します。

パラメータ

net_mem

ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(SDO_NET_MEM.NETWORK_MANAGER.READ_NETWORKプロシージャで作成済)が使用されます。

link_id

削除するリンクのリンクIDを指定します。

使用上の注意

このプロシージャは、指定されたネットワーク・メモリー・オブジェクトからリンクを削除します。ネットワーク・メモリー・オブジェクトを使用した編集とネットワーク分析の操作については、5.8項を参照してください。

指定したネットワーク・メモリー・オブジェクトが読取り専用の場合は、例外が発生します。

このプロシージャの動作は、クライアント側のJava APIに含まれるNetworkインタフェース(5.11.2項を参照)のdeleteLinkメソッドを使用する場合に似ています。

次の例では、MY_NETWORKという名前のネットワークのネットワーク・メモリー・オブジェクトにある、リンクIDが302のリンクを削除します。

EXECUTE SDO_NET_MEM.NETWORK.DELETE_LINK('MY_NETWORK', 302);

SDO_NET_MEM.NETWORK.DELETE_NODE

構文

SDO_NET_MEM.NETWORK.DELETE_NODE(

     net_mem IN VARCHAR2,

     node_id IN NUMBER);

説明

ネットワークからノードを削除します。

パラメータ

net_mem

ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(SDO_NET_MEM.NETWORK_MANAGER.READ_NETWORKプロシージャで作成済)が使用されます。

node_id

削除するノードのノードIDを指定します。

使用上の注意

このプロシージャは、指定されたネットワーク・メモリー・オブジェクトからノードを削除します。ネットワーク・メモリー・オブジェクトを使用した編集とネットワーク分析の操作については、5.8項を参照してください。

指定したネットワーク・メモリー・オブジェクトが読取り専用の場合は、例外が発生します。

このプロシージャの動作は、クライアント側のJava APIに含まれるNetworkインタフェース(5.11.2項を参照)のdeleteNodeメソッドを使用する場合に似ています。

次の例では、ROADS_NETWORKという名前のネットワークのネットワーク・メモリー・オブジェクトにある、ノードIDが8のノードを削除します。

EXECUTE SDO_NET_MEM.NETWORK.DELETE_NODE('ROADS_NETWORK', 8);

SDO_NET_MEM.NETWORK.DELETE_PATH

構文

SDO_NET_MEM.NETWORK.DELETE_PATH(

     net_mem IN VARCHAR2,

     path_id IN NUMBER);

説明

ネットワークからパスを削除します。

パラメータ

net_mem

ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(SDO_NET_MEM.NETWORK_MANAGER.READ_NETWORKプロシージャで作成済)が使用されます。

path_id

削除するパスのパスIDを指定します。

使用上の注意

このプロシージャは、指定されたネットワーク・メモリー・オブジェクトからパスを削除します。ネットワーク・メモリー・オブジェクトを使用した編集とネットワーク分析の操作については、5.8項を参照してください。

指定したネットワーク・メモリー・オブジェクトが読取り専用の場合は、例外が発生します。

このプロシージャの動作は、クライアント側のJava APIに含まれるNetworkインタフェース(5.11.2項を参照)のdeletePathメソッドを使用する場合に似ています。

次の例では、ROADS_NETWORKという名前のネットワークのネットワーク・メモリー・オブジェクトにある、パスIDが1のパスを削除します。

EXECUTE SDO_NET_MEM.NETWORK.DELETE_PATH('ROADS_NETWORK', 1);

SDO_NET_MEM.NETWORK.GET_MAX_LINK_ID

構文

SDO_NET_MEM.LINK.GET_MAX_LINK_ID(

     net_mem IN VARCHAR2,

     ) RETURN NUMBER;

説明

数値が最大のリンクIDを戻します。

パラメータ

net_mem

ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(SDO_NET_MEM.NETWORK_MANAGER.READ_NETWORKプロシージャで作成済)が使用されます。

使用上の注意

このファンクションは、指定されたネットワーク・メモリー・オブジェクト内の数値が最大のリンクIDを戻します。ネットワーク・メモリー・オブジェクトを使用した編集とネットワーク分析の操作については、5.8項を参照してください。

このファンクションの動作は、クライアント側のJava APIに含まれるLinkインタフェース(5.11.2項を参照)のgetMaxLinkIdメソッドを使用する場合に似ています。

次の例では、現在のネットワーク・メモリー・オブジェクト内の数値が最大のリンクIDを戻します。(この例は、5.13.4項例5-5からの抜粋です。)

SELECT SDO_NET_MEM.NETWORK.GET_MAX_LINK_ID(net_mem) 
  INTO res_numeric FROM DUAL;
DBMS_OUTPUT.PUT_LINE('Maximum link ID = ' || res_numeric);
. . .
Maximum link ID = 1119

SDO_NET_MEM.NETWORK.GET_MAX_NODE_ID

構文

SDO_NET_MEM.LINK.GET_MAX_NODE_ID(

     net_mem IN VARCHAR2,

     ) RETURN NUMBER;

説明

数値が最大のノードIDを戻します。

パラメータ

net_mem

ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(SDO_NET_MEM.NETWORK_MANAGER.READ_NETWORKプロシージャで作成済)が使用されます。

使用上の注意

このファンクションは、指定されたネットワーク・メモリー・オブジェクト内の数値が最大のノードIDを戻します。ネットワーク・メモリー・オブジェクトを使用した編集とネットワーク分析の操作については、5.8項を参照してください。

このファンクションの動作は、クライアント側のJava APIに含まれるLinkインタフェース(5.11.2項を参照)のgetMaxNodeIdメソッドを使用する場合に似ています。

次の例では、現在のネットワーク・メモリー・オブジェクト内の数値が最大のノードIDを戻します。(この例は、5.13.4項例5-5からの抜粋です。)

SELECT SDO_NET_MEM.NETWORK.GET_MAX_NODE_ID(net_mem) 
  INTO res_numeric FROM DUAL;
DBMS_OUTPUT.PUT_LINE('Maximum node ID = ' || res_numeric);
. . .
Maximum node ID = 114

SDO_NET_MEM.NETWORK.GET_MAX_PATH_ID

構文

SDO_NET_MEM.LINK.GET_MAX_PATH_ID(

     net_mem IN VARCHAR2,

     ) RETURN NUMBER;

説明

数値が最大のパスIDを戻します。

パラメータ

net_mem

ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(SDO_NET_MEM.NETWORK_MANAGER.READ_NETWORKプロシージャで作成済)が使用されます。

使用上の注意

このファンクションは、指定されたネットワーク・メモリー・オブジェクト内の数値が最大のパスIDを戻します。ネットワーク・メモリー・オブジェクトを使用した編集とネットワーク分析の操作については、5.8項を参照してください。

このファンクションの動作は、クライアント側のJava APIに含まれるLinkインタフェース(5.11.2項を参照)のgetMaxPathIdメソッドを使用する場合に似ています。

次の例では、現在のネットワーク・メモリー・オブジェクト内の数値が最大のパスIDを戻します。(この例は、5.13.4項例5-5からの抜粋です。)

SELECT SDO_NET_MEM.NETWORK.GET_MAX_PATH_ID(net_mem) 
  INTO res_numeric FROM DUAL;
DBMS_OUTPUT.PUT_LINE('Maximum path ID = ' || res_numeric);
. . .
Maximum path ID = 28

SDO_NET_MEM.NETWORK.GET_MAX_SUBPATH_ID

構文

SDO_NET_MEM.LINK.GET_MAX_SUBPATH_ID(

     net_mem IN VARCHAR2,

     ) RETURN NUMBER;

説明

数値が最大のサブパスIDを戻します。

パラメータ

net_mem

ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(SDO_NET_MEM.NETWORK_MANAGER.READ_NETWORKプロシージャで作成済)が使用されます。

使用上の注意

このファンクションは、指定されたネットワーク・メモリー・オブジェクト内の数値が最大のサブパスIDを戻します。ネットワーク・メモリー・オブジェクトを使用した編集とネットワーク分析の操作については、5.8項を参照してください。

このファンクションの動作は、クライアント側のJava APIに含まれるLinkインタフェース(5.11.2項を参照)のgetMaxSubpathIdメソッドを使用する場合に似ています。

次の例では、現在のネットワーク・メモリー・オブジェクト内の数値が最大のサブパスIDを戻します。ここでは、ネットワークのサブパスがないため、0(ゼロ)が戻されます。(この例は、5.13.4項例5-5からの抜粋です。)

SELECT SDO_NET_MEM.NETWORK.GET_MAX_SUBPATH_ID(net_mem) 
  INTO res_numeric FROM DUAL;
DBMS_OUTPUT.PUT_LINE('Maximum subpath ID = ' || res_numeric);
. . .
Maximum subpath ID = 0

SDO_NET_MEM.NETWORK_MANAGER.ALL_PATHS

構文

SDO_NET_MEM.NETWORK_MANAGER.ALL_PATHS(

     net_mem IN VARCHAR2,

     start_node_id IN NUMBER,

     goal_node_id IN NUMBER,

     depth_limit IN NUMBER,

     cost_limit IN NUMBER,

     no_of_solutions IN NUMBER,

     constraint IN VARCHAR2 DEFAULT NULL

     ) RETURN SDO_NUMBER_ARRAY;

説明

2つのノード間のパスをすべて戻します。

パラメータ

net_mem

ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(SDO_NET_MEM.NETWORK_MANAGER.READ_NETWORKプロシージャで作成済)が使用されます。

start_node_id

パスを探すノードのペアを構成する開始ノードのノードIDを指定します。

goal_node_id

パスを探すノードのペアを構成する終了ノード(目標ノード)のノードIDを指定します。

depth_limit

結果として戻されるパスのリンクの最大数を指定します。このパラメータがNULLの場合、リンクの最大数は適用されません。

constraintパラメータ値が指定されている場合、このパラメータは無視されます。

cost_limit

パスに含まれるリンクの最大コスト合計値を指定します。このパラメータがNULLの場合、コスト制限は適用されません。

constraintパラメータ値が指定されている場合、このパラメータは無視されます。

no_of_solutions

戻すパスの数の最大値を指定します。このパラメータがNULLの場合、このファンクションの他の条件を満たすすべてのパスが戻されます。

constraint

適用するネットワーク制約の名前を指定します。このパラメータがNULLの場合、ネットワーク制約は適用されません。(ネットワーク制約の詳細は、5.6項を参照してください。)

constraintがNULLでない場合、depth_limitおよびcost_limit値はすべて無視されます。

使用上の注意

このファンクションは、指定されたネットワーク・メモリー・オブジェクト内にある、開始ノードと終了ノード(目標ノード)間のパスを戻します。ネットワーク・メモリー・オブジェクトを使用した編集とネットワーク分析の操作については、5.8項を参照してください。

このファンクションの動作は、クライアント側のJava APIに含まれるNetworkManagerクラス(5.11.2項を参照)のallPathsメソッドを使用する場合に似ています。

次の例では、現在のネットワーク・メモリー・オブジェクトにある、ノードID値が101と105のノード間のパスの中で、コスト値が200以下のものを最大で5つ戻します。また、戻す各パスに関する情報も示します。(この例は、5.13.4項例5-5からの抜粋です。)

res_array := SDO_NET_MEM.NETWORK_MANAGER.ALL_PATHS(net_mem,101,105,10,200,5);
DBMS_OUTPUT.PUT_LINE('For each path from node 101 to node 105: ');
FOR indx IN res_array.FIRST..res_array.LAST
LOOP
  res_numeric := res_array(indx);
  DBMS_OUTPUT.PUT_LINE('Path ' || res_numeric ||
                       ' has the following properties: ');
  cost := SDO_NET_MEM.PATH.GET_COST(net_mem, res_numeric);
  DBMS_OUTPUT.PUT_LINE('Path ' || res_numeric || ' cost: ' || cost);
  res_string := SDO_NET_MEM.PATH.IS_CLOSED(net_mem, res_array(indx));  
  DBMS_OUTPUT.PUT_LINE('Is path ' || res_numeric || ' closed? ' || res_string);       
END LOOP;

For each path from node 101 to node 105:                                        
Path 7 has the following properties:                                                
Path 7 cost: 50                                                                 
Is path 7 closed? FALSE                                                         
Path 8 has the following properties:                                                
Path 8 cost: 70                                                                 
Is path 8 closed? FALSE                                                         
Path 9 has the following properties:                                                
Path 9 cost: 70                                                                 
Is path 9 closed? FALSE                                                         
Path 10 has the following properties:                                               
Path 10 cost: 90                                                                
Is path 10 closed? FALSE                                                        
Path 11 has the following properties:                                               
Path 11 cost: 120                                                               
Is path 11 closed? FALSE

SDO_NET_MEM.NETWORK_MANAGER.CREATE_LOGICAL_NETWORK

構文

SDO_NET_MEM.NETWORK_MANAGER.CREATE_LOGICAL_NETWORK(

     network_name IN VARCHAR2,

     no_of_hierarchy_levels IN NUMBER,

     is_directed IN VARCHAR2,

     node_table_name IN VARCHAR2 DEFAULT NULL,

     node_cost_column IN VARCHAR2 DEFAULT NULL,

     link_table_name IN VARCHAR2 DEFAULT NULL,

     link_cost_column IN VARCHAR2 DEFAULT NULL,

     path_table_name IN VARCHAR2 DEFAULT NULL,

     path_link_table_name IN VARCHAR2 DEFAULT NULL,

     sub_path_table_name IN VARCHAR2 DEFAULT NULL,

     is_complex IN VARCHAR2 DEFAULT 'FALSE');

説明

論理ネットワークを作成してすべての必要な表を作成し、そのネットワークのメタデータを更新します。

パラメータ

network_name

ネットワーク名です。

no_of_hierarchy_levels

ネットワーク内のリンクの階層レベルの数を指定します。(ネットワーク階層については、5.5項を参照してください。)

is_directed

文字列値を指定します。リンクが有向リンクである場合はTRUE、無向リンクの場合(有向リンクでない場合)はFALSEを指定します。

node_table_name

作成するノード表の名前を指定します。(ノード表については、5.9.1項を参照してください。)このパラメータがNULLの場合、ノード表の名前は、<ネットワーク名>_NODE$の形式になります。

node_cost_column

ノード表のコスト列の名前を指定します。(ノード表については、5.9.1項を参照してください。)このパラメータがNULLの場合、コスト列名はCOSTです。

link_table_name

作成するリンク表の名前を指定します。(リンク表については、5.9.2項を参照してください。)このパラメータがNULLの場合、リンク表の名前は、<ネットワーク名>_LINK$の形式になります。

link_cost_column

リンク表のコスト列の名前を指定します。(リンク表については、5.9.2項を参照してください。)このパラメータがNULLの場合、コスト列名はCOSTです。

path_table_name

作成するパス表の名前を指定します。(パス表については、5.9.3項を参照してください。)このパラメータがNULLの場合、パス表の名前は、<ネットワーク名>_PATH$の形式になります。

path_link_table_name

作成するパスリンク表の名前を指定します。(パスリンク表については、5.9.4項を参照してください。)このパラメータがNULLの場合、パスリンク表の名前は、<ネットワーク名>_PLINK$の形式になります。

sub_path_table_name

作成するサブパス表の名前を指定します。(サブパス表については、5.9.5項を参照してください。)このパラメータがNULLの場合、サブパス表の名前は、<ネットワーク名>_SPATH$の形式になります。

is_complex

将来使用するために予約されています。今回のリリースでは、無視されます。

使用上の注意

このプロシージャは、ネットワーク・メモリー・オブジェクト内に論理ネットワークを作成します(ネットワーク・メモリー・オブジェクトの使用方法については、5.8項を参照)。

このプロシージャは、ノード、リンクおよびオプションの関連表が存在しないときに論理ネットワークを作成する場合に役立ちます。プロシージャがメモリー内にネットワークを作成します。SDO_NET_MEM.NETWORK_MANAGER.WRITE_NETWORKプロシージャを使用して、データベースにネットワーク・オブジェクトを保存すると、ネットワークのノード、リンク、パスおよびパスリンクの各表が作成され、xxx_SDO_NETWORK_METADATAビュー(5.10.1項を参照)に適切な情報が挿入されます。

次の例では、MY_LOGICAL_NETという名前の論理ネットワークを作成します。このネットワークは、階層レベルが2つある無向ネットワーク(is_directed'FALSE')です。

EXECUTE SDO_NET_MEM.NETWORK_MANAGER.CREATE_LOGICAL_NETWORK('MY_LOGICAL_NET', -
  2, 'FALSE', 'MY_NODE_TABLE', 'COST', 'MY_LINK_TABLE', 'COST', -
  'MY_PATH_TABLE', 'MY_PATHLINK_TABLE', 'FALSE');

SDO_NET_MEM.NETWORK_MANAGER.CREATE_LRS_NETWORK

構文

SDO_NET_MEM.NETWORK_MANAGER.CREATE_LRS_NETWORK(

     network_name IN VARCHAR2,

     no_of_hierarchy_levels IN NUMBER,

     is_directed IN VARCHAR2,

     srid IN NUMBER,

     no_of_dims IN NUMBER,

     node_table_name IN VARCHAR2 DEFAULT NULL,

     node_cost_column IN VARCHAR2 DEFAULT NULL,

     link_table_name IN VARCHAR2 DEFAULT NULL,

     link_cost_column IN VARCHAR2 DEFAULT NULL,

     lrs_table_name IN VARCHAR2,

     lrs_geom_column IN VARCHAR2,

     path_table_name IN VARCHAR2 DEFAULT NULL,

     path_geom_column IN VARCHAR2 DEFAULT NULL,

     path_link_table_name IN VARCHAR2 DEFAULT NULL,

     sub_path_table_name IN VARCHAR2 DEFAULT NULL,

     sub_path_geom_column IN VARCHAR2 DEFAULT NULL,

     is_complex IN VARCHAR2 DEFAULT 'FALSE');

説明

LRSのSDO_GEOMETRYオブジェクトを含む空間ネットワークを作成してすべての必要な表を作成し、ネットワークのメタデータを更新します。

パラメータ

network_name

ネットワーク名です。

no_of_hierarchy_levels

ネットワーク内のリンクの階層レベルの数を指定します。(ネットワーク階層については、5.5項を参照してください。)

is_directed

文字列値を指定します。リンクが有向リンクである場合はTRUE、無向リンクの場合(有向リンクでない場合)はFALSEを指定します。

srid

ネットワークに関連付けられた座標系(空間参照システム)を指定します。NULL(座標系が関連付けられていない場合)またはSDO_COORD_REF_SYS表(『Oracle Spatial開発者ガイド』を参照)のSRID列の値のいずれかを指定する必要があります。

no_of_dims

データの次元数(LRSメジャー次元を含む)を指定します。

node_table_name

作成するノード表の名前を指定します。(ノード表については、5.9.1項を参照してください。)このパラメータがNULLの場合、ノード表の名前は、<ネットワーク名>_NODE$の形式になります。

node_cost_column

ノード表のコスト列の名前を指定します。(ノード表については、5.9.1項を参照してください。)このパラメータがNULLの場合、コスト列名はCOSTです。

link_table_name

作成するリンク表の名前を指定します。(リンク表については、5.9.2項を参照してください。)このパラメータがNULLの場合、リンク表の名前は、<ネットワーク名>_LINK$の形式になります。

link_cost_column

リンク表のコスト列の名前を指定します。(リンク表については、5.9.2項を参照してください。)このパラメータがNULLの場合、コスト列名はCOSTです。

lrs_table_name

空間LRSジオメトリに対して作成する表の名前を指定します。

lrs_geom_column

空間LRSジオメトリの表に含まれるSDO_GEOMETRY型の列の名前を指定します。

path_table_name

作成するパス表の名前を指定します。(パス表については、5.9.3項を参照してください。)このパラメータがNULLの場合、パス表の名前は、<ネットワーク名>_PATH$の形式になります。

path_geom_column

パス表のSDO_GEOMETRY型の列の名前を指定します。このパラメータがNULLの場合、ジオメトリ列名はGEOMETRYです。

path_link_table_name

作成するパスリンク表の名前を指定します。(パスリンク表については、5.9.4項を参照してください。)このパラメータがNULLの場合、パスリンク表の名前は、<ネットワーク名>_PLINK$の形式になります。

sub_path_table_name

作成するサブパス表の名前を指定します。(サブパス表については、5.9.5項を参照してください。)このパラメータがNULLの場合、サブパス表の名前は、<ネットワーク名>_SPATH$の形式になります。

sub_path_geom_column

サブパス表のSDO_GEOMETRY型の列の名前を指定します。このパラメータがNULLの場合、ジオメトリ列名はGEOMETRYです。

is_complex

将来使用するために予約されています。今回のリリースでは、無視されます。

使用上の注意

このプロシージャは、ネットワーク・メモリー・オブジェクト内に空間LRSネットワークを作成します(ネットワーク・メモリー・オブジェクトの使用方法については、5.8項を参照)。

このプロシージャは、ノード、リンクおよびオプションの関連表が存在しないときに空間LRSネットワークを作成する場合に役立ちます。プロシージャがメモリー内にネットワークを作成します。SDO_NET_MEM.NETWORK_MANAGER.WRITE_NETWORKプロシージャを使用して、データベースにネットワーク・オブジェクトを保存すると、ネットワークのノード、リンク、パスおよびパスリンクの各表が作成され、xxx_SDO_NETWORK_METADATAビュー(5.10.1項を参照)に適切な情報が挿入されます。

次の例では、MY_LRS_NETという名前のLRSネットワークを作成します。このネットワークは、階層レベルが1つの無向ネットワーク(is_directed'FALSE')で、SRID 8307をベースとして、3次元ジオメトリがあります。

EXECUTE SDO_NET_MEM.NETWORK_MANAGER.CREATE_LRS_NETWORK('MY_LRS_NET', -
  1, 'FALSE', 8307, 3, 'MY_NODE_TABLE', 'COST', 'MY_LINK_TABLE', 'COST', -
  'MY_LRS_TABLE', 'GEOM', 'MY_PATH_TABLE', 'GEOM', -
  'MY_PATHLINK_TABLE', 'FALSE');

SDO_NET_MEM.NETWORK_MANAGER.CREATE_REF_CONSTRAINTS

構文

SDO_NET_MEM.NETWORK_MANAGER.CREATE_REF_CONSTRAINTS(

     network IN VARCHAR2);

説明

リンク表とパス表の参照整合性制約を作成します。

パラメータ

network

ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(SDO_NET_MEM.NETWORK_MANAGER.READ_NETWORKプロシージャで作成済)が使用されます。

使用上の注意

このプロシージャは、リンク表とパス表の参照整合性制約をネットワーク・メモリー・オブジェクト内に作成します(ネットワーク・メモリー・オブジェクトの使用方法については、5.8項を参照)。

作成された参照整合性制約は、自動的に使用可能になります。参照整合性制約は、SDO_NET_MEM.NETWORK_MANAGER.DISABLE_REF_CONSTRAINTSプロシージャをコールして使用不可にし、SDO_NET_MEM.NETWORK_MANAGER.ENABLE_REF_CONSTRAINTSプロシージャをコールして再び使用可能にできます。

このプロシージャの動作は、クライアント側のJava APIに含まれるNetworkManagerクラス(5.11.2項を参照)のcreateRefConstraintsメソッドを使用する場合に似ています。

次の例では、ROADS_NETWORKという名前のネットワークのネットワーク・メモリー・オブジェクトにリンク表とパス表の参照整合性制約を作成します。

EXECUTE SDO_NET_MEM.NETWORK_MANAGER.CREATE_REF_CONSTRAINTS('ROADS_NETWORK');

SDO_NET_MEM.NETWORK_MANAGER.CREATE_SDO_NETWORK

構文

SDO_NET_MEM.NETWORK_MANAGER.CREATE_SDO_NETWORK(

     network_name IN VARCHAR2,

     no_of_hierarchy_levels IN NUMBER,

     is_directed IN VARCHAR2,

     srid IN NUMBER,

     no_of_dims IN NUMBER,

     node_table_name IN VARCHAR2 DEFAULT NULL,

     node_geom_column IN VARCHAR2 DEFAULT NULL,

     node_cost_column IN VARCHAR DEFAULT NULL2,

     link_table_name IN VARCHAR2 DEFAULT NULL,

     link_geom_column IN VARCHAR2 DEFAULT NULL,

     link_cost_column IN VARCHAR2 DEFAULT NULL,

     path_table_name IN VARCHAR2 DEFAULT NULL,

     path_geom_column IN VARCHAR2 DEFAULT NULL,

     path_link_table_name IN VARCHAR2 DEFAULT NULL,

     sub_path_table_name IN VARCHAR2 DEFAULT NULL,

     sub_path_geom_column IN VARCHAR2 DEFAULT NULL,

     is_complex IN VARCHAR2 DEFAULT 'FALSE');

説明

非LRSのSDO_GEOMETRYオブジェクトを含む空間ネットワークを作成してすべての必要な表を作成し、ネットワークのメタデータを更新します。

パラメータ

network_name

ネットワーク名です。

no_of_hierarchy_levels

ネットワーク内のリンクの階層レベルの数を指定します。(ネットワーク階層については、5.5項を参照してください。)

is_directed

文字列値を指定します。リンクが有向リンクである場合はTRUE、無向リンクの場合(有向リンクでない場合)はFALSEを指定します。

srid

ネットワークに関連付けられた座標系(空間参照システム)を指定します。NULL(座標系が関連付けられていない場合)またはSDO_COORD_REF_SYS表(『Oracle Spatial開発者ガイド』を参照)のSRID列の値のいずれかを指定する必要があります。

no_of_dims

空間データの次元数を指定します。

node_table_name

作成するノード表の名前を指定します。(ノード表については、5.9.1項を参照してください。)このパラメータがNULLの場合、ノード表の名前は、<ネットワーク名>_NODE$の形式になります。

node_geom_column

ノード表のSDO_GEOMETRY型の列の名前。(ノード表については、5.9.1項を参照してください。)このパラメータがNULLの場合、ジオメトリ列名はGEOMETRYです。

node_cost_column

ノード表のコスト列の名前を指定します。(ノード表については、5.9.1項を参照してください。)このパラメータがNULLの場合、コスト列名はCOSTです。

link_table_name

作成するリンク表の名前を指定します。(リンク表については、5.9.2項を参照してください。)このパラメータがNULLの場合、リンク表の名前は、<ネットワーク名>_LINK$の形式になります。

link_geom_column

リンク表のSDO_GEOMETRY型の列の名前。(リンク表については、5.9.2項を参照してください。)このパラメータがNULLの場合、ジオメトリ列名はGEOMETRYです。

link_cost_column

リンク表のコスト列の名前を指定します。(リンク表については、5.9.2項を参照してください。)このパラメータがNULLの場合、コスト列名はCOSTです。

path_table_name

作成するパス表の名前を指定します。(パス表については、5.9.3項を参照してください。)このパラメータがNULLの場合、パス表の名前は、<ネットワーク名>_PATH$の形式になります。

path_geom_column

パス表のSDO_GEOMETRY型の列の名前を指定します。(パス表については、5.9.3項を参照してください。)このパラメータがNULLの場合、ジオメトリ列名はGEOMETRYです。

path_link_table_name

作成するパスリンク表の名前を指定します。(パスリンク表については、5.9.4項を参照してください。)このパラメータがNULLの場合、パスリンク表の名前は、<ネットワーク名>_PLINK$の形式になります。

sub_path_table_name

作成するサブパス表の名前を指定します。(サブパス表については、5.9.5項を参照してください。)このパラメータがNULLの場合、サブパス表の名前は、<ネットワーク名>_SPATH$の形式になります。

sub_path_geom_column

パス表のSDO_GEOMETRY型の列の名前を指定します。(パス表については、5.9.3項を参照してください。)このパラメータがNULLの場合、ジオメトリ列名はGEOMETRYです。

is_complex

将来使用するために予約されています。今回のリリースでは、無視されます。

使用上の注意

このプロシージャは、ネットワーク・メモリー・オブジェクト内に空間(SDO)ネットワークを作成します(ネットワーク・メモリー・オブジェクトの使用方法については、5.8項を参照)。

このプロシージャは、ノード、リンクおよびオプションの関連表が存在しないときに空間(SDO)ネットワークを作成する場合に役立ちます。プロシージャがメモリー内にネットワークを作成します。SDO_NET_MEM.NETWORK_MANAGER.WRITE_NETWORKプロシージャを使用して、データベースにネットワーク・オブジェクトを保存すると、ネットワークのノード、リンク、パスおよびパスリンクの各表が作成され、xxx_SDO_NETWORK_METADATAビュー(5.10.1項を参照)に適切な情報が挿入されます。

次の例では、MY_SDO_NETという名前のSDOネットワークを作成します。このネットワークは、階層レベルが1つの無向ネットワーク(is_directed'FALSE')で、SRID 8307をベースとして、2次元ジオメトリがあります。

EXECUTE SDO_NET_MEM.NETWORK_MANAGER.CREATE_SDO_NETWORK('MY_SDO_NET', -
  1, 'FALSE', 8307, 2, -
  'MY_NODE_TABLE', 'GEOM', 'COST', 'MY_LINK_TABLE', 'GEOM', 'COST', -
  'MY_PATH_TABLE', 'GEOM', 'MY_PATHLINK_TABLE', 'FALSE');

SDO_NET_MEM.NETWORK_MANAGER.DEREGISTER_CONSTRAINT

構文

SDO_NET_MEM.NETWORK_MANAGER.DEREGISTER_CONSTRAINT(

     constraint_name IN VARCHAR2);

説明

データベースのJavaリポジトリから、指定したネットワーク制約のクラスをアンロード(削除)し、USER_SDO_NETWORK_CONSTRAINTSビュー(5.10.2項を参照)から該当する制約の行を削除します。


注意:

このプロシージャは非推奨となっており、将来のリリースではサポートされません。代わりに、SDO_NET.DEREGISTER_CONSTRAINTプロシージャを使用することをお薦めします。

パラメータ

constraint_name

ネットワーク制約の名前を指定します。USER_SDO_NETWORK_CONSTRAINTSビューのCONSTRAINT列の値を一致させる必要があります。

使用上の注意

このプロシージャは、SDO_NET_MEM.NETWORK_MANAGER.REGISTER_CONSTRAINTプロシージャなどで、すでに有効化されているネットワーク制約を無効にする場合に使用します。ネットワーク制約の詳細は、5.6項を参照してください。

このプロシージャの動作は、クライアント側のJava APIに含まれるNetworkManagerクラス(5.11.2項を参照)のderegisterConstraintメソッドを使用する場合に似ています。

次の例では、GivenProhibitedTurnという名前のネットワーク制約を登録解除(無効化)します。

EXECUTE SDO_NET_MEM.NETWORK_MANAGER.DEREGISTER_CONSTRAINT('GivenProhibitedTurn');

SDO_NET_MEM.NETWORK_MANAGER.DISABLE_REF_CONSTRAINTS

構文

SDO_NET_MEM.NETWORK_MANAGER.DISABLE_REF_CONSTRAINTS(

     network IN VARCHAR2);

説明

リンク表とパス表の参照整合性制約を使用不可にします。

パラメータ

network

ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(SDO_NET_MEM.NETWORK_MANAGER.READ_NETWORKプロシージャで作成済)が使用されます。

使用上の注意

このプロシージャは、ネットワーク・メモリー・オブジェクト内の、リンク表とパス表の参照整合性制約(SDO_NET_MEM.NETWORK_MANAGER.CREATE_REF_CONSTRAINTSで作成)を使用不可にします(ネットワーク・メモリー・オブジェクトの使用方法については、5.8項を参照)。

作成された参照整合性制約は、自動的に使用可能になります。参照整合性制約は、SDO_NET_MEM.NETWORK_MANAGER.DISABLE_REF_CONSTRAINTSプロシージャをコールして使用不可にし、SDO_NET_MEM.NETWORK_MANAGER.ENABLE_REF_CONSTRAINTSプロシージャをコールして再び使用可能にできます。

このプロシージャの動作は、クライアント側のJava APIに含まれるNetworkManagerクラス(5.11.2項を参照)のdisableRefConstraintsメソッドを使用する場合に似ています。

次の例では、ROADS_NETWORKという名前のネットワークのネットワーク・メモリー・オブジェクト内のリンク表とパス表の参照整合性制約を使用不可にします。

EXECUTE SDO_NET_MEM.NETWORK_MANAGER.DISABLE_REF_CONSTRAINTS('ROADS_NETWORK');

SDO_NET_MEM.NETWORK_MANAGER.DROP_NETWORK

構文

SDO_NET_MEM.NETWORK_MANAGER.DROP_NETWORK(

     net_mem IN VARCHAR2);

説明

ネットワークを削除します。

パラメータ

net_mem

ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(SDO_NET_MEM.NETWORK_MANAGER.READ_NETWORKプロシージャで作成済)が使用されます。

使用上の注意

このプロシージャは、ネットワーク・メモリー・オブジェクト内のネットワークを削除します(ネットワーク・メモリー・オブジェクトの使用方法については、5.8項を参照)。

このプロシージャの動作は、クライアント側のJava APIに含まれるNetworkManagerクラス(5.11.2項を参照)のdropNetworkメソッドを使用する場合に似ています。

次の例では、ROADS_NETWORKという名前のネットワークのネットワーク・メモリー・オブジェクトからネットワークを削除します。

EXECUTE SDO_NET_MEM.NETWORK_MANAGER.DROP_NETWORK('ROADS_NETWORK');

SDO_NET_MEM.NETWORK_MANAGER.ENABLE_REF_CONSTRAINTS

構文

SDO_NET_MEM.NETWORK_MANAGER.ENABLE_REF_CONSTRAINTS(

     network IN VARCHAR2);

説明

リンク表とパス表の参照整合性制約を使用可能にします。

パラメータ

network

ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(SDO_NET_MEM.NETWORK_MANAGER.READ_NETWORKプロシージャで作成済)が使用されます。

使用上の注意

このプロシージャは、ネットワーク・メモリー・オブジェクト内の、(SDO_NET_MEM.NETWORK_MANAGER.DISABLE_REF_CONSTRAINTSプロシージャで使用不可にしていた)リンク表とパス表の参照整合性制約を使用可能にします。ネットワーク・メモリー・オブジェクトの使用方法については、5.8項を参照してください。

作成された参照整合性制約は、自動的に使用可能になります。参照整合性制約は、SDO_NET_MEM.NETWORK_MANAGER.DISABLE_REF_CONSTRAINTSプロシージャをコールして使用不可にし、SDO_NET_MEM.NETWORK_MANAGER.ENABLE_REF_CONSTRAINTSプロシージャをコールして再び使用可能にできます。

このプロシージャの動作は、クライアント側のJava APIに含まれるNetworkManagerクラス(5.11.2項を参照)のenableRefConstraintsメソッドを使用する場合に似ています。

次の例では、ROADS_NETWORKという名前のネットワークのネットワーク・メモリー・オブジェクト内にある、リンク表とパス表の参照整合性制約を使用可能にします。

EXECUTE SDO_NET_MEM.NETWORK_MANAGER.ENABLE_REF_CONSTRAINTS('ROADS_NETWORK');

SDO_NET_MEM.NETWORK_MANAGER.FIND_CONNECTED_COMPONENTS

構文

SDO_NET_MEM.NETWORK_MANAGER.FIND_CONNECTED_COMPONENTS(

     net_mem IN VARCHAR2

     ) RETURN NUMBER;

説明

接続されているコンポーネントのグループの数を戻します。

パラメータ

net_mem

ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(SDO_NET_MEM.NETWORK_MANAGER.READ_NETWORKプロシージャで作成済)が使用されます。

使用上の注意

このファンクションは、指定されたネットワーク・メモリー・オブジェクト内の接続されているコンポーネントの数を戻します。ネットワーク・メモリー・オブジェクトを使用した編集とネットワーク分析の操作については、5.8項を参照してください。

接続されているコンポーネントとは、リンクによって接続されたノードのグループのことで、グループ内のノードは同じグループ内の他のすべてのノードと相互に到達できるようになっています。たとえば、5.13.4項例5-5に示す論理ネットワークには、接続されているコンポーネントのグループが2つあり、その1つのグループでは、階層レベル1内のすべてのノードが同じレベルの他のすべてのノードと相互に到達可能で、もう1つのグループでは、階層レベル2内の2つのノードが相互に到達可能です。

同じコンポーネントに属しているノードの場合、そのコンポーネント番号は同じです。ノードのコンポーネント番号を取得するには、SDO_NET_MEM.NODE.GET_COMPONENT_NOファンクションを使用します。ノードのコンポーネント番号を設定するには、SDO_NET_MEM.NODE.SET_COMPONENT_NOプロシージャを使用します。

このファンクションの動作は、クライアント側のJava APIに含まれるNetworkManagerクラス(5.11.2項を参照)のfindConnectedComponentsメソッドを使用する場合に似ています。

次の例では、現在のネットワーク・メモリー・オブジェクト内のリンクIDが1001のリンクについて、その子リンクを戻します。(この例は、5.13.4項例5-5からの抜粋です。)

res_numeric := SDO_NET_MEM.NETWORK_MANAGER.FIND_CONNECTED_COMPONENTS(net_mem);
DBMS_OUTPUT.PUT_LINE('The number of connected components is: ' || res_numeric);
. . .
The number of connected components is: 2

SDO_NET_MEM.NETWORK_MANAGER.FIND_REACHABLE_NODES

構文

SDO_NET_MEM.NETWORK_MANAGER.FIND_REACHABLE_NODES(

     net_mem IN VARCHAR2,

     source_node_id IN NUMBER,

     constraint IN VARCHAR2 DEFAULT NULL

     ) RETURN SDO_NUMBER_ARRAY;

説明

指定されたソース・ノードからパスによって到達可能なノードのノードID番号を戻します。

パラメータ

net_mem

ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(SDO_NET_MEM.NETWORK_MANAGER.READ_NETWORKプロシージャで作成済)が使用されます。

source_node_id

ソース・ノードのノードIDを指定します。

constraint

適用するネットワーク制約の名前を指定します。このパラメータがNULLの場合、ネットワーク制約は適用されません。(ネットワーク制約の詳細は、5.6項を参照してください。)

使用上の注意

このファンクションは、指定されたネットワーク・メモリー・オブジェクト内のノードID値のSDO_NUMBER_ARRAYオブジェクトを戻します。ネットワーク・メモリー・オブジェクトを使用した編集とネットワーク分析の操作については、5.8項を参照してください。

条件を満たす結果が見つからない場合、このファンクションはNULL値を戻します。

このファンクションの動作は、クライアント側のJava APIに含まれるNetworkManagerクラス(5.11.2項を参照)のfindReachableNodesメソッドを使用する場合に似ています。

次の例では、現在のネットワーク・メモリー・オブジェクト内のノードIDが101のノードについて、そのノードから到達可能なノードを戻します。(この例は、5.13.4項例5-5からの抜粋です。)

res_array := SDO_NET_MEM.NETWORK_MANAGER.FIND_REACHABLE_NODES(net_mem,101);
DBMS_OUTPUT.PUT_LINE('Reachable nodes from 101: ');
FOR indx IN res_array.FIRST..res_array.LAST
LOOP
  res_numeric := res_array(indx);
  DBMS_OUTPUT.PUT(res_numeric || ' ');
END LOOP;
DBMS_OUTPUT.PUT_LINE(' ');
. . .
Reachable nodes from 101:
103 102 104 106 105 107 108 109 110 113 111 112 114

SDO_NET_MEM.NETWORK_MANAGER.FIND_REACHING_NODES

構文

SDO_NET_MEM.NETWORK_MANAGER.FIND_REACHING_NODES(

     net_mem IN VARCHAR2,

     target_node_id IN NUMBER

     ) RETURN SDO_NUMBER_ARRAY;

説明

指定されたターゲット・ノードに(パスによって)到達可能なノードのノードID番号を戻します。

パラメータ

net_mem

ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(SDO_NET_MEM.NETWORK_MANAGER.READ_NETWORKプロシージャで作成済)が使用されます。

target_node_id

ターゲット・ノードのノードIDを指定します。

使用上の注意

このファンクションは、指定されたネットワーク・メモリー・オブジェクト内のノードID値のSDO_NUMBER_ARRAYオブジェクトを戻します。ネットワーク・メモリー・オブジェクトを使用した編集とネットワーク分析の操作については、5.8項を参照してください。

条件を満たす結果が見つからない場合、このファンクションはNULL値を戻します。

このファンクションの動作は、クライアント側のJava APIに含まれるNetworkManagerクラス(5.11.2項を参照)のfindReaching_Nodesメソッドを使用する場合に似ています。

次の例では、現在のネットワーク・メモリー・オブジェクト内のノードIDが101のノードについて、そのノードに到達可能なノードを戻します。(この例は、5.13.4項例5-5からの抜粋です。)

res_array := SDO_NET_MEM.NETWORK_MANAGER.FIND_REACHING_NODES(net_mem,101);
DBMS_OUTPUT.PUT_LINE('Nodes from which 101 can be reached: ');
FOR indx IN res_array.FIRST..res_array.LAST
LOOP
  res_numeric := res_array(indx);
  DBMS_OUTPUT.PUT(res_numeric || ' ');
END LOOP;
DBMS_OUTPUT.PUT_LINE(' ');
. . .
Nodes from which 101 can be reached:
103 102 104 106 105 107 108 109 110 113 111 112 114

SDO_NET_MEM.NETWORK_MANAGER.IS_REACHABLE

構文

SDO_NET_MEM.NETWORK_MANAGER.IS_REACHABLE(

     net_mem IN VARCHAR2,

     source_node_id IN NUMBER,

     target_node_id IN NUMBER,

     constraint IN VARCHAR2 DEFAULT NULL

     ) RETURN VARCHAR2;

説明

指定されたソース・ノードから指定されたターゲット・ノードにパスによって到達可能かどうかを確認します。

パラメータ

net_mem

ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(SDO_NET_MEM.NETWORK_MANAGER.READ_NETWORKプロシージャで作成済)が使用されます。

source_node_id

ソース・ノードのノードIDを指定します。

target_node_id

ターゲット・ノードのノードIDを指定します。

constraint

適用するネットワーク制約の名前を指定します。このパラメータがNULLの場合、ネットワーク制約は適用されません。(ネットワーク制約の詳細は、5.6項を参照してください。)

使用上の注意

このファンクションは、ソース・ノードからターゲット・ノードに到達可能な場合は文字列TRUEを戻し、到達不可能な場合は文字列FALSEを戻します。ネットワーク・メモリー・オブジェクトを使用した編集とネットワーク分析の操作については、5.8項を参照してください。

このファンクションの動作は、クライアント側のJava APIに含まれるNetworkManagerクラス(5.11.2項を参照)のisReachableメソッドを使用する場合に似ています。

次の例では、現在のネットワーク・メモリー・オブジェクト内のリンクIDが1001のリンクについて、その子リンクを戻します。(この例は、5.13.4項例5-5からの抜粋です。)

res_string := SDO_NET_MEM.NETWORK_MANAGER.IS_REACHABLE(net_mem,101,105);
DBMS_OUTPUT.PUT_LINE('Can node 101 reach node 105? ' || res_string);
. . .
Can node 101 reach node 105? TRUE

SDO_NET_MEM.NETWORK_MANAGER.LIST_NETWORKS

構文

SDO_NET_MEM.NETWORK_MANAGER.LIST_NETWORKS() RETURN VARCHAR2;

説明

ネットワークのリストを戻します。

パラメータ

なし

使用上の注意

このファンクションは、現在のネットワーク・メモリー・オブジェクト内のネットワークについて、その名前のカンマ区切りリストを戻します。ネットワーク・メモリー・オブジェクトを使用した編集とネットワーク分析の操作については、5.8項を参照してください。

次の例では、キャッシュにネットワーク・メモリー・オブジェクトがあるすべてのネットワークの名前を戻します。(この例は、5.13.3項例5-4からの抜粋です。)

res_string := SDO_NET_MEM.NETWORK_MANAGER.LIST_NETWORKS;
DBMS_OUTPUT.PUT_LINE('The current in-memory network(s) is/are: ' || res_string);
. . .
The current in-memory network(s) is/are: ROADS_NETWORK

SDO_NET_MEM.NETWORK_MANAGER.MCST_LINK

構文

SDO_NET_MEM.NETWORK_MANAGER.MCST_LINK(

     net_mem IN VARCHAR2

     ) RETURN SDO_NUMBER_ARRAY;

説明

最低コスト・スパニング・ツリーを戻します。

パラメータ

net_mem

ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(SDO_NET_MEM.NETWORK_MANAGER.READ_NETWORKプロシージャで作成済)が使用されます。

使用上の注意

このファンクションは、指定されたネットワーク・メモリー・オブジェクト内の最低コスト・スパニング・ツリーを構成するリンクについて、そのリンクID値のSDO_NUMBER_ARRAYオブジェクトを戻します。最低コスト・スパニング・ツリーとは、ネットワーク・メモリー・オブジェクト内のすべてのノードにアクセスするパスの中で、合計コストが最も低いパスのことです。ネットワーク・メモリー・オブジェクトを使用した編集とネットワーク分析の操作については、5.8項を参照してください。

最低コスト・スパニング・ツリーは、Kruskalのアルゴリズムを使用して決定されます。

このファンクションの動作は、クライアント側のJava APIに含まれるNetworkManagerクラス(5.11.2項を参照)のmcstLinkArrayメソッドを使用する場合に似ています。

次の例では、現在のネットワーク・メモリー・オブジェクトの最低コスト・スパニング・ツリーに含まれるリンクを戻します。(この例は、5.13.4項例5-5からの抜粋です。)

res_array := SDO_NET_MEM.NETWORK_MANAGER.MCST_LINK(net_mem);
DBMS_OUTPUT.PUT('Network ' || net_mem || ' has the following MCST links: ');
FOR indx IN res_array.FIRST..res_array.LAST
LOOP
  DBMS_OUTPUT.PUT(res_array(indx) || ' ');
END LOOP;
DBMS_OUTPUT.PUT_LINE(' ');
. . .
Network XYZ_NETWORK has the following MCST links: 1001 1101 1104 1107 1110 1114
1117 1102 1105 1108 1111 1115 1118 1113

SDO_NET_MEM.NETWORK_MANAGER.NEAREST_NEIGHBORS

構文

SDO_NET_MEM.NETWORK_MANAGER.NEAREST_NEIGHBORS(

     net_mem IN VARCHAR2,

     start_node_id IN NUMBER,

     no_of_neighbors IN NUMBER,

     constraint IN VARCHAR2 DEFAULT NULL

     ) RETURN SDO_NUMBER_ARRAY;

説明

指定された開始ノードに最も近いノードにつながるパスのパスID番号を戻します(ノードの遠近は、合計コストで決定されます)。

パラメータ

net_mem

ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(SDO_NET_MEM.NETWORK_MANAGER.READ_NETWORKプロシージャで作成済)が使用されます。

start_node_id

開始ノードのノードIDを指定します。

no_of_neighbors

戻すパスIDの最大数を指定します。

constraint

適用するネットワーク制約の名前を指定します。このパラメータがNULLの場合、ネットワーク制約は適用されません。(ネットワーク制約の詳細は、5.6項を参照してください。)

使用上の注意

このファンクションは、指定されたネットワーク・メモリー・オブジェクト内のパスID値のSDO_NUMBER_ARRAYオブジェクトを戻します。ネットワーク・メモリー・オブジェクトを使用した編集とネットワーク分析の操作については、5.8項を参照してください。

条件を満たす結果が見つからない場合、このファンクションはNULL値を戻します。

戻されたパスの終了ノードを調べるには、SDO_NET_MEM.PATH.GET_END_NODE_IDファンクションを使用します。戻されたパスのリンクを調べるには、SDO_NET_MEM.PATH.GET_LINK_IDSファンクションを使用します。

このファンクションの動作は、クライアント側のJava APIに含まれるNetworkManagerクラス(5.11.2項を参照)のnearestNeighborsメソッドを使用する場合に似ています。

次の例では、現在のネットワーク・メモリー・オブジェクト内のノードIDが101のノードについて、そのノードに最も近い3つのノードへのパスのパスIDを戻します。また、戻すパスごとにリンクのリンクIDも表示します。(この例は、5.13.4項例5-5からの抜粋です。)

res_array := SDO_NET_MEM.NETWORK_MANAGER.NEAREST_NEIGHBORS(net_mem,101,3);
DBMS_OUTPUT.PUT_LINE('Path IDs to the nearest 3 neighbors of node 101 are: ');
FOR indx IN res_array.FIRST..res_array.LAST
LOOP
  res_numeric := res_array(indx);
  DBMS_OUTPUT.PUT(res_numeric || ', which contains links: ');
  var1_array := SDO_NET_MEM.PATH.GET_LINK_IDS(net_mem, res_numeric);
  FOR indx1 IN var1_array.FIRST..var1_array.LAST
  LOOP
    var1_numeric := var1_array(indx1);
    DBMS_OUTPUT.PUT(var1_numeric || ' ');
  END LOOP;
  DBMS_OUTPUT.PUT_LINE(' ');
END LOOP;
. . .
Path IDs to the nearest 3 neighbors of node 101 are:                            
1, which contains links: 1101                                                   
2, which contains links: 1102                                                   
3, which contains links: 1102 1104

SDO_NET_MEM.NETWORK_MANAGER.READ_NETWORK

構文

SDO_NET_MEM.NETWORK_MANAGER.READ_NETWORK(

     net_mem IN VARCHAR2,

     allow_updates IN VARCHAR2);

または

SDO_NET_MEM.NETWORK_MANAGER.READ_NETWORK(

     net_mem IN VARCHAR2,

     network IN VARCHAR2,

     xmin IN NUMBER,

     ymin IN NUMBER,

     xmax IN NUMBER,

     ymax IN NUMBER,

     allow_updates IN VARCHAR2);

説明

仮想メモリー・キャッシュの中にネットワーク・メモリー・オブジェクトを作成し、ネットワーク内のすべてのネットワーク・オブジェクト(最初の構文)、または指定した最小境界矩形(MBR)内のオブジェクト(2番目の構文)を格納します。

パラメータ

net_mem

最初の構文では、ネットワークの名前を示し、このネットワークのネットワーク・オブジェクト(ノード、リンク、パス、サブパス)はいずれも、ネットワークと同じ名前を持つネットワーク・メモリー・オブジェクトにコピーされます。2番目の構文は、ユーザーが指定するネットワーク・メモリー・オブジェクトの名前で、これらのネットワーク・オブジェクトのみが、networkパラメータで指定されたネットワークのxminxmaxyminおよびymaxパラメータによって指定されたMBR内に完全に含められます。

network

ネットワークの名前で、このネットワークからネットワーク・オブジェクト(ノード、リンク、パス)をネットワーク・メモリー・オブジェクトに追加します。xminxmaxyminおよびymaxパラメータによって指定されたMBR内のこれらのオブジェクトのみがロードされます。

xmin

MBRの最小X座標値を指定します。指定したネットワークのオブジェクトがネットワーク・メモリー・オブジェクトに追加されます。

ymin

MBRの最小Y座標値を指定します。指定したネットワークのオブジェクトがネットワーク・メモリー・オブジェクトに追加されます。

xmax

MBRの最大X座標値を指定します。指定したネットワークのオブジェクトがネットワーク・メモリー・オブジェクトに追加されます。

ymax

MBRの最大Y座標値を指定します。指定したネットワークのオブジェクトがネットワーク・メモリー・オブジェクトに追加されます。

allow_updates

TRUEを指定すると、ネットワーク・メモリー・オブジェクトが更新可能になり、キャッシュ内での編集操作を実行して、それをデータベースに書き込むことができます。FALSEを指定すると、ネットワーク・メモリー・オブジェクトが読取り専用になり、キャッシュ内での編集操作も、それをデータベースに書き込むこともできません。

使用上の注意

このプロシージャは、ネットワーク・メモリー・オブジェクトを作成します(その使用方法については、5.8項を参照)。

情報の取得またはネットワーク分析操作のみが必要な場合は、allow_updatesパラメータにFALSEを指定すると、パフォーマンスが向上します。

allow_updatesTRUEとして指定されている場合、ネットワーク表(ノード、リンク、パスおよびパスリンク)内の行は、データベースのレベルで(SELECT ...FOR UPDATE NOWAIT文を使用して)ロックされます。これにより、ロックされた要素に対する更新操作または削除操作が他のSQLセッション内で禁止されます。ただし、他のセッションでの挿入操作は可能です。

このプロシージャの動作は、クライアント側のJava APIに含まれるNetworkManagerクラス(5.11.2項を参照)のreadNetworkメソッドを使用する場合に似ています。

次の例では、NET_LOGICALという名前のネットワーク内のすべてのネットワーク・オブジェクトを、更新可能(allow_updates'TRUE')なネットワーク・メモリー・オブジェクトにコピーします。

SDO_NET_MEM.NETWORK_MANAGER.READ_NETWORK('NET_LOGICAL', 'TRUE');

次の例では、HILLSBOROUGH_NETWORKという名前のネットワークの指定されたエリア内のすべてのネットワーク・オブジェクトを、読取り専用の(allow_updates'FALSE')HILLS_PART1という名前のネットワーク・メモリー・オブジェクトにコピーします。ロードされるオブジェクトは、1つの隅の経度/緯度座標が-71.64, 43.32で、もう1つの隅の経度/緯度座標が-71.32, 43.64の長方形の範囲内にあります。(通常のマップでは、これらは、それぞれ左下隅および右上隅となります。)

SDO_NET_MEM.NETWORK_MANAGER.READ_NETWORK('HILLS_PART1', 'HILLSBOROUGH_NETWORK', -71.64, 43.32, -71.32, 43.64, 'FALSE');

SDO_NET_MEM.NETWORK_MANAGER.REGISTER_CONSTRAINT

構文

SDO_NET_MEM.NETWORK_MANAGER.REGISTER_CONSTRAINT(

     constraint_name IN VARCHAR2,

     class_name IN VARCHAR2,

     directory_name IN VARCHAR2,

     description IN VARCHAR2);

説明

指定したネットワーク制約用にコンパイルしたJavaコードをデータベース内のJavaクラス・リポジトリにロードし、クラス名をUSER_SDO_NETWORK_CONSTRAINTSビュー(5.10.2項を参照)のCLASS列にロードします。


注意:

このプロシージャは非推奨となっており、将来のリリースではサポートされません。代わりに、SDO_NET.REGISTER_CONSTRAINTプロシージャを使用することをお薦めします。

パラメータ

constraint_name

ネットワーク制約の名前を指定します。

class_name

ネットワーク制約を実装するクラスの完全修飾名(パッケージの名前を含む)を指定します。

directory_name

ネットワーク制約をコンパイルしたときに作成されたクラス・ファイルの場所を特定する、ディレクトリ・オブジェクト(SQL文のCREATE DIRECTORYで作成)の名前を指定します。

description

ネットワーク制約の説明を記述します。

使用上の注意

このプロシージャをコールする前に、USER_SDO_NETWORK_CONSTRAINTSビューに行を挿入し、ネットワーク制約を実装するJavaクラスのコードをコンパイルし、コンパイルされたクラスの場所を特定するディレクトリ・オブジェクトをCREATE DIRECTORY文を使用して作成する必要があります。ネットワーク制約の詳細は、5.6項を参照してください。

USER_SDO_NETWORK_CONSTRAINTSビューから制約の行を削除して、その制約を無効にするには、SDO_NET_MEM.NETWORK_MANAGER.DEREGISTER_CONSTRAINTプロシージャを使用します。

このプロシージャの動作は、クライアント側のJava APIに含まれるNetworkManagerクラス(5.11.2項を参照)のregisterConstraintメソッドを使用する場合に似ています。

次の例では、GivenProhibitedTurnという名前のネットワーク制約を登録します。

-- Set up the network constraint.
REM
REM Create the geor_dir on the file system first.
REM
-- Connect as SYSTEM.
DECLARE 
  -- This is the directory that contains the CLASS file generated when you
  -- compiled the network constraint.
  geor_dir varchar2(1000) := 'C:\my_data\files81\PROTOTYPES\NETWORK_CONSTRAINT\PLSQL_EXAMPLE';
BEGIN 
  EXECUTE IMMEDIATE 'CREATE OR REPLACE DIRECTORY work_dir AS''' || geor_dir || ''''; 
END;
/
GRANT read,write on directory work_dir to net_con;
 
-- Connect as the user that will register the constraint. 
 
REM
REM Compile GivenProhibitedTurn before you register the constraint.
REM
BEGIN
  SDO_NET_MEM.NETWORK_MANAGER.REGISTER_CONSTRAINT('GivenProhibitedTurn', 
     'com/network/constraints/ProhibitedTurn',
     'WORK_DIR', 'This is a network constraint that '||
     'prohibits certain turns');
 
END;
/

SDO_NET_MEM.NETWORK_MANAGER.SHORTEST_PATH

構文

SDO_NET_MEM.NETWORK_MANAGER.SHORTEST_PATH(

     net_mem IN VARCHAR2,

     start_node_id IN NUMBER,

     goal_node_id IN NUMBER,

     constraint IN VARCHAR2 DEFAULT NULL

     ) RETURN NUMBER;

説明

開始ノードと目標ノード(終了ノード)間の最短パスのパスID番号を戻します(最短パスの判定はA*検索アルゴリズムとコスト検討に基づきます)。

パラメータ

net_mem

ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(SDO_NET_MEM.NETWORK_MANAGER.READ_NETWORKプロシージャで作成済)が使用されます。

start_node_id

開始ノードのノードIDを指定します。

goal_node_id

目標ノード(終了ノード)のノードIDを指定します。

constraint

適用するネットワーク制約の名前を指定します。このパラメータがNULLの場合、ネットワーク制約は適用されません。(ネットワーク制約の詳細は、5.6項を参照してください。)

使用上の注意

このファンクションは、指定されたネットワーク・メモリー・オブジェクト内のパスID値を戻します。ネットワーク・メモリー・オブジェクトを使用した編集とネットワーク分析の操作については、5.8項を参照してください。

指定されたノード間にパスを作成できない場合、このファンクションはNULL値を戻します。たとえば、1つ以上のノードまたはリンクがFALSEの場合に、それが原因ですべてのパスが無視されると、NULL値が戻されます。

戻されたパスのリンクを調べるには、SDO_NET_MEM.PATH.GET_LINK_IDSファンクションを使用します。

このファンクションの動作は、クライアント側のJava APIに含まれるNetworkManagerクラス(5.11.2項を参照)のshortestPathメソッドを使用する場合に似ています。

次の例では、現在のネットワーク・メモリー・オブジェクト内のノードIDが101と105のノードについて、それらのノード間の最短パスのパスIDを戻します。(この例は、5.13.4項例5-5からの抜粋です。)

res_numeric := SDO_NET_MEM.NETWORK_MANAGER.SHORTEST_PATH(net_mem,101,105);
DBMS_OUTPUT.PUT_LINE('The shortest path from node 101 to node 105 is path ID: ' || res_numeric);

SDO_NET_MEM.NETWORK_MANAGER.SHORTEST_PATH_DIJKSTRA

構文

SDO_NET_MEM.NETWORK_MANAGER.SHORTEST_PATH_DIJKSTRA(

     net_mem IN VARCHAR2,

     start_node_id IN NUMBER,

     goal_node_id IN NUMBER,

     constraint IN VARCHAR2 DEFAULT NULL

     ) RETURN NUMBER;

説明

開始ノードと目標ノード(終了ノード)間の最短パスのパスID番号を戻します(最短パスの判定はDijkstra検索アルゴリズムとコスト検討に基づきます)。

パラメータ

net_mem

ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(SDO_NET_MEM.NETWORK_MANAGER.READ_NETWORKプロシージャで作成済)が使用されます。

start_node_id

開始ノードのノードIDを指定します。

goal_node_id

目標ノード(終了ノード)のノードIDを指定します。

constraint

適用するネットワーク制約の名前を指定します。このパラメータがNULLの場合、ネットワーク制約は適用されません。(ネットワーク制約の詳細は、5.6項を参照してください。)

使用上の注意

このファンクションは、指定されたネットワーク・メモリー・オブジェクト内のパスID値を戻します。ネットワーク・メモリー・オブジェクトを使用した編集とネットワーク分析の操作については、5.8項を参照してください。

指定されたノード間にパスを作成できない場合、このファンクションはNULL値を戻します。たとえば、1つ以上のノードまたはリンクがFALSEの場合に、それが原因ですべてのパスが無視されると、NULL値が戻されます。

戻されたパスのリンクを調べるには、SDO_NET_MEM.PATH.GET_LINK_IDSファンクションを使用します。

このファンクションの動作は、クライアント側のJava APIに含まれるNetworkManagerクラス(5.11.2項を参照)のshortestPathDijkstraメソッドを使用する場合に似ています。

次の例では、現在のネットワーク・メモリー・オブジェクト内のノードIDが101と105のノードについて、それらのノード間の最短パスのパスIDを戻します(最短パスの決定はDijkstra検索アルゴリズムとコスト検討に基づきます)。また、戻すパスに関する情報も示します。(この例は、5.13.4項例5-5からの抜粋です。)

res_numeric := SDO_NET_MEM.NETWORK_MANAGER.SHORTEST_PATH_DIJKSTRA(net_mem,101,105);
DBMS_OUTPUT.PUT_LINE('The shortest Dijkstra path from node 101 to node 105 is ' || res_numeric);
 
DBMS_OUTPUT.PUT_LINE('The following are characteristics of this shortest path: ');
cost := SDO_NET_MEM.PATH.GET_COST(net_mem, res_numeric);
DBMS_OUTPUT.PUT_LINE('Path ' || res_numeric || ' cost: ' || cost);
res_string := SDO_NET_MEM.PATH.IS_CLOSED(net_mem, res_numeric);  
DBMS_OUTPUT.PUT_LINE('Is path ' || res_numeric || ' closed? ' || res_string);  
    
res_array := SDO_NET_MEM.PATH.GET_LINK_IDS(net_mem, res_numeric);   
DBMS_OUTPUT.PUT('Path ' || res_numeric || ' has links: ');
FOR indx IN res_array.FIRST..res_array.LAST
LOOP
  DBMS_OUTPUT.PUT(res_array(indx) || ' ');
END LOOP;
DBMS_OUTPUT.PUT_LINE(' ');

res_array := SDO_NET_MEM.PATH.GET_NODE_IDS(net_mem, res_numeric);   
DBMS_OUTPUT.PUT('Path ' || res_numeric || ' has nodes: ');
FOR indx IN res_array.FIRST..res_array.LAST
LOOP
  DBMS_OUTPUT.PUT(res_array(indx) || ' ');
END LOOP;
DBMS_OUTPUT.PUT_LINE(' ');
. . .
The shortest Dijkstra path from node 101 to node 105 is 13                      
The following are characteristics of this shortest path:                        
Path 13 cost: 50                                                                
Is path 13 closed? FALSE                                                        
Path 13 has links: 1102 1104 1105                                               
Path 13 has nodes: 101 103 104 105

SDO_NET_MEM.NETWORK_MANAGER.TSP_PATH

構文

SDO_NET_MEM.NETWORK_MANAGER.TSP_PATH(

     net_mem IN VARCHAR2,

     nd_array IN SDO_NUMBER_ARRAY,

     is_closed IN VARCHAR2,

     use_exact_cost IN VARCHAR2,

     constraint IN VARCHAR2 DEFAULT NULL

     ) RETURN NUMBER;

説明

指定されたすべてのノードを含み、コストまたは距離の点で最も効率のよいパスのパスID番号を戻しますが、戻されるこのパスは、指定されたノード・セットに対するTSP(巡回セールスマン問題)の解です。

パラメータ

net_mem

ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(SDO_NET_MEM.NETWORK_MANAGER.READ_NETWORKプロシージャで作成済)が使用されます。

nd_array

パスに含めるノードのノードID番号を指定するSDO_NUMBER_ARRAYオブジェクトを指定します。指定する最初のノードは常に、戻されるパスの開始ノードとなります。閉じたパスでは、指定する最初のノードは、戻されるパスの最後のノードにもなり、開いたパスでは、指定する最後のノードは、戻されるパスの最後のノードになります。

is_closed

パスが閉じていること(戻されるパスの開始ノードと終了ノードが同じノードであること)が必要な場合は文字列値TRUEを指定し、パスが開いていること(戻されるパスの終了ノードと開始ノードが別のノードであること)が必要な場合は文字列値FALSEを指定します。

use_exact_cost

TSPパスの計算に、リンクのコスト値を使用する場合は文字列値TRUEを指定し、リンクのデカルト距離を使用する場合は文字列値FALSEを指定します。

constraint

適用するネットワーク制約の名前を指定します。このパラメータがNULLの場合、ネットワーク制約は適用されません。(ネットワーク制約の詳細は、5.6項を参照してください。)

使用上の注意

このファンクションは、指定されたネットワーク・メモリー・オブジェクト内のパスID値を戻します。ネットワーク・メモリー・オブジェクトを使用した編集とネットワーク分析の操作については、5.8項を参照してください。

指定されたノードではTSPパスを作成できない場合、このファンクションはNULL値を戻します。たとえば、1つ以上のノードまたはリンクがFALSEの場合に、それが原因ですべてのパスが無視されると、NULL値が戻されます。

すべての要求条件を満たすパスが複数ある場合(たとえば、2つのパスの最小合計コストが等しい場合)は、そのいずれかのパスが戻されます。

戻されたパスのリンクを調べるには、SDO_NET_MEM.PATH.GET_LINK_IDSファンクションを使用します。

このファンクションの動作は、クライアント側のJava APIに含まれるNetworkManagerクラス(5.11.2項を参照)のtspPathメソッドを使用する場合に似ています。

次の例では、現在のネットワーク・メモリー・オブジェクト内のノードID 2で開始し、ノードID 4を通り、ノードID 6で終了する開いたTSPパスのパスIDを戻します。(この例は、5.13.3項例5-4からの抜粋です。)

res_numeric := SDO_NET_MEM.NETWORK_MANAGER.TSP_PATH(net_mem, sdo_number_array(2, 4, 6), 'FALSE', 'TRUE');
DBMS_OUTPUT.PUT_LINE('Open TSP path ID for N2, N4, N6: ' || res_numeric);
DBMS_OUTPUT.PUT_LINE('which contains these links: ');
var1_array := SDO_NET_MEM.PATH.GET_LINK_IDS(net_mem, res_numeric);
FOR indx1 IN var1_array.FIRST..var1_array.LAST
LOOP
  var1_numeric := var1_array(indx1);
  DBMS_OUTPUT.PUT(var1_numeric || ' ');
END LOOP;
DBMS_OUTPUT.PUT_LINE(' ');
. . .
Open TSP path ID for N2, N4, N6: 4                                        
which contains these links:                                                     
102 103 104 105  

SDO_NET_MEM.NETWORK_MANAGER.VALIDATE_NETWORK_SCHEMA

構文

SDO_NET_MEM.NETWORK_MANAGER.VALIDATE_NETWORK_SCHEMA(

     net_mem IN VARCHAR2

     ) RETURN VARCHAR2;

説明

ネットワーク表を検証します。

パラメータ

net_mem

ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(SDO_NET_MEM.NETWORK_MANAGER.READ_NETWORKプロシージャで作成済)が使用されます。

使用上の注意

この機能は、指定されたネットワーク・メモリー・オブジェクトのネットワークに関連する表が有効な場合、文字列TRUEを戻し、1つ以上の表が有効でない場合、特定のOracleエラー・メッセージを戻します。ネットワーク・メモリー・オブジェクトを使用した編集とネットワーク分析の操作については、5.8項を参照してください。

このファンクションの動作は、クライアント側のJava APIに含まれるNetworkManagerクラス(5.11.2項を参照)のvalidateNetworkSchemaメソッドを使用する場合に似ています。

次の例では、現在のネットワーク・メモリー・オブジェクト内のネットワーク表を検証します。(この例は、5.13.4項例5-5からの抜粋です。)

res_string := SDO_NET_MEM.NETWORK_MANAGER.VALIDATE_NETWORK_SCHEMA(net_mem);
 23  DBMS_OUTPUT.PUT_LINE('Is network ' || net_mem || ' valid? ' || res_string);
. . .
Is network XYZ_NETWORK valid? TRUE

SDO_NET_MEM.NETWORK_MANAGER.WITHIN_COST

構文

SDO_NET_MEM.NETWORK_MANAGER.WITHIN_COST(

     net_mem IN VARCHAR2,

     start_node_id IN NUMBER,

     cost_limit IN NUMBER,

     constraint IN VARCHAR2 DEFAULT NULL

     ) RETURN SDO_NUMBER_ARRAY;

説明

指定された開始ノードから指定コスト内で到達可能な各ノードへの最短パスのパスIDの配列を戻します。

パラメータ

net_mem

ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(SDO_NET_MEM.NETWORK_MANAGER.READ_NETWORKプロシージャで作成済)が使用されます。

start_node_id

開始ノードのノードIDを指定します。

cost_limit

合計パス・コストの最大値を指定します。

constraint

適用するネットワーク制約の名前を指定します。このパラメータがNULLの場合、ネットワーク制約は適用されません。(ネットワーク制約の詳細は、5.6項を参照してください。)

使用上の注意

このファンクションは、指定されたネットワーク・メモリー・オブジェクト内のパスID値のSDO_NUMBER_ARRAYオブジェクトを戻します。ネットワーク・メモリー・オブジェクトを使用した編集とネットワーク分析の操作については、5.8項を参照してください。

条件を満たす結果が見つからない場合、このファンクションはNULL値を戻します。

戻されたパスの終了ノードを調べるには、SDO_NET_MEM.PATH.GET_END_NODE_IDファンクションを使用します。戻されたパスのリンクを調べるには、SDO_NET_MEM.PATH.GET_LINK_IDSファンクションを使用します。

このファンクションの動作は、クライアント側のJava APIに含まれるNetworkManagerクラス(5.11.2項を参照)のwithinCostメソッドを使用する場合に似ています。

次の例では、現在のネットワーク・メモリー・オブジェクト内で、ノードID値が102のノードからコストが100以内で到達可能な各ノードへの最短パスのパスID値を戻します。また、戻すパスごとにその終了ノードも示します。(この例は、5.13.4項例5-5からの抜粋です。)

res_array := SDO_NET_MEM.NETWORK_MANAGER.WITHIN_COST(net_mem,102,100);
DBMS_OUTPUT.PUT('Shortest path IDs to nodes within cost of 100 from node 102: ');
DBMS_OUTPUT.PUT_LINE(' ');
FOR indx IN res_array.FIRST..res_array.LAST
LOOP
  res_numeric := res_array(indx);
  DBMS_OUTPUT.PUT(res_numeric || ', whose end node is: ');
  var1_numeric := SDO_NET_MEM.PATH.GET_END_NODE_ID(net_mem, res_numeric);
  DBMS_OUTPUT.PUT(var1_numeric);
  DBMS_OUTPUT.PUT_LINE(' ');
END LOOP;
. . .
Shortest path IDs to nodes within cost of 100 from node 102:                             
14, whose end node is: 101                                                      
15, whose end node is: 103                                                      
16, whose end node is: 104                                                      
17, whose end node is: 105                                                      
18, whose end node is: 106                                                      
19, whose end node is: 108                                                      
20, whose end node is: 107

SDO_NET_MEM.NETWORK_MANAGER.WRITE_NETWORK

構文

SDO_NET_MEM.NETWORK_MANAGER.WRITE_NETWORK(

     net_mem IN VARCHAR2);

説明

ネットワーク・メモリー・オブジェクト内のネットワーク・オブジェクトをデータベースに保存します。

パラメータ

net_mem

ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(SDO_NET_MEM.NETWORK_MANAGER.READ_NETWORKプロシージャで作成済)が使用されます。

使用上の注意

このプロシージャは、ネットワーク・メモリー・オブジェクト内のネットワーク・オブジェクトを保存します(ネットワーク・メモリー・オブジェクトの使用方法については、5.8項を参照)。

一時的なリンク、ノードおよびパスは、このプロシージャをコールしてもデータベースには保存されません。

このプロシージャの動作は、クライアント側のJava APIに含まれるNetworkManagerクラス(5.11.2項を参照)のwriteNetworkメソッドを使用する場合に似ています。

次の例では、XYZ_NETWORKという名前のネットワークのネットワーク・メモリー・オブジェクトに含まれているネットワーク・オブジェクトをデータベースに保存します。

sdo_net_mem.network_manager.write_network(net_mem=>'XYZ_NETWORK');

SDO_NET_MEM.NODE.GET_ADJACENT_NODE_IDS

構文

SDO_NET_MEM.NODE.GET_ADJACENT_NODE_IDS(

     net_mem IN VARCHAR2,

     node_id IN NUMBER

     ) RETURN SDO_NUMBER_ARRAY;

説明

指定されたノードに隣接するノードのノードID番号を戻します。

パラメータ

net_mem

ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(SDO_NET_MEM.NETWORK_MANAGER.READ_NETWORKプロシージャで作成済)が使用されます。

node_id

ノードID番号を指定します。

使用上の注意

このファンクションは、指定されたネットワーク・メモリー・オブジェクト内のノードID値のSDO_NUMBER_ARRAYオブジェクトを戻します。ネットワーク・メモリー・オブジェクトを使用した編集とネットワーク分析の操作については、5.8項を参照してください。

このファンクションの動作は、クライアント側のJava APIに含まれるNodeインタフェース(5.11.2項を参照)のgetAdjacentNodeArrayメソッドを使用する場合に似ています。

次の例では、現在のネットワーク・メモリー・オブジェクト内のノードIDが103のノードについて、そのノードに隣接するノードを戻します。(この例は、5.13.4項例5-5からの抜粋です。)

res_array := SDO_NET_MEM.NODE.GET_ADJACENT_NODE_IDS(net_mem, 103);
DBMS_OUTPUT.PUT('Node 103 has the following adjacent nodes: ');
FOR indx IN res_array.FIRST..res_array.LAST
LOOP
  DBMS_OUTPUT.PUT(res_array(indx) || ' ');
END LOOP;
DBMS_OUTPUT.PUT_LINE(' ');

Node 103 has the following adjacent nodes: 102 104 101

SDO_NET_MEM.NODE.GET_CHILD_NODE_IDS

構文

SDO_NET_MEM.NODE.GET_CHILD_NODE_IDS(

     net_mem IN VARCHAR2,

     node_id IN NUMBER

     ) RETURN SDO_NUMBER_ARRAY;

説明

指定されたノードの子ノードのノードID番号を戻します。

パラメータ

net_mem

ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(SDO_NET_MEM.NETWORK_MANAGER.READ_NETWORKプロシージャで作成済)が使用されます。

node_id

ノードID番号を指定します。

使用上の注意

このファンクションは、指定されたネットワーク・メモリー・オブジェクト内のノードID値のSDO_NUMBER_ARRAYオブジェクトを戻します。ネットワーク・メモリー・オブジェクトを使用した編集とネットワーク分析の操作については、5.8項を参照してください。

このファンクションの動作は、クライアント側のJava APIに含まれるNodeインタフェース(5.11.2項を参照)のgetChildNodeArrayメソッドを使用する場合に似ています。

ネットワーク階層の親ノードと子ノード、および親リンクと子リンクの詳細は、5.5項を参照してください。

次の例では、現在のネットワーク・メモリー・オブジェクト内のノードIDが1のノードについて、その子ノードを戻します。(この例は、5.13.4項例5-5からの抜粋です。)

res_array := SDO_NET_MEM.NODE.GET_CHILD_NODE_IDS(net_mem, 1);
DBMS_OUTPUT.PUT('Node 1 has the following child nodes: ');
FOR indx IN res_array.FIRST..res_array.LAST
LOOP
  DBMS_OUTPUT.PUT(res_array(indx) || ' ');
END LOOP;
. . .
Node 1 has the following child nodes: 104 103 105 102 106 101

SDO_NET_MEM.NODE.GET_COMPONENT_NO

構文

SDO_NET_MEM.NODE.GET_COMPONENT_NO(

     net_mem IN VARCHAR2,

     node_id IN NUMBER

     ) RETURN NUMBER;

説明

指定されたノードのコンポーネント番号を戻します。

パラメータ

net_mem

ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(SDO_NET_MEM.NETWORK_MANAGER.READ_NETWORKプロシージャで作成済)が使用されます。

node_id

ノードID番号を指定します。

使用上の注意

このファンクションは、指定されたネットワーク・メモリー・オブジェクト内のノードについて、そのコンポーネント番号(数値)を戻します。ネットワーク・メモリー・オブジェクトを使用した編集とネットワーク分析の操作については、5.8項を参照してください。

接続されているコンポーネントのグループが同じノードは、すべて同じコンポーネント番号を持ちます。接続されているコンポーネントの詳細は、SDO_NET_MEM.NETWORK_MANAGER.FIND_CONNECTED_COMPONENTSファンクションの「使用上の注意」を参照してください。

このファンクションの動作は、クライアント側のJava APIに含まれるNodeインタフェース(5.11.2項を参照)のgetComponentNoメソッドを使用する場合に似ています。

ノードのコンポーネント番号を設定するには、SDO_NET_MEM.NODE.SET_COMPONENT_NOプロシージャを使用します。

次の例では、現在のネットワーク・メモリー・オブジェクト内のノードIDが103のノードについて、そのコンポーネント番号を戻します。(この例は、5.13.4項例5-5からの抜粋です。)

res_numeric := SDO_NET_MEM.NODE.GET_COMPONENT_NO(net_mem, 103);
DBMS_OUTPUT.PUT_LINE('The component number of node 103 is: ' || res_numeric);
. . .
The component number of node 103 is: 1

SDO_NET_MEM.NODE.GET_COST

構文

SDO_NET_MEM.NODE.GET_COST(

     net_mem IN VARCHAR2,

     node_id IN NUMBER

     ) RETURN NUMBER;

説明

指定されたノードのコスト値を戻します。

パラメータ

net_mem

ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(SDO_NET_MEM.NETWORK_MANAGER.READ_NETWORKプロシージャで作成済)が使用されます。

node_id

ノードID番号を指定します。

使用上の注意

このファンクションは、指定されたネットワーク・メモリー・オブジェクト内のノードについて、そのコスト値(数値)を戻します。ネットワーク・メモリー・オブジェクトを使用した編集とネットワーク分析の操作については、5.8項を参照してください。

このファンクションの動作は、クライアント側のJava APIに含まれるNodeインタフェース(5.11.2項を参照)のgetCostメソッドを使用する場合に似ています。

ノードのコスト値を設定するには、SDO_NET_MEM.NODE.SET_COSTプロシージャを使用します。

次の例では、現在のネットワーク・メモリー・オブジェクト内のノードIDが103のノードについて、そのコストを戻します。(この例は、5.13.4項例5-5からの抜粋です。)

res_numeric := SDO_NET_MEM.NODE.GET_COST(net_mem, 103);
DBMS_OUTPUT.PUT_LINE('The cost of node 103 is: ' || res_numeric);
. . .
The cost of node 103 is: 0

SDO_NET_MEM.NODE.GET_GEOM_ID

構文

SDO_NET_MEM.NODE.GET_GEOM_ID(

     net_mem IN VARCHAR2,

     node_id IN NUMBER

     ) RETURN NUMBER;

説明

ノードのジオメトリID番号を戻します。

パラメータ

net_mem

ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(SDO_NET_MEM.NETWORK_MANAGER.READ_NETWORKプロシージャで作成済)が使用されます。

node_id

ノードID番号を指定します。

使用上の注意

このファンクションは、指定されたネットワーク・メモリー・オブジェクト内のノードについて、そのジオメトリID値(数値)を戻します。ネットワーク・メモリー・オブジェクトを使用した編集とネットワーク分析の操作については、5.8項を参照してください。

このファンクションの動作は、クライアント側のJava APIに含まれるNodeインタフェース(5.11.2項を参照)のgetGeomIDメソッドを使用する場合に似ています。

ノードのジオメトリID値を設定するには、SDO_NET_MEM.NODE.SET_GEOM_IDプロシージャを使用します。

次の例では、現在のネットワーク・メモリー・オブジェクト内のノードIDが3のノードについて、そのジオメトリIDを戻します。(この例は、5.13.3項例5-4からの抜粋です。)

res_numeric := SDO_NET_MEM.NODE.GET_GEOM_ID(net_mem, 3);
DBMS_OUTPUT.PUT_LINE('The geometry ID of node 3 is: ' || res_numeric);
. . .
The geometry ID of node 3 is: 1001

SDO_NET_MEM.NODE.GET_GEOMETRY

構文

SDO_NET_MEM.NODE.GET_GEOMETRY(

     net_mem IN VARCHAR2,

     node_id IN NUMBER

     ) RETURN SDO_GEOMETRY;

説明

ノードの空間ジオメトリを戻します。

パラメータ

net_mem

ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(SDO_NET_MEM.NETWORK_MANAGER.READ_NETWORKプロシージャで作成済)が使用されます。

node_id

ノードID番号を指定します。

使用上の注意

このファンクションは、指定されたネットワーク・メモリー・オブジェクト内のノードについて、そのSDO_GEOMETRYオブジェクトを戻します。ネットワーク・メモリー・オブジェクトを使用した編集とネットワーク分析の操作については、5.8項を参照してください。

このファンクションの動作は、クライアント側のJava APIに含まれるNodeインタフェース(5.11.2項を参照)のgetGeometryメソッドを使用する場合に似ています。

ノードの空間ジオメトリを設定するには、SDO_NET_MEM.NODE.SET_GEOMETRYプロシージャを使用します。

次の例では、現在のネットワーク・メモリー・オブジェクト内のノードIDが3のノードについて、その空間ジオメトリを戻します。(この例は、5.13.3項例5-4からの抜粋です。)

res_geom := SDO_NET_MEM.NODE.GET_GEOMETRY(net_mem, 3);

SDO_NET_MEM.NODE.GET_HIERARCHY_LEVEL

構文

SDO_NET_MEM.NODE.GET_HIERARCHY_LEVEL(

     net_mem IN VARCHAR2,

     node_id IN NUMBER

     ) RETURN NUMBER;

説明

ノードの階層レベルを戻します。

パラメータ

net_mem

ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(SDO_NET_MEM.NETWORK_MANAGER.READ_NETWORKプロシージャで作成済)が使用されます。

node_id

ノードID番号を指定します。

使用上の注意

このファンクションは、指定されたネットワーク・メモリー・オブジェクト内のノードについて、その階層レベル(数値)を戻します。ネットワーク・メモリー・オブジェクトを使用した編集とネットワーク分析の操作については、5.8項を参照してください。

このファンクションの動作は、クライアント側のJava APIに含まれるNodeインタフェース(5.11.2項を参照)のgetHierarchyLevelメソッドを使用する場合に似ています。

ノードの階層レベルを設定するには、SDO_NET_MEM.NODE.SET_HIERARCHY_LEVELプロシージャを使用します。

ネットワーク階層の親ノードと子ノード、および親リンクと子リンクの詳細は、5.5項を参照してください。

次の例では、現在のネットワーク・メモリー・オブジェクト内のノードIDが1のノードについて、その階層レベルを戻します。(この例は、5.13.4項例5-5からの抜粋です。)

res_numeric := SDO_NET_MEM.NODE.GET_HIERARCHY_LEVEL(net_mem, 1);
DBMS_OUTPUT.PUT_LINE('The hierarchy level of node 1 is: ' || res_numeric);
. . .
The hierarchy level of node 1 is: 2

SDO_NET_MEM.NODE.GET_IN_LINK_IDS

構文

SDO_NET_MEM.NODE.GET_IN_LINK_IDS(

     net_mem IN VARCHAR2,

     node_id IN NUMBER

     ) RETURN SDO_NUMBER_ARRAY;

説明

ノードへのインバウンド・リンクのリンクID番号を戻します。

パラメータ

net_mem

ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(SDO_NET_MEM.NETWORK_MANAGER.READ_NETWORKプロシージャで作成済)が使用されます。

node_id

ノードID番号を指定します。

使用上の注意

このファンクションは、指定されたネットワーク・メモリー・オブジェクト内のリンクID値のSDO_NUMBER_ARRAYオブジェクトを戻します。ネットワーク・メモリー・オブジェクトを使用した編集とネットワーク分析の操作については、5.8項を参照してください。

このファンクションの動作は、クライアント側のJava APIに含まれるNodeインタフェース(5.11.2項を参照)のgetInLinksメソッドを使用する場合に似ています。

次の例では、現在のネットワーク・メモリー・オブジェクト内のノードIDが103のノードについて、そのノードへのインバウンド・リンクを戻します。(この例は、5.13.4項例5-5からの抜粋です。)

res_array := SDO_NET_MEM.NODE.GET_IN_LINK_IDS(net_mem, 103);
DBMS_OUTPUT.PUT('Node 103 has the following inbound links: ');
FOR indx IN res_array.FIRST..res_array.LAST
LOOP
  DBMS_OUTPUT.PUT(res_array(indx) || ' ');
END LOOP;
. . .
Node 103 has the following inbound links: 1102 1103

SDO_NET_MEM.NODE.GET_INCIDENT_LINK_IDS

構文

SDO_NET_MEM.NODE.GET_INCIDENT_LINK_IDS(

     net_mem IN VARCHAR2,

     node_id IN NUMBER

     ) RETURN SDO_NUMBER_ARRAY;

説明

ノードへのリンク(ノードに接続されているリンク)のリンクID番号を戻します。

パラメータ

net_mem

ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(SDO_NET_MEM.NETWORK_MANAGER.READ_NETWORKプロシージャで作成済)が使用されます。

node_id

ノードID番号を指定します。

使用上の注意

このファンクションは、指定されたネットワーク・メモリー・オブジェクト内のリンクID値のSDO_NUMBER_ARRAYオブジェクトを戻します。ネットワーク・メモリー・オブジェクトを使用した編集とネットワーク分析の操作については、5.8項を参照してください。

このファンクションの動作は、クライアント側のJava APIに含まれるNodeインタフェース(5.11.2項を参照)のgetIncidentLinksメソッドを使用する場合に似ています。

次の例では、現在のネットワーク・メモリー・オブジェクト内のノードIDが103のノードについて、そのノードの接続されているリンクを戻します。(この例は、5.13.4項例5-5からの抜粋です。)

res_array := SDO_NET_MEM.NODE.GET_INCIDENT_LINK_IDS(net_mem, 103);
DBMS_OUTPUT.PUT('Node 103 has the following incident links: ');
FOR indx IN res_array.FIRST..res_array.LAST
LOOP
  DBMS_OUTPUT.PUT(res_array(indx) || ' ');
END LOOP;
. . .
Node 103 has the following incident links: 1102 1104 1103

SDO_NET_MEM.NODE.GET_MEASURE

構文

SDO_NET_MEM.NODE.GET_MEASURE(

     net_mem IN VARCHAR2,

     node_id IN NUMBER

     ) RETURN NUMBER;

説明

LRSネットワーク内のノードについて、そのメジャー値を戻します。

パラメータ

net_mem

ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(SDO_NET_MEM.NETWORK_MANAGER.READ_NETWORKプロシージャで作成済)が使用されます。

node_id

ノードID番号を指定します。

使用上の注意

このファンクションは、指定されたネットワーク・メモリー・オブジェクト内のノードについて、そのメジャー値(数値)を戻します。ネットワーク・メモリー・オブジェクトを使用した編集とネットワーク分析の操作については、5.8項を参照してください。

このファンクションの動作は、クライアント側のJava APIに含まれるNodeインタフェース(5.11.2項を参照)のgetMeasureメソッドを使用する場合に似ています。

ノードのメジャー値を設定するには、SDO_NET_MEM.NODE.SET_MEASUREプロシージャを使用します。

次の例では、現在のネットワーク・メモリー・オブジェクト内のノードIDが3のノードについて、そのメジャー値を戻します。(この例は、5.13.3項例5-4からの抜粋です。)

res_numeric := SDO_NET_MEM.NODE.GET_MEASURE(net_mem, 3);
DBMS_OUTPUT.PUT_LINE('The measure value of node 3 is: ' || res_numeric);
. . .
The measure value of node 3 is: 8

SDO_NET_MEM.NODE.GET_NAME

構文

SDO_NET_MEM.NODE.GET_NAME(

     net_mem IN VARCHAR2,

     node_id IN NUMBER

     ) RETURN VARCHAR2;

説明

ノードの名前を戻します。

パラメータ

net_mem

ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(SDO_NET_MEM.NETWORK_MANAGER.READ_NETWORKプロシージャで作成済)が使用されます。

node_id

ノードID番号を指定します。

使用上の注意

このファンクションは、指定されたネットワーク・メモリー・オブジェクト内のノードについて、そのノード名の文字列を戻します。ネットワーク・メモリー・オブジェクトを使用した編集とネットワーク分析の操作については、5.8項を参照してください。

このファンクションの動作は、クライアント側のJava APIに含まれるNodeインタフェース(5.11.2項を参照)のgetNameメソッドを使用する場合に似ています。

ノードの名前を設定するには、SDO_NET_MEM.NODE.SET_NAMEプロシージャを使用します。

次の例では、現在のネットワーク・メモリー・オブジェクト内のノードIDが103のノードについて、その名前を戻します。(この例は、5.13.4項例5-5からの抜粋です。)

res_string := SDO_NET_MEM.NODE.GET_NAME(net_mem, 103);
DBMS_OUTPUT.PUT_LINE('The name of node 103 is: ' || res_string);
. . .
The name of node 103 is: N3

SDO_NET_MEM.NODE.GET_OUT_LINK_IDS

構文

SDO_NET_MEM.NODE.GET_OUT_LINK_IDS(

     net_mem IN VARCHAR2,

     node_id IN NUMBER

     ) RETURN SDO_NUMBER_ARRAY;

説明

ノードからのアウトバウンド・リンクのリンクID番号を戻します。

パラメータ

net_mem

ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(SDO_NET_MEM.NETWORK_MANAGER.READ_NETWORKプロシージャで作成済)が使用されます。

node_id

ノードID番号を指定します。

使用上の注意

このファンクションは、指定されたネットワーク・メモリー・オブジェクト内のリンクID値のSDO_NUMBER_ARRAYオブジェクトを戻します。ネットワーク・メモリー・オブジェクトを使用した編集とネットワーク分析の操作については、5.8項を参照してください。

このファンクションの動作は、クライアント側のJava APIに含まれるNodeインタフェース(5.11.2項を参照)のgetOutLinksメソッドを使用する場合に似ています。

次の例では、現在のネットワーク・メモリー・オブジェクト内のノードIDが103のノードについて、そのノードからのアウトバウンド・リンクを戻します。(この例は、5.13.4項例5-5からの抜粋です。)

res_array := SDO_NET_MEM.NODE.GET_OUT_LINK_IDS(net_mem, 103);
DBMS_OUTPUT.PUT('Node 103 has the following outbound links: ');
FOR indx IN res_array.FIRST..res_array.LAST
LOOP
  DBMS_OUTPUT.PUT(res_array(indx) || ' ');
END LOOP;
. . .
Node 103 has the following outbound links: 1104

SDO_NET_MEM.NODE.GET_PARENT_NODE_ID

構文

SDO_NET_MEM.NODE.GET_PARENT_NODE_ID(

     net_mem IN VARCHAR2,

     node_id IN NUMBER

     ) RETURN NUMBER;

説明

ノードの親ノードのノードID番号を戻します。

パラメータ

net_mem

ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(SDO_NET_MEM.NETWORK_MANAGER.READ_NETWORKプロシージャで作成済)が使用されます。

node_id

ノードID番号を指定します。

使用上の注意

このファンクションは、指定されたネットワーク・メモリー・オブジェクト内のノードID値(数値)を戻します。ネットワーク・メモリー・オブジェクトを使用した編集とネットワーク分析の操作については、5.8項を参照してください。

このファンクションの動作は、クライアント側のJava APIに含まれるNodeインタフェース(5.11.2項を参照)のgetParentNodeメソッドを使用する場合に似ています。

ノードの親ノードを設定するには、SDO_NET_MEM.NODE.SET_PARENT_NODEプロシージャを使用します。

ネットワーク階層の親ノードと子ノード、および親リンクと子リンクの詳細は、5.5項を参照してください。

次の例では、現在のネットワーク・メモリー・オブジェクト内のノードIDが103のノードについて、その親ノードを戻します。(この例は、5.13.4項例5-5からの抜粋です。)

res_numeric := SDO_NET_MEM.NODE.GET_PARENT_NODE_ID(net_mem, 103);
DBMS_OUTPUT.PUT_LINE('The parent node of node 103 is: ' || res_numeric);
. . .
The parent node of node 103 is: 1

SDO_NET_MEM.NODE.GET_SIBLING_NODE_IDS

構文

SDO_NET_MEM.NODE.GET_SIBLING_NODE_IDS(

     net_mem IN VARCHAR2,

     node_id IN NUMBER

     ) RETURN SDO_NUMBER_ARRAY;

説明

ノードの兄弟ノードのノードID番号を戻します。

パラメータ

net_mem

ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(SDO_NET_MEM.NETWORK_MANAGER.READ_NETWORKプロシージャで作成済)が使用されます。

node_id

ノードID番号を指定します。

使用上の注意

このファンクションは、指定されたネットワーク・メモリー・オブジェクト内のノードID値のSDO_NUMBER_ARRAYオブジェクトを戻します。ネットワーク・メモリー・オブジェクトを使用した編集とネットワーク分析の操作については、5.8項を参照してください。

このファンクションの動作は、クライアント側のJava APIに含まれるNodeインタフェース(5.11.2項を参照)のgetSiblingNodeArrayメソッドを使用する場合に似ています。

兄弟ノードとは、階層ネットワーク内で同じ親ノードを持つノードのことです。ネットワーク階層の親ノードと子ノード、および親リンクと子リンクの詳細は、5.5項を参照してください。

次の例では、現在のネットワーク・メモリー・オブジェクト内のノードIDが103のノードについて、その兄弟ノードを戻します。(この例は、5.13.4項例5-5からの抜粋です。)

res_array := SDO_NET_MEM.NODE.GET_SIBLING_NODE_IDS(net_mem, 103);
DBMS_OUTPUT.PUT('Node 103 has the following sibling nodes: ');
FOR indx IN res_array.FIRST..res_array.LAST
LOOP
  DBMS_OUTPUT.PUT(res_array(indx) || ' ');
END LOOP;
DBMS_OUTPUT.PUT_LINE(' ');
. . .
Node 103 has the following sibling nodes: 104 105 102 106 101

SDO_NET_MEM.NODE.GET_STATE

構文

SDO_NET_MEM.NODE.GET_STATE(

     net_mem IN VARCHAR2,

     node_id IN NUMBER

     ) RETURN VARCHAR2;

説明

ノードの状態を戻します。

パラメータ

net_mem

ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(SDO_NET_MEM.NETWORK_MANAGER.READ_NETWORKプロシージャで作成済)が使用されます。

node_id

ノードID番号を指定します。

使用上の注意

このファンクションは、指定されたネットワーク・メモリー・オブジェクト内のノードについて、その状態名の文字列を戻します。ネットワーク・メモリー・オブジェクトを使用した編集とネットワーク分析の操作については、5.8項を参照してください。

状態は文字列値で、TRUEまたはFALSEのいずれかです。ノードがSDO_NET_MEM.NETWORK_MANAGER.SHORTEST_PATHなどのネットワーク分析ファンクションで検討されるかどうかは、そのノードの状態によって決まります。状態がTRUEのノードはネットワーク分析ファンクションの検討対象となり、FALSEのノードは無視されます。

このファンクションの動作は、クライアント側のJava APIに含まれるNodeインタフェース(5.11.2項を参照)のgetStateメソッドを使用する場合に似ています。

ノードの状態を設定するには、SDO_NET_MEM.NODE.SET_STATEプロシージャを使用します。

次の例では、現在のネットワーク・メモリー・オブジェクト内のノードIDが103のノードについて、その状態を戻します。(この例は、5.13.4項例5-5からの抜粋です。)

res_string := SDO_NET_MEM.NODE.GET_STATE(net_mem, 103);
DBMS_OUTPUT.PUT_LINE('The state of node 103 is: ' || res_string);
. . .
The state of node 103 is: TRUE

SDO_NET_MEM.NODE.GET_TYPE

構文

SDO_NET_MEM.NODE.GET_TYPE(

     net_mem IN VARCHAR2,

     node_id IN NUMBER

     ) RETURN VARCHAR2;

説明

ノードのタイプを戻します。

パラメータ

net_mem

ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(SDO_NET_MEM.NETWORK_MANAGER.READ_NETWORKプロシージャで作成済)が使用されます。

node_id

ノードID番号を指定します。

使用上の注意

このファンクションは、指定されたネットワーク・メモリー・オブジェクト内のノードについて、そのタイプ名の文字列を戻します。ネットワーク・メモリー・オブジェクトを使用した編集とネットワーク分析の操作については、5.8項を参照してください。

このファンクションの動作は、クライアント側のJava APIに含まれるNodeインタフェース(5.11.2項を参照)のgetTypeメソッドを使用する場合に似ています。

ノードのタイプを設定するには、SDO_NET_MEM.NODE.SET_TYPEプロシージャを使用します。

次の例では、現在のネットワーク・メモリー・オブジェクト内のノードIDが114のノードについて、そのタイプを設定し、設定したタイプを戻します。(この例は、5.13.4項例5-5からの抜粋です。)

-- SET_TYPE
-- Set the type of node 114 to 'Research'.
SDO_NET_MEM.NODE.SET_TYPE(net_mem, 114, 'Research');
-- GET_TYPE
res_string := SDO_NET_MEM.NODE.GET_TYPE(net_mem, 114);
DBMS_OUTPUT.PUT_LINE('The type of node 114 is: ' || res_string);
. . .
The type of node 114 is: Research

SDO_NET_MEM.NODE.IS_ACTIVE

構文

SDO_NET_MEM.NODE.IS_ACTIVE(

     net_mem IN VARCHAR2,

     node_id IN NUMBER

     ) RETURN VARCHAR2;

説明

ノードがアクティブかどうかを確認します。

パラメータ

net_mem

ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(SDO_NET_MEM.NETWORK_MANAGER.READ_NETWORKプロシージャで作成済)が使用されます。

node_id

ノードID番号を指定します。

使用上の注意

このファンクションは、指定されたネットワーク・メモリー・オブジェクト内のノードがアクティブであれば文字列TRUEを戻し、そうでなければFALSEを戻します。ネットワーク・メモリー・オブジェクトを使用した編集とネットワーク分析の操作については、5.8項を参照してください。

このファンクションの動作は、クライアント側のJava APIに含まれるNodeインタフェース(5.11.2項を参照)のisActiveメソッドを使用する場合に似ています。

次の例では、現在のネットワーク・メモリー・オブジェクト内のノードIDが103のノードについて、そのノードがアクティブかどうかを確認します。(この例は、5.13.4項例5-5からの抜粋です。)

res_string := SDO_NET_MEM.NODE.IS_ACTIVE(net_mem, 103);
DBMS_OUTPUT.PUT_LINE('Is node 103 active?: ' || res_string);
. . .
Is node 103 active?: TRUE

SDO_NET_MEM.NODE.IS_LOGICAL

構文

SDO_NET_MEM.NODE.IS_LOGICAL(

     net_mem IN VARCHAR2,

     node_id IN NUMBER

     ) RETURN VARCHAR2;

説明

ノードが論理ネットワーク内にあるかどうかを確認します。

パラメータ

net_mem

ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(SDO_NET_MEM.NETWORK_MANAGER.READ_NETWORKプロシージャで作成済)が使用されます。

node_id

ノードID番号を指定します。

使用上の注意

このファンクションは、指定されたネットワーク・メモリー・オブジェクト内のノードが論理ネットワークの内部にあれば文字列TRUEを戻し、そうでなければFALSEを戻します。ネットワーク・メモリー・オブジェクトを使用した編集とネットワーク分析の操作については、5.8項を参照してください。

このファンクションの動作は、クライアント側のJava APIに含まれるNodeインタフェース(5.11.2項を参照)のisLogicalメソッドを使用する場合に似ています。

次の例では、現在のネットワーク・メモリー・オブジェクト内のノードIDが103のノードについて、そのノードが論理ネットワーク内にあるかどうかを確認します。(この例は、5.13.4項例5-5からの抜粋です。)

res_string := SDO_NET_MEM.NODE.IS_LOGICAL(net_mem, 103);
DBMS_OUTPUT.PUT_LINE('Is node 103 a logical node?: ' || res_string);
. . .
Is node 103 a logical node?: TRUE

SDO_NET_MEM.NODE.IS_TEMPORARY

構文

SDO_NET_MEM.NODE.IS_TEMPORARY(

     net_mem IN VARCHAR2,

     node_id IN NUMBER

     ) RETURN VARCHAR2;

説明

ノードが一時ノードかどうかを確認します。

パラメータ

net_mem

ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(SDO_NET_MEM.NETWORK_MANAGER.READ_NETWORKプロシージャで作成済)が使用されます。

node_id

ノードID番号を指定します。

使用上の注意

このファンクションは、指定されたネットワーク・メモリー・オブジェクト内のノードが一時ノードであれば文字列TRUEを戻し、そうでなければFALSEを戻します。ネットワーク・メモリー・オブジェクトを使用した編集とネットワーク分析の操作については、5.8項を参照してください。

一時的なリンク、ノードおよびパスは、SDO_NET_MEM.NETWORK_MANAGER.WRITE_NETWORKプロシージャをコールした場合でもデータベースには保存されません。

このファンクションの動作は、クライアント側のJava APIに含まれるNodeインタフェース(5.11.2項を参照)のisTemporaryメソッドを使用する場合に似ています。

次の例では、現在のネットワーク・メモリー・オブジェクト内のノードIDが103のノードについて、そのノードが一時ノードかどうかを確認します。(この例は、5.13.4項例5-5からの抜粋です。)

res_string := SDO_NET_MEM.NODE.IS_TEMPORARY(net_mem, 103);
DBMS_OUTPUT.PUT_LINE('Is node 103 temporary?: ' || res_string);
. . .
Is node 103 temporary?: FALSE

SDO_NET_MEM.NODE.LINK_EXISTS

構文

SDO_NET_MEM.NODE.LINK_EXISTS(

     net_mem IN VARCHAR2,

     node_id1 IN NUMBER,

     node_id2 IN NUMBER

     ) RETURN VARCHAR2;

説明

2つのノード間にリンクが存在するかどうかを確認します。

パラメータ

net_mem

ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(SDO_NET_MEM.NETWORK_MANAGER.READ_NETWORKプロシージャで作成済)が使用されます。

node_id1

ノードID番号を指定します。

node_id2

ノードID番号を指定します。

使用上の注意

このファンクションは、指定されたネットワーク・メモリー・オブジェクト内の2つのノード間にリンクが存在すれば文字列TRUEを戻し、存在しなければFALSEを戻します。ネットワーク・メモリー・オブジェクトを使用した編集とネットワーク分析の操作については、5.8項を参照してください。

このファンクションの動作は、クライアント側のJava APIに含まれるNodeインタフェース(5.11.2項を参照)のlinkExistsメソッドを使用する場合に似ています。

次の例では、現在のネットワーク・メモリー・オブジェクト内のノードIDが103と104のノードについて、それらのノード間にリンクが存在するかどうかを確認します。(この例は、5.13.4項例5-5からの抜粋です。)

res_string := SDO_NET_MEM.NODE.LINK_EXISTS(net_mem, 103, 104);
DBMS_OUTPUT.PUT_LINE('Does a link exist between nodes 103 and 104?: ' || res_string);
. . .
Does a link exist between nodes 103 and 104?: TRUE

SDO_NET_MEM.NODE.MAKE_TEMPORARY

構文

SDO_NET_MEM.NODE.MAKE_TEMPORARY(

     net_mem IN VARCHAR2,

     node_id IN NUMBER);

説明

ノードを一時ノードにします。

パラメータ

net_mem

ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(SDO_NET_MEM.NETWORK_MANAGER.READ_NETWORKプロシージャで作成済)が使用されます。

node_id

ノードID番号を指定します。

使用上の注意

このプロシージャは、指定されたネットワーク・メモリー・オブジェクトを一時的なものにします。(一時的なリンク、ノードおよびパスは、SDO_NET_MEM.NETWORK_MANAGER.WRITE_NETWORKプロシージャをコールした場合でもデータベースには保存されません。)ネットワーク・メモリー・オブジェクトを使用した編集とネットワーク分析の操作については、5.8項を参照してください。

このプロシージャの動作は、クライアント側のJava APIに含まれるNodeインタフェース(5.11.2項を参照)のmakeTemporaryメソッドを使用する場合に似ています。

ネットワーク・メモリー・オブジェクト内のノードが一時ノードかどうかを確認するには、SDO_NET_MEM.NODE.IS_TEMPORARYファンクションを使用します。

次の例では、現在のネットワーク・メモリー・オブジェクト内のノードIDが114のノードを一時ノードにします。(この例は、5.13.4項例5-5からの抜粋です。)

SDO_NET_MEM.NODE.MAKE_TEMPORARY(net_mem, 114);

SDO_NET_MEM.NODE.SET_COMPONENT_NO

構文

SDO_NET_MEM.NODE.SET_COMPONENT_NO(

     net_mem IN VARCHAR2,

     node_id IN NUMBER,

     no IN NUMBER);

説明

ノードのコンポーネント番号を設定します。

パラメータ

net_mem

ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(SDO_NET_MEM.NETWORK_MANAGER.READ_NETWORKプロシージャで作成済)が使用されます。

node_id

ノードID番号を指定します。

no

コンポーネント番号を指定します。

使用上の注意

このプロシージャは、指定されたネットワーク・メモリー・オブジェクト内に、ノードのコンポーネント番号値を設定します。ネットワーク・メモリー・オブジェクトを使用した編集とネットワーク分析の操作については、5.8項を参照してください。

接続されているコンポーネントのグループが同じノードは、すべて同じコンポーネント番号を持ちます。接続されているコンポーネントの詳細は、SDO_NET_MEM.NETWORK_MANAGER.FIND_CONNECTED_COMPONENTSファンクションの「使用上の注意」を参照してください。

このプロシージャの動作は、クライアント側のJava APIに含まれるNodeインタフェース(5.11.2項を参照)のsetComponentNoメソッドを使用する場合に似ています。

ノードのノード・コンポーネント値を取得するには、SDO_NET_MEM.NODE.GET_COMPONENT_NOファンクションを使用します。

次の例では、現在のネットワーク・メモリー・オブジェクト内のノードIDが114のノードについて、そのコンポーネント番号を987に設定します。(この例は、5.13.4項例5-5からの抜粋です。)

SDO_NET_MEM.NODE.SET_COMPONENT_NO(net_mem, 114, 987);

SDO_NET_MEM.NODE.SET_COST

構文

SDO_NET_MEM.NODE.SET_COST(

     net_mem IN VARCHAR2,

     node_id IN NUMBER,

     cost IN NUMBER);

説明

ノードのコスト値を設定します。

パラメータ

net_mem

ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(SDO_NET_MEM.NETWORK_MANAGER.READ_NETWORKプロシージャで作成済)が使用されます。

node_id

ノードID番号を指定します。

cost

コスト値を指定します。

使用上の注意

このプロシージャは、指定されたネットワーク・メモリー・オブジェクト内に、ノードのコスト値(数値)を設定します。ネットワーク・メモリー・オブジェクトを使用した編集とネットワーク分析の操作については、5.8項を参照してください。

このプロシージャの動作は、クライアント側のJava APIに含まれるNodeインタフェース(5.11.2項を参照)のsetCostメソッドを使用する場合に似ています。

ノードのコスト値を取得するには、SDO_NET_MEM.NODE.GET_COSTファンクションを使用します。

次の例では、現在のネットワーク・メモリー・オブジェクト内のリンクIDが114のリンクについて、そのコストを40に設定します。(この例は、5.13.4項例5-5からの抜粋です。)

SDO_NET_MEM.NODE.SET_COST(net_mem, 114, 40);

SDO_NET_MEM.NODE.SET_GEOM_ID

構文

SDO_NET_MEM.NODE.SET_GEOM_ID(

     net_mem IN VARCHAR2,

     node_id IN NUMBER,

     geom_id IN NUMBER);

説明

ノードのジオメトリID値を設定します。

パラメータ

net_mem

ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(SDO_NET_MEM.NETWORK_MANAGER.READ_NETWORKプロシージャで作成済)が使用されます。

node_id

ノードID番号を指定します。

geom

ジオメトリID番号を指定します。

使用上の注意

このプロシージャは、指定されたネットワーク・メモリー・オブジェクト内に、ノードのジオメトリID値(数値)を設定します。ネットワーク・メモリー・オブジェクトを使用した編集とネットワーク分析の操作については、5.8項を参照してください。

このプロシージャの動作は、クライアント側のJava APIに含まれるNodeインタフェース(5.11.2項を参照)のsetGeomIDメソッドを使用する場合に似ています。

ノードのジオメトリID値を取得するには、SDO_NET_MEM.NODE.GET_GEOM_IDファンクションを使用します。

次の例では、現在のネットワーク・メモリー・オブジェクト内のノードIDが7のノードについて、そのジオメトリIDを99に設定します。(この例は、5.13.3項例5-4からの抜粋です。)

SDO_NET_MEM.NODE.SET_GEOM_ID(net_mem, 7, 99);

SDO_NET_MEM.NODE.SET_GEOMETRY

構文

SDO_NET_MEM.NODE.SET_GEOMETRY(

     net_mem IN VARCHAR2,

     node_id IN NUMBER,

     geom IN SDO_GEOMETRY);

説明

ノードのジオメトリを設定します。

パラメータ

net_mem

ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(SDO_NET_MEM.NETWORK_MANAGER.READ_NETWORKプロシージャで作成済)が使用されます。

node_id

ノードID番号を指定します。

geom

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

使用上の注意

このプロシージャは、指定されたネットワーク・メモリー・オブジェクト内のノードに対して、そのSDO_GEOMETRYオブジェクトを作成します。ネットワーク・メモリー・オブジェクトを使用した編集とネットワーク分析の操作については、5.8項を参照してください。

このプロシージャの動作は、クライアント側のJava APIに含まれるNodeインタフェース(5.11.2項を参照)のsetGeometryメソッドを使用する場合に似ています。

ノードのジオメトリを取得するには、SDO_NET_MEM.NODE.GET_GEOMETRYファンクションを使用します。

次の例では、MY_NETWORKというネットワーク名のネットワーク・メモリー・オブジェクト内のノードIDが114のノードに対して、そのジオメトリを設定します。

SDO_NET_MEM.NODE.SET_GEOMETRY('MY_NETWORK', 114,
  SDO_GEOMETRY(2001, NULL, SDO_POINT_TYPE(9,4,NULL), NULL, NULL));

SDO_NET_MEM.NODE.SET_HIERARCHY_LEVEL

構文

SDO_NET_MEM.NODE.SET_HIERARCHY_LEVEL(

     net_mem IN VARCHAR2,

     node_id IN NUMBER,

     level IN NUMBER);

説明

ノードの階層レベルを設定します。

パラメータ

net_mem

ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(SDO_NET_MEM.NETWORK_MANAGER.READ_NETWORKプロシージャで作成済)が使用されます。

node_id

ノードID番号を指定します。

level

階層レベル番号を指定します。

使用上の注意

このプロシージャは、指定されたネットワーク・メモリー・オブジェクト内に、階層レベル値(数値)を設定します。ネットワーク・メモリー・オブジェクトを使用した編集とネットワーク分析の操作については、5.8項を参照してください。

このプロシージャの動作は、クライアント側のJava APIに含まれるNodeインタフェース(5.11.2項を参照)のsetHierarchyLevelメソッドを使用する場合に似ています。

ノードの階層レベルを取得するには、SDO_NET_MEM.NODE.GET_HIERARCHY_LEVELファンクションを使用します。

ネットワーク階層の親ノードと子ノード、および親リンクと子リンクの詳細は、5.5項を参照してください。

次の例では、現在のネットワーク・メモリー・オブジェクト内のノードIDが1のノードについて、その階層レベルを2に設定します。

SDO_NET_MEM.NODE.SET_HIERARCHY_LEVEL(net_mem, 1, 2);

SDO_NET_MEM.NODE.SET_MEASURE

構文

SDO_NET_MEM.NODE.SET_MEASURE(

     net_mem IN VARCHAR2,

     node_id IN NUMBER,

     measure IN NUMBER);

説明

LRSネットワーク内のノードについて、そのメジャー値を設定します。

パラメータ

net_mem

ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(SDO_NET_MEM.NETWORK_MANAGER.READ_NETWORKプロシージャで作成済)が使用されます。

node_id

ノードID番号を指定します。

measure

メジャー値を指定します。

使用上の注意

このプロシージャは、指定されたネットワーク・メモリー・オブジェクト内に、ノードのメジャー値(数値)を設定します。ネットワーク・メモリー・オブジェクトを使用した編集とネットワーク分析の操作については、5.8項を参照してください。

このプロシージャの動作は、クライアント側のJava APIに含まれるNodeインタフェース(5.11.2項を参照)のsetMeasureメソッドを使用する場合に似ています。

ノードのメジャー値を取得するには、SDO_NET_MEM.NODE.GET_MEASUREファンクションを使用します。

次の例では、現在のネットワーク・メモリー・オブジェクト内のノードIDが7のノードについて、そのメジャー値を30に設定します。(この例は、5.13.3項例5-4からの抜粋です。)

SDO_NET_MEM.NODE.SET_MEASURE(net_mem, 7, 30);

SDO_NET_MEM.NODE.SET_NAME

構文

SDO_NET_MEM.NODE.SET_NAME(

     net_mem IN VARCHAR2,

     node_id IN NUMBER,

     node_name IN VARCHAR2);

説明

ノードの名前を設定します。

パラメータ

net_mem

ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(SDO_NET_MEM.NETWORK_MANAGER.READ_NETWORKプロシージャで作成済)が使用されます。

node_id

ノードID番号を指定します。

node_name

ノード名を指定します。

使用上の注意

このプロシージャは、指定されたネットワーク・メモリー・オブジェクト内に、ノード名の文字列値を設定します。ネットワーク・メモリー・オブジェクトを使用した編集とネットワーク分析の操作については、5.8項を参照してください。

このプロシージャの動作は、クライアント側のJava APIに含まれるNodeインタフェース(5.11.2項を参照)のsetNameメソッドを使用する場合に似ています。

ノードの名前を取得するには、SDO_NET_MEM.NODE.GET_NAMEファンクションを使用します。

次の例では、現在のネットワーク・メモリー・オブジェクト内のノードIDが114のノードについて、その名前を文字列My favorite nodeに設定します。(この例は、5.13.4項例5-5からの抜粋です。)

SDO_NET_MEM.NODE.SET_NAME(net_mem, 114, 'My favorite node');

SDO_NET_MEM.NODE.SET_PARENT_NODE

構文

SDO_NET_MEM.NODE.SET_PARENT_NODE(

     net_mem IN VARCHAR2,

     node_id IN NUMBER,

     parent_node_id IN NUMBER);

説明

ノードの親ノードを設定します。

パラメータ

net_mem

ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(SDO_NET_MEM.NETWORK_MANAGER.READ_NETWORKプロシージャで作成済)が使用されます。

node_id

ノードID番号を指定します。

parent_node_id

親ノードID番号を指定します。

使用上の注意

このプロシージャは、指定されたネットワーク・メモリー・オブジェクト内のノードについて、その親ノードを指定します。ネットワーク・メモリー・オブジェクトを使用した編集とネットワーク分析の操作については、5.8項を参照してください。

このプロシージャの動作は、クライアント側のJava APIに含まれるNodeインタフェース(5.11.2項を参照)のsetParentNodeメソッドを使用する場合に似ています。

親ノードのID値を取得するには、SDO_NET_MEM.NODE.GET_PARENT_NODE_IDファンクションを使用します。

ネットワーク階層の親ノードと子ノード、および親リンクと子リンクの詳細は、5.5項を参照してください。

次の例では、現在のネットワーク・メモリー・オブジェクト内のノードIDが114のノードについて、その親ノードとしてノードIDが1のノードを設定します。(この例は、5.13.4項例5-5からの抜粋です。)

SDO_NET_MEM.NODE.SET_PARENT_NODE(net_mem, 114, 1);

SDO_NET_MEM.NODE.SET_STATE

構文

SDO_NET_MEM.NODE.SET_STATE(

     net_mem IN VARCHAR2,

     node_id IN NUMBER,

     state IN VARCHAR2);

説明

ノードの状態を設定します。

パラメータ

net_mem

ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(SDO_NET_MEM.NETWORK_MANAGER.READ_NETWORKプロシージャで作成済)が使用されます。

node_id

ノードID番号を指定します。

state

ノードの状態を指定します。TRUEまたはFALSEのいずれかの文字列値を指定します。

使用上の注意

このプロシージャは、指定されたネットワーク・メモリー・オブジェクト内に、ノード状態の文字列値を設定します。ネットワーク・メモリー・オブジェクトを使用した編集とネットワーク分析の操作については、5.8項を参照してください。

ノードがSDO_NET_MEM.NETWORK_MANAGER.SHORTEST_PATHなどのネットワーク分析ファンクションで検討されるかどうかは、そのノードの状態によって決まります。状態がTRUEのノードはネットワーク分析ファンクションの検討対象となり、FALSEのノードは無視されます。

このプロシージャの動作は、クライアント側のJava APIに含まれるNodeインタフェース(5.11.2項を参照)のsetStateメソッドを使用する場合に似ています。

ノードの状態を取得するには、SDO_NET_MEM.NODE.GET_STATEファンクションを使用します。

次の例では、現在のネットワーク・メモリー・オブジェクト内のノードIDが111のノードについて、その状態を文字列FALSEに設定します。(この例は、5.13.4項例5-5からの抜粋です。)

SDO_NET_MEM.NODE.SET_STATE(net_mem, 111, 'FALSE');

SDO_NET_MEM.NODE.SET_TYPE

構文

SDO_NET_MEM.NODE.SET_TYPE(

     net_mem IN VARCHAR2,

     node_id IN NUMBER,

     type IN VARCHAR2);

説明

ノードのタイプを設定します。

パラメータ

net_mem

ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(SDO_NET_MEM.NETWORK_MANAGER.READ_NETWORKプロシージャで作成済)が使用されます。

node_id

ノードID番号を指定します。

タイプ

ノード・タイプを指定します。

使用上の注意

このプロシージャは、指定されたネットワーク・メモリー・オブジェクト内に、ノード・タイプの文字列値を設定します。ネットワーク・メモリー・オブジェクトを使用した編集とネットワーク分析の操作については、5.8項を参照してください。

このプロシージャの動作は、クライアント側のJava APIに含まれるNodeインタフェース(5.11.2項を参照)のsetTypeメソッドを使用する場合に似ています。

ノードのタイプ値を取得するには、SDO_NET_MEM.NODE.GET_TYPEファンクションを使用します。

次の例では、現在のネットワーク・メモリー・オブジェクト内のノードIDが114のノードについて、そのタイプを設定し、設定したタイプを戻します。(この例は、5.13.4項例5-5からの抜粋です。)

-- SET_TYPE
-- Set the type of node 114 to 'Research'.
SDO_NET_MEM.NODE.SET_TYPE(net_mem, 114, 'Research');
-- GET_TYPE
res_string := SDO_NET_MEM.NODE.GET_TYPE(net_mem, 114);
DBMS_OUTPUT.PUT_LINE('The type of node 114 is: ' || res_string);
. . .
The type of node 114 is: Research

SDO_NET_MEM.PATH.COMPUTE_GEOMETRY

構文

SDO_NET_MEM.PATH.COMPUTE_GEOMETRY(

     net_mem IN VARCHAR2,

     path_id IN NUMBER,

     tolerance IN NUMBER);

説明

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

パラメータ

net_mem

ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(SDO_NET_MEM.NETWORK_MANAGER.READ_NETWORKプロシージャで作成済)が使用されます。

path_id

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

tolerance

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

使用上の注意

このプロシージャは、指定されたネットワーク・メモリー・オブジェクト内の指定パスに対して、そのSDO_GEOMETRYオブジェクトを計算します。ネットワーク・メモリー・オブジェクトを使用した編集とネットワーク分析の操作については、5.8項を参照してください。

このプロシージャの動作は、クライアント側のJava APIに含まれるPathインタフェース(5.11.2項を参照)のcomputeGeometryメソッドを使用する場合に似ています。

計算されたジオメトリを取得するには、SDO_NET_MEM.PATH.GET_GEOMETRYファンクションを使用します。

次の例では、現在のネットワーク・メモリー・オブジェクト内のパスについて、その空間ジオメトリを計算し、その計算されたジオメトリをres_geomという名前の変数(SDO_GEOMETRY型)に代入します。

-- COMPUTE_GEOMETRY
SDO_NET_MEM.PATH.COMPUTE_GEOMETRY(net_mem, path_id, 0.05);
-- GET_GEOMETRY
res_geom := SDO_NET_MEM.PATH.GET_GEOMETRY(net_mem, path_id);

SDO_NET_MEM.PATH.GET_COST

構文

SDO_NET_MEM.PATH.GET_COST(

     net_mem IN VARCHAR2,

     path_id IN NUMBER

     ) RETURN NUMBER;

説明

パスのコスト値を戻します。

パラメータ

net_mem

ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(SDO_NET_MEM.NETWORK_MANAGER.READ_NETWORKプロシージャで作成済)が使用されます。

path_id

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

使用上の注意

このファンクションは、指定されたネットワーク・メモリー・オブジェクト内のパスについて、そのコスト値(数値)を戻します。ネットワーク・メモリー・オブジェクトを使用した編集とネットワーク分析の操作については、5.8項を参照してください。

このファンクションの動作は、クライアント側のJava APIに含まれるPathインタフェース(5.11.2項を参照)のgetCostメソッドを使用する場合と似ています。

次の例では、現在のネットワーク・メモリー・オブジェクト内のパスについて、そのコストを戻します。

res_numeric := SDO_NET_MEM.PATH.GET_COST(net_mem, path_id);
DBMS_OUTPUT.PUT_LINE('The cost of path ' || path_id || ' is: ' || res_numeric);
. . .
The cost of path 21 is: 50

SDO_NET_MEM.PATH.GET_END_NODE_ID

構文

SDO_NET_MEM.PATH.GET_END_NODE_ID(

     net_mem IN VARCHAR2,

     path_id IN NUMBER

     ) RETURN NUMBER;

説明

パスの終了ノードのノードID値を戻します。

パラメータ

net_mem

ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(SDO_NET_MEM.NETWORK_MANAGER.READ_NETWORKプロシージャで作成済)が使用されます。

path_id

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

使用上の注意

このファンクションは、指定されたネットワーク・メモリー・オブジェクト内のパスについて、その終了ノードID値(数値)を戻します。ネットワーク・メモリー・オブジェクトを使用した編集とネットワーク分析の操作については、5.8項を参照してください。

このファンクションの動作は、クライアント側のJava APIに含まれるPathインタフェース(5.11.2項を参照)のgetEndNodeIDメソッドを使用する場合と似ています。

次の例では、現在のネットワーク・メモリー・オブジェクト内のパスについて、その終了ノードのノードIDを戻します。

res_numeric := SDO_NET_MEM.PATH.GET_END_NODE_ID(net_mem, path_id);
DBMS_OUTPUT.PUT_LINE('The end node ID of path ' || path_id || ' is: ' || res_numeric);
. . .
The end node ID of path 21 is: 105

SDO_NET_MEM.PATH.GET_GEOMETRY

構文

SDO_NET_MEM.PATH.GET_GEOMETRY(

     net_mem IN VARCHAR2,

     path_id IN NUMBER

     ) RETURN SDO_GEOMETRY;

説明

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

パラメータ

net_mem

ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(SDO_NET_MEM.NETWORK_MANAGER.READ_NETWORKプロシージャで作成済)が使用されます。

path_id

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

使用上の注意

このファンクションは、指定されたネットワーク・メモリー・オブジェクト内のパスについて、そのSDO_GEOMETRYオブジェクトを戻します。ネットワーク・メモリー・オブジェクトを使用した編集とネットワーク分析の操作については、5.8項を参照してください。

以前にSDO_NET_MEM.PATH.COMPUTE_GEOMETRYプロシージャを使用してジオメトリを計算したことがない場合、GET_GEOMETRYファンクションはNULLを戻します。実際のジオメトリを戻すには、最初にSDO_NET_MEM.PATH.COMPUTE_GEOMETRYプロシージャをコールする必要があります。

このファンクションの動作は、クライアント側のJava APIに含まれるPathインタフェース(5.11.2項を参照)のgetPathメソッドを使用する場合と似ています。

パスのジオメトリID値を設定するには、SDO_NET_MEM.PATH.SET_GEOMETRYプロシージャを使用します。

次の例では、現在のネットワーク・メモリー・オブジェクト内のパスについて、その空間ジオメトリを戻します。

res_geom := SDO_NET_MEM.PATH.GET_GEOMETRY(net_mem, path_id);

SDO_NET_MEM.PATH.GET_LINK_IDS

構文

SDO_NET_MEM.PATH.GET_LINK_IDS(

     net_mem IN VARCHAR2,

     path_id IN NUMBER

     ) RETURN SDO_NUMBER_ARRAY;

説明

パスに含まれるリンクについて、そのリンクID値の配列を戻します。

パラメータ

net_mem

ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(SDO_NET_MEM.NETWORK_MANAGER.READ_NETWORKプロシージャで作成済)が使用されます。

path_id

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

使用上の注意

このファンクションは、指定されたネットワーク・メモリー・オブジェクト内のパスに含まれているリンクのリンクID値が設定されたSDO_NUMBER_ARRAYオブジェクトを戻します。ネットワーク・メモリー・オブジェクトを使用した編集とネットワーク分析の操作については、5.8項を参照してください。

このファンクションの動作は、クライアント側のJava APIに含まれるPathインタフェース(5.11.2項を参照)のgetLinksメソッドを使用する場合と似ています。

次の例では、現在のネットワーク・メモリー・オブジェクト内のパスに含まれているリンクを戻します。

res_array := SDO_NET_MEM.PATH.GET_LINK_IDS(net_mem, path_id);
DBMS_OUTPUT.PUT_LINE('Path ' || path_id || ' has the following links: ');
FOR indx IN res_array.FIRST..res_array.LAST
LOOP
  DBMS_OUTPUT.PUT(res_array(indx) || ' ');
END LOOP;
. . .
Path 21 has the following links:                                                
1102 1104 1105

SDO_NET_MEM.PATH.GET_NAME

構文

SDO_NET_MEM.PATH.GET_NAME(

     net_mem IN VARCHAR2,

     path_id IN NUMBER

     ) RETURN VARCHAR2;

説明

パスの名前を戻します。

パラメータ

net_mem

ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(SDO_NET_MEM.NETWORK_MANAGER.READ_NETWORKプロシージャで作成済)が使用されます。

path_id

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

使用上の注意

このファンクションは、指定されたネットワーク・メモリー・オブジェクト内のパスについて、そのパス名の文字列を戻します。ネットワーク・メモリー・オブジェクトを使用した編集とネットワーク分析の操作については、5.8項を参照してください。

このファンクションの動作は、クライアント側のJava APIに含まれるPathインタフェース(5.11.2項を参照)のgetNameメソッドを使用する場合と似ています。

パスの名前を設定するには、SDO_NET_MEM.PATH.SET_NAMEプロシージャを使用します。

次の例では、現在のネットワーク・メモリー・オブジェクト内のパスについて、その名前を文字列My favorite pathに設定し、その設定した名前を戻します。

-- SET_NAME
-- Set the name of path to 'My favorite path'.
SDO_NET_MEM.PATH.SET_NAME(net_mem, path_id, 'My favorite path');
-- GET_NAME
res_string := SDO_NET_MEM.PATH.GET_NAME(net_mem, path_id);
DBMS_OUTPUT.PUT_LINE('The name of path ' || path_id || ' is: ' || res_string);
. . .
The name of path 21 is: My favorite path

SDO_NET_MEM.PATH.GET_NO_OF_LINKS

構文

SDO_NET_MEM.PATH.GET_NO_OF_LINKS(

     net_mem IN VARCHAR2,

     path_id IN NUMBER

     ) RETURN NUMBER;

説明

パスに含まれるリンクの数を戻します。

パラメータ

net_mem

ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(SDO_NET_MEM.NETWORK_MANAGER.READ_NETWORKプロシージャで作成済)が使用されます。

path_id

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

使用上の注意

このファンクションは、指定されたネットワーク・メモリー・オブジェクト内のパスに含まれているリンクの数を戻します。ネットワーク・メモリー・オブジェクトを使用した編集とネットワーク分析の操作については、5.8項を参照してください。

このファンクションの動作は、クライアント側のJava APIに含まれるPathインタフェース(5.11.2項を参照)のgetNoOfLinksメソッドを使用する場合と似ています。

次の例では、現在のネットワーク・メモリー・オブジェクト内のパスに含まれているリンクの数を戻します。

res_numeric := SDO_NET_MEM.PATH.GET_NO_OF_LINKS(net_mem, path_id);
DBMS_OUTPUT.PUT_LINE('The number of links in path ' || path_id || ' is: ' || res_numeric);
. . .
The number of links in path 21 is: 3

SDO_NET_MEM.PATH.GET_NODE_IDS

構文

SDO_NET_MEM.PATH.GET_NODE_IDS(

     net_mem IN VARCHAR2,

     path_id IN NUMBER

     ) RETURN SDO_NUMBER_ARRAY;

説明

パス内のノードについて、そのノードID値の配列を戻します。

パラメータ

net_mem

ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(SDO_NET_MEM.NETWORK_MANAGER.READ_NETWORKプロシージャで作成済)が使用されます。

path_id

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

使用上の注意

このファンクションは、指定されたネットワーク・メモリー・オブジェクト内のパスに含まれているノードのノードID値がセットされたSDO_NUMBER_ARRAYオブジェクトを戻します。ネットワーク・メモリー・オブジェクトを使用した編集とネットワーク分析の操作については、5.8項を参照してください。

このファンクションの動作は、クライアント側のJava APIに含まれるPathインタフェース(5.11.2項を参照)のgetNodesメソッドを使用する場合と似ています。

次の例では、現在のネットワーク・メモリー・オブジェクト内のパスに含まれているノードについて、そのノードIDを戻します。

res_array := SDO_NET_MEM.PATH.GET_NODE_IDS(net_mem, path_id);
DBMS_OUTPUT.PUT('Path ' || path_id || ' has the following nodes: ');
FOR indx IN res_array.FIRST..res_array.LAST
LOOP
  DBMS_OUTPUT.PUT(res_array(indx) || ' ');
END LOOP;
DBMS_OUTPUT.PUT_LINE(' ');
. . .
Path 21 has the following nodes: 101 103 104 105

SDO_NET_MEM.PATH.GET_START_NODE_ID

構文

SDO_NET_MEM.PATH.GET_START_NODE_ID(

     net_mem IN VARCHAR2,

     path_id IN NUMBER

     ) RETURN NUMBER;

説明

パスの開始ノードのノードID値を戻します。

パラメータ

net_mem

ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(SDO_NET_MEM.NETWORK_MANAGER.READ_NETWORKプロシージャで作成済)が使用されます。

path_id

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

使用上の注意

このファンクションは、指定されたネットワーク・メモリー・オブジェクト内のパスについて、その開始ノードID値(数値)を戻します。ネットワーク・メモリー・オブジェクトを使用した編集とネットワーク分析の操作については、5.8項を参照してください。

このファンクションの動作は、クライアント側のJava APIに含まれるPathインタフェース(5.11.2項を参照)のgetStartNodeメソッドを使用する場合と似ています。

次の例では、現在のネットワーク・メモリー・オブジェクト内のパスについて、その開始ノードIDを戻します。

res_numeric := SDO_NET_MEM.PATH.GET_START_NODE_ID(net_mem, path_id);
DBMS_OUTPUT.PUT_LINE('The start node ID of path ' || path_id || ' is: ' || res_numeric);
. . .
The start node ID of path 21 is: 101

SDO_NET_MEM.PATH.GET_TYPE

構文

SDO_NET_MEM.PATH.GET_TYPE(

     net_mem IN VARCHAR2,

     path_id IN NUMBER

     ) RETURN VARCHAR2;

説明

パスのタイプを戻します。

パラメータ

net_mem

ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(SDO_NET_MEM.NETWORK_MANAGER.READ_NETWORKプロシージャで作成済)が使用されます。

path_id

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

使用上の注意

このファンクションは、指定されたネットワーク・メモリー・オブジェクト内のパスについて、そのタイプ名の文字列を戻します。ネットワーク・メモリー・オブジェクトを使用した編集とネットワーク分析の操作については、5.8項を参照してください。

このファンクションの動作は、クライアント側のJava APIに含まれるPathインタフェース(5.11.2項を参照)のgetTypeメソッドを使用する場合と似ています。

パスのタイプを設定するには、SDO_NET_MEM.PATH.SET_TYPEプロシージャを使用します。

次の例では、現在のネットワーク・メモリー・オブジェクト内のパスについて、そのタイプを文字列Logical connectionsに設定し、その設定したタイプを戻します。

-- SET_TYPE
-- Set the type of the path to 'Logical connections'.
SDO_NET_MEM.PATH.SET_TYPE(net_mem, path_id, 'Logical connections');
-- GET_TYPE
res_string := SDO_NET_MEM.PATH.GET_TYPE(net_mem, path_id);
DBMS_OUTPUT.PUT_LINE('The type of path ' || path_id || ' is: ' || res_string);
. . .
The type of path 21 is: Logical connections

SDO_NET_MEM.PATH.IS_ACTIVE

構文

SDO_NET_MEM.PATH.IS_ACTIVE(

     net_mem IN VARCHAR2,

     path_id IN NUMBER

     ) RETURN VARCHAR2;

説明

パスがアクティブかどうかを確認します。

パラメータ

net_mem

ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(SDO_NET_MEM.NETWORK_MANAGER.READ_NETWORKプロシージャで作成済)が使用されます。

path_id

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

使用上の注意

このファンクションは、指定されたネットワーク・メモリー・オブジェクト内のパスがアクティブであれば文字列TRUEを戻し、そうでなければFALSEを戻します。ネットワーク・メモリー・オブジェクトを使用した編集とネットワーク分析の操作については、5.8項を参照してください。

このファンクションの動作は、クライアント側のJava APIに含まれるPathインタフェース(5.11.2項を参照)のisActiveメソッドを使用する場合に似ています。

次の例では、現在のネットワーク・メモリー・オブジェクト内のパスがアクティブかどうかを確認します。

res_string := SDO_NET_MEM.PATH.IS_ACTIVE(net_mem, path_id);
DBMS_OUTPUT.PUT_LINE('Is path ' || path_id || ' active?: ' || res_string);
. . .
Is path 21 active?: TRUE

SDO_NET_MEM.PATH.IS_CLOSED

構文

SDO_NET_MEM.PATH.IS_CLOSED(

     net_mem IN VARCHAR2,

     path_id IN NUMBER

     ) RETURN VARCHAR2;

説明

パスが閉じているかどうかを確認します。

パラメータ

net_mem

ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(SDO_NET_MEM.NETWORK_MANAGER.READ_NETWORKプロシージャで作成済)が使用されます。

path_id

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

使用上の注意

このファンクションは、指定されたネットワーク・メモリー・オブジェクト内のパスが閉じていれば文字列TRUEを戻し、そうでなければFALSEを戻します。ネットワーク・メモリー・オブジェクトを使用した編集とネットワーク分析の操作については、5.8項を参照してください。

このファンクションの動作は、クライアント側のJava APIに含まれるPathインタフェース(5.11.2項を参照)のisClosedメソッドを使用する場合と似ています。

次の例では、現在のネットワーク・メモリー・オブジェクト内のパスが閉じているかどうかを確認します。

res_string := SDO_NET_MEM.PATH.IS_CLOSED(net_mem, path_id);
DBMS_OUTPUT.PUT_LINE('Is path ' || path_id || ' closed?: ' || res_string);
. . .
Is path 21 closed?: FALSE

SDO_NET_MEM.PATH.IS_CONNECTED

構文

SDO_NET_MEM.PATH.IS_CONNECTED(

     net_mem IN VARCHAR2,

     path_id IN NUMBER

     ) RETURN VARCHAR2;

説明

パスが接続されているかどうかを確認します。

パラメータ

net_mem

ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(SDO_NET_MEM.NETWORK_MANAGER.READ_NETWORKプロシージャで作成済)が使用されます。

path_id

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

使用上の注意

このファンクションは、指定されたネットワーク・メモリー・オブジェクト内のパスが接続されていれば文字列TRUEを戻し、そうでなければFALSEを戻します。ネットワーク・メモリー・オブジェクトを使用した編集とネットワーク分析の操作については、5.8項を参照してください。

このファンクションの動作は、クライアント側のJava APIに含まれるPathインタフェース(5.11.2項を参照)のisConnectedメソッドを使用する場合に似ています。

次の例では、現在のネットワーク・メモリー・オブジェクト内のパスが接続されているかどうかを確認します。

res_string := SDO_NET_MEM.PATH.IS_CONNECTED(net_mem, path_id);
DBMS_OUTPUT.PUT_LINE('Is path ' || path_id || ' connected?: ' || res_string);
. . .
Is path 21 connected?: FALSE

SDO_NET_MEM.PATH.IS_LOGICAL

構文

SDO_NET_MEM.PATH.IS_LOGICAL(

     net_mem IN VARCHAR2,

     path_id IN NUMBER

     ) RETURN VARCHAR2;

説明

パスが論理ネットワーク内にあるかどうかを確認します。

パラメータ

net_mem

ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(SDO_NET_MEM.NETWORK_MANAGER.READ_NETWORKプロシージャで作成済)が使用されます。

path_id

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

使用上の注意

このファンクションは、指定されたネットワーク・メモリー・オブジェクト内のパスが論理ネットワークの内部にあれば文字列TRUEを戻し、そうでなければFALSEを戻します。ネットワーク・メモリー・オブジェクトを使用した編集とネットワーク分析の操作については、5.8項を参照してください。

このファンクションの動作は、クライアント側のJava APIに含まれるPathインタフェース(5.11.2項を参照)のisLogicalメソッドを使用する場合と似ています。

次の例では、現在のネットワーク・メモリー・オブジェクト内のパスが論理パスかどうかを確認します。

res_string := SDO_NET_MEM.PATH.IS_LOGICAL(net_mem, path_id);
DBMS_OUTPUT.PUT_LINE('Is path ' || path_id || ' a logical path?: ' || res_string);
. . .
Is path 21 a logical path?: TRUE

SDO_NET_MEM.PATH.IS_SIMPLE

構文

SDO_NET_MEM.PATH.IS_SIMPLE(

     net_mem IN VARCHAR2,

     path_id IN NUMBER

     ) RETURN VARCHAR2;

説明

パスが単純かどうかを確認します。

パラメータ

net_mem

ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(SDO_NET_MEM.NETWORK_MANAGER.READ_NETWORKプロシージャで作成済)が使用されます。

path_id

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

使用上の注意

このファンクションは、指定されたネットワーク・メモリー・オブジェクト内のパスが単純であれば文字列TRUEを戻し、そうでなければ(複雑なパスであれば)FALSEを戻します。単純なパスでは、各リンクを1回使用することによって開始ノードから終了ノードまで横断できる、リンクの順序付けされたリストが形成されます。複雑なパスでは、開始ノードから終了ノードまで移動するために、複数のオプションがあります。

ネットワーク・メモリー・オブジェクトを使用した編集とネットワーク分析の操作については、5.8項を参照してください。

このファンクションの動作は、クライアント側のJava APIに含まれるPathインタフェース(5.11.2項を参照)のisSimpleメソッドを使用する場合に似ています。

次の例では、現在のネットワーク・メモリー・オブジェクト内のパスが単純なパスかどうかを確認します。

res_string := SDO_NET_MEM.PATH.IS_SIMPLE(net_mem, path_id);
DBMS_OUTPUT.PUT_LINE('Is path ' || path_id || ' a simple path?: ' || res_string);
. . .
Is path 21 a simple path?: TRUE

SDO_NET_MEM.PATH.IS_TEMPORARY

構文

SDO_NET_MEM.PATH.IS_TEMPORARY(

     net_mem IN VARCHAR2,

     path_id IN NUMBER

     ) RETURN VARCHAR2;

説明

パスが一時パスかどうかを確認します。

パラメータ

net_mem

ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(SDO_NET_MEM.NETWORK_MANAGER.READ_NETWORKプロシージャで作成済)が使用されます。

path_id

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

使用上の注意

このファンクションは、指定されたネットワーク・メモリー・オブジェクト内のパスが一時パスであれば文字列TRUEを戻し、そうでなければFALSEを戻します。ネットワーク・メモリー・オブジェクトを使用した編集とネットワーク分析の操作については、5.8項を参照してください。

一時的なリンク、ノードおよびパスは、SDO_NET_MEM.NETWORK_MANAGER.WRITE_NETWORKプロシージャをコールした場合でもデータベースには保存されません。

このファンクションの動作は、クライアント側のJava APIに含まれるPathインタフェース(5.11.2項を参照)のisTemporaryメソッドを使用する場合に似ています。

次の例では、現在のネットワーク・メモリー・オブジェクト内のパスが一時パスかどうかを確認します。

res_string := SDO_NET_MEM.PATH.IS_TEMPORARY(net_mem, path_id);
DBMS_OUTPUT.PUT_LINE('Is path ' || path_id || ' temporary?: ' || res_string);
. . .
Is path 21 temporary?: FALSE

SDO_NET_MEM.PATH.SET_GEOMETRY

構文

SDO_NET_MEM.PATH.SET_GEOMETRY(

     net_mem IN VARCHAR2,

     path_id IN NUMBER,

     geom IN SDO_GEOMETRY);

説明

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

パラメータ

net_mem

ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(SDO_NET_MEM.NETWORK_MANAGER.READ_NETWORKプロシージャで作成済)が使用されます。

path_id

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

geom

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

使用上の注意

このプロシージャは、指定されたネットワーク・メモリー・オブジェクト内のノードに対して、そのSDO_GEOMETRYオブジェクトを作成します。ネットワーク・メモリー・オブジェクトを使用した編集とネットワーク分析の操作については、5.8項を参照してください。

このプロシージャの動作は、クライアント側のJava APIに含まれるPathインタフェース(5.11.2項を参照)のsetGeometryメソッドを使用する場合に似ています。

パスのジオメトリを取得するには、SDO_NET_MEM.PATH.GET_GEOMETRYファンクションを使用します。

次の例では、現在のネットワーク・メモリー・オブジェクト内のパスについて、その空間ジオメトリを設定します。

SDO_NET_MEM.PATH.SET_GEOMETRY(net_mem, path_id,
  SDO_GEOMETRY(
    2002, NULL, NULL,
    SDO_ELEM_INFO_ARRAY(1,2,1),
    SDO_ORDINATE_ARRAY(2,2, 2,4, 8,4, 12,4, 12,10, 8,10, 5,14)));

SDO_NET_MEM.PATH.SET_NAME

構文

SDO_NET_MEM.PATH.SET_NAME(

     net_mem IN VARCHAR2,

     path_id IN NUMBER,

     path_name IN VARCHAR2);

説明

パスの名前を設定します。

パラメータ

net_mem

ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(SDO_NET_MEM.NETWORK_MANAGER.READ_NETWORKプロシージャで作成済)が使用されます。

path_id

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

path_name

パス名を指定します。

使用上の注意

このプロシージャは、指定されたネットワーク・メモリー・オブジェクト内に、パス名の文字列値を設定します。ネットワーク・メモリー・オブジェクトを使用した編集とネットワーク分析の操作については、5.8項を参照してください。

このプロシージャの動作は、クライアント側のJava APIに含まれるPathインタフェース(5.11.2項を参照)のsetNameメソッドを使用する場合に似ています。

パスの名前を取得するには、SDO_NET_MEM.PATH.GET_NAMEファンクションを使用します。

次の例では、現在のネットワーク・メモリー・オブジェクト内のパスについて、その名前を文字列My favorite pathに設定し、その設定した名前を戻します。

-- SET_NAME
-- Set the name of path to 'My favorite path'.
SDO_NET_MEM.PATH.SET_NAME(net_mem, path_id, 'My favorite path');
-- GET_NAME
res_string := SDO_NET_MEM.PATH.GET_NAME(net_mem, path_id);
DBMS_OUTPUT.PUT_LINE('The name of path ' || path_id || ' is: ' || res_string);
. . .
The name of path 21 is: My favorite path

SDO_NET_MEM.PATH.SET_PATH_ID

構文

SDO_NET_MEM.PATH.SET_PATH_ID(

     net_mem IN VARCHAR2,

     path_id IN NUMBER,

     new_path_id IN NUMBER);

説明

パスのパスID値を設定します。

パラメータ

net_mem

ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(SDO_NET_MEM.NETWORK_MANAGER.READ_NETWORKプロシージャで作成済)が使用されます。

path_id

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

new_path_id

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

使用上の注意

このプロシージャは、指定されたネットワーク・メモリー・オブジェクト内に、パスID値(数値)を設定します。ネットワーク・メモリー・オブジェクトを使用した編集とネットワーク分析の操作については、5.8項を参照してください。

このプロシージャの動作は、クライアント側のJava APIに含まれるPathインタフェース(5.11.2項を参照)のsetPathIDメソッドを使用する場合に似ています。

次の例では、現在のネットワーク・メモリー・オブジェクト内のパスについて、そのパスIDを6789に設定します。

SDO_NET_MEM.PATH.SET_PATH_ID(net_mem, path_id, 6789);

SDO_NET_MEM.PATH.SET_TYPE

構文

SDO_NET_MEM.PATH.SET_TYPE(

     net_mem IN VARCHAR2,

     path_id IN NUMBER,

     type IN VARCHAR2);

説明

パスのタイプを設定します。

パラメータ

net_mem

ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(SDO_NET_MEM.NETWORK_MANAGER.READ_NETWORKプロシージャで作成済)が使用されます。

path_id

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

タイプ

パス・タイプを指定します。

使用上の注意

このプロシージャは、指定されたネットワーク・メモリー・オブジェクト内に、パス・タイプの文字列値を設定します。ネットワーク・メモリー・オブジェクトを使用した編集とネットワーク分析の操作については、5.8項を参照してください。

このプロシージャの動作は、クライアント側のJava APIに含まれるPathインタフェース(5.11.2項を参照)のsetTypeメソッドを使用する場合に似ています。

パスのタイプ値を取得するには、SDO_NET_MEM.PATH.GET_TYPEファンクションを使用します。

次の例では、現在のネットワーク・メモリー・オブジェクト内のパスについて、そのパス・タイプを文字列Scenicに設定します。

SDO_NET_MEM.PATH.SET_TYPE(net_mem, path_id, 'Scenic');