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_NETWORK、SDO_NET_MEM.NETWORK.ADD_NODE、SDO_NET_MEM.NODE.GET_COSTのように指定します。
SDO_NET_MEMサブプログラムは、次のようにグループ化されています。
SDO_NET_MEM.NETWORK_MANAGERサブプログラムは、oracle.spatial.network.NetworkManager
Javaクラスに関連します。このサブプログラムでは、ネットワーク・メモリー・オブジェクトの作成と削除、およびネットワークの分析を実行できます。
SDO_NET_MEM.NETWORKサブプログラムは、oracle.spatial.network.Network
Javaインタフェースに関連します。このサブプログラムでは、ノード、リンクおよびパスを追加および削除できます。
SDO_NET_MEM.NODEサブプログラムは、oracle.spatial.network.Node
Javaインタフェースに関連します。このサブプログラムでは、ノードの属性を取得および設定できます。
SDO_NET_MEM.LINKサブプログラムは、oracle.spatial.network.Link
Javaインタフェースに関連します。このサブプログラムでは、リンクの属性を取得および設定できます。
SDO_NET_MEM.PATHサブプログラムは、oracle.spatial.network.Path
Javaインタフェースに関連します。このサブプログラムでは、パスの属性を取得および設定できます。
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 |
|
SDO_NET_MEM.NETWORK |
|
SDO_NET_MEM.NODE |
|
SDO_NET_MEM.LINK |
|
SDO_NET_MEM.PATH |
|
この章では、SDO_NET_MEMサブプログラムのリファレンス情報を、グループ別にサブプログラム名のアルファベット順に説明します。最初に、どのグループにも属さないSDO_NET_MEM.SET_MAX_MEMORY_SIZEプロシージャを説明します。
構文
SDO_NET_MEM.SET_MAX_MEMORY_SIZE(
maxsize IN NUMBER);
説明
Oracle Java仮想マシンで実行するアプリケーション用の最大Javaヒープ・サイズを設定します。
パラメータ
最大Javaヒープ・サイズのバイト数を指定します。
使用上の注意
java.lang.OutOfMemoryError
例外が発生した場合は、このプロシージャを使用して、最大ヒープ・サイズを増やすことができます。
システムの上限より大きな値を指定すると、システムの上限値が使用されます。
例
次の例では、最大Javaヒープ・サイズを536870912(512MB)に設定します。
EXECUTE SDO_NET_MEM.SET_MAX_MEMORY_SIZE(536870912);
構文
SDO_NET_MEM.LINK.GET_CHILD_LINKS(
net_mem IN VARCHAR2,
link_id IN NUMBER
) RETURN SDO_NUMBER_ARRAY;
説明
リンクの子リンクを戻します。
パラメータ
ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(SDO_NET_MEM.NETWORK_MANAGER.READ_NETWORKプロシージャで作成済)が使用されます。
リンク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(
net_mem IN VARCHAR2,
link_id IN NUMBER
) RETURN SDO_NUMBER_ARRAY;
説明
リンクの逆リンクを戻します。
パラメータ
ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(SDO_NET_MEM.NETWORK_MANAGER.READ_NETWORKプロシージャで作成済)が使用されます。
リンク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(
net_mem IN VARCHAR2,
link_id IN NUMBER
) RETURN NUMBER;
説明
リンクのコスト値を戻します。
パラメータ
ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(SDO_NET_MEM.NETWORK_MANAGER.READ_NETWORKプロシージャで作成済)が使用されます。
リンク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(
net_mem IN VARCHAR2,
link_id IN NUMBER
) RETURN NUMBER;
説明
LRSネットワーク内のリンクについて、その終了メジャー値を戻します。
パラメータ
ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(SDO_NET_MEM.NETWORK_MANAGER.READ_NETWORKプロシージャで作成済)が使用されます。
リンク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(
net_mem IN VARCHAR2,
link_id IN NUMBER
) RETURN NUMBER;
説明
リンクの終了ノードのノードIDを戻します。
パラメータ
ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(SDO_NET_MEM.NETWORK_MANAGER.READ_NETWORKプロシージャで作成済)が使用されます。
リンク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(
net_mem IN VARCHAR2,
link_id IN NUMBER
) RETURN NUMBER;
説明
リンクのジオメトリIDを戻します。
パラメータ
ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(SDO_NET_MEM.NETWORK_MANAGER.READ_NETWORKプロシージャで作成済)が使用されます。
リンク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(
net_mem IN VARCHAR2,
link_id IN NUMBER
) RETURN SDO_GEOMETRY;
説明
リンクの空間ジオメトリ・オブジェクトを戻します。
パラメータ
ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(SDO_NET_MEM.NETWORK_MANAGER.READ_NETWORKプロシージャで作成済)が使用されます。
リンク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(
net_mem IN VARCHAR2,
link_id IN NUMBER
) RETURN NUMBER;
説明
リンクの階層レベルを戻します。
パラメータ
ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(SDO_NET_MEM.NETWORK_MANAGER.READ_NETWORKプロシージャで作成済)が使用されます。
リンク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(
net_mem IN VARCHAR2,
link_id IN NUMBER
) RETURN VARCHAR2;
説明
リンクの名前を戻します。
パラメータ
ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(SDO_NET_MEM.NETWORK_MANAGER.READ_NETWORKプロシージャで作成済)が使用されます。
リンク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(
net_mem IN VARCHAR2,
link_id IN NUMBER
) RETURN NUMBER;
説明
リンクの親リンクのリンクID番号を戻します。
パラメータ
ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(SDO_NET_MEM.NETWORK_MANAGER.READ_NETWORKプロシージャで作成済)が使用されます。
リンク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(
net_mem IN VARCHAR2,
link_id IN NUMBER
) RETURN SDO_NUMBER_ARRAY;
説明
リンクの兄弟リンクを戻します。
パラメータ
ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(SDO_NET_MEM.NETWORK_MANAGER.READ_NETWORKプロシージャで作成済)が使用されます。
リンク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(
net_mem IN VARCHAR2,
link_id IN NUMBER
) RETURN NUMBER;
説明
リンクの開始メジャー値を戻します。
パラメータ
ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(SDO_NET_MEM.NETWORK_MANAGER.READ_NETWORKプロシージャで作成済)が使用されます。
リンク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(
net_mem IN VARCHAR2,
link_id IN NUMBER
) RETURN NUMBER;
説明
リンクの開始ノードのノードIDを戻します。
パラメータ
ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(SDO_NET_MEM.NETWORK_MANAGER.READ_NETWORKプロシージャで作成済)が使用されます。
リンクID番号を指定します。
使用上の注意
このファンクションは、指定されたネットワーク・メモリー・オブジェクト内のリンクについて、その開始ノードのノードID値を戻します。ネットワーク・メモリー・オブジェクトを使用した編集とネットワーク分析の操作については、5.8項を参照してください。
このファンクションの動作は、クライアント側のJava APIに含まれるLink
インタフェース(5.11.2項を参照)のgetStartNode
メソッドを使用する場合に似ています。
リンクの開始ノードを設定するには、SDO_NET_MEM.LINK.SET_START_NODEプロシージャを使用します。
例
次の例では、現在のネットワーク・メモリー・オブジェクト内のリンクIDが1104のリンクについて、その開始ノードを戻します。 (この例は、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(
net_mem IN VARCHAR2,
link_id IN NUMBER
) RETURN VARCHAR2;
説明
リンクの状態を戻します。
パラメータ
ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(SDO_NET_MEM.NETWORK_MANAGER.READ_NETWORKプロシージャで作成済)が使用されます。
リンクID番号を指定します。
使用上の注意
このファンクションは、指定されたネットワーク・メモリー・オブジェクト内のリンクについて、その状態を戻します。ネットワーク・メモリー・オブジェクトを使用した編集とネットワーク分析の操作については、5.8項を参照してください。
状態は文字列値で、ACTIVE
またはINACTIVE
のいずれかです。リンクがSDO_NET_MEM.NETWORK_MANAGER.SHORTEST_PATHなどのネットワーク分析ファンクションで検討されるかどうかは、そのリンクの状態によって決まります。状態がACTIVE
のリンクはネットワーク分析ファンクションの検討対象となり、INACTIVE
のリンクは無視されます。
このファンクションの動作は、クライアント側の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: ACTIVE
構文
SDO_NET_MEM.LINK.GET_TYPE(
net_mem IN VARCHAR2,
link_id IN NUMBER
) RETURN VARCHAR2;
説明
リンクのタイプを戻します。
パラメータ
ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(SDO_NET_MEM.NETWORK_MANAGER.READ_NETWORKプロシージャで作成済)が使用されます。
リンク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(
net_mem IN VARCHAR2,
link_id IN NUMBER
) RETURN VARCHAR2;
説明
リンクがアクティブかどうかを確認します。
パラメータ
ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(SDO_NET_MEM.NETWORK_MANAGER.READ_NETWORKプロシージャで作成済)が使用されます。
リンク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(
net_mem IN VARCHAR2,
link_id IN NUMBER
) RETURN VARCHAR2;
説明
リンクが論理ネットワーク内にあるかどうかを確認します。
パラメータ
ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(SDO_NET_MEM.NETWORK_MANAGER.READ_NETWORKプロシージャで作成済)が使用されます。
リンク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(
net_mem IN VARCHAR2,
link_id IN NUMBER
) RETURN VARCHAR2;
説明
リンクが一時リンクかどうかを確認します。
パラメータ
ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(SDO_NET_MEM.NETWORK_MANAGER.READ_NETWORKプロシージャで作成済)が使用されます。
リンク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(
net_mem IN VARCHAR2,
link_id IN NUMBER,
cost IN NUMBER);
説明
リンクのコスト値を設定します。
パラメータ
ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(SDO_NET_MEM.NETWORK_MANAGER.READ_NETWORKプロシージャで作成済)が使用されます。
リンクID番号を指定します。
コスト値を指定します。
使用上の注意
このプロシージャは、指定されたネットワーク・メモリー・オブジェクト内のリンクについて、そのコスト値を設定します。ネットワーク・メモリー・オブジェクトを使用した編集とネットワーク分析の操作については、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(
net_mem IN VARCHAR2,
link_id IN NUMBER,
end_node_id IN NUMBER);
説明
リンクの終了ノードを設定します。
パラメータ
ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(SDO_NET_MEM.NETWORK_MANAGER.READ_NETWORKプロシージャで作成済)が使用されます。
リンク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(
net_mem IN VARCHAR2,
link_id IN NUMBER,
geom_id IN NUMBER);
説明
リンクのジオメトリID番号を設定します。
パラメータ
ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(SDO_NET_MEM.NETWORK_MANAGER.READ_NETWORKプロシージャで作成済)が使用されます。
リンク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(
net_mem IN VARCHAR2,
link_id IN NUMBER,
geom IN SDO_GEOMETRY);
説明
リンクの空間ジオメトリを設定します。
パラメータ
ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(SDO_NET_MEM.NETWORK_MANAGER.READ_NETWORKプロシージャで作成済)が使用されます。
リンクID番号を指定します。
空間ジオメトリ・オブジェクトを指定します。
使用上の注意
このプロシージャは、指定されたネットワーク・メモリー・オブジェクト内のリンクについて、その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(
net_mem IN VARCHAR2,
link_id IN NUMBER,
level IN NUMBER);
説明
リンクの階層レベルを設定します。
パラメータ
ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(SDO_NET_MEM.NETWORK_MANAGER.READ_NETWORKプロシージャで作成済)が使用されます。
リンクID番号を指定します。
階層レベル番号を指定します。
使用上の注意
このプロシージャは、指定されたネットワーク・メモリー・オブジェクト内のリンクについて、その階層レベルを設定します。ネットワーク・メモリー・オブジェクトを使用した編集とネットワーク分析の操作については、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(
net_mem IN VARCHAR2,
link_id IN NUMBER,
start_measure IN NUMBER,
end_measure IN NUMBER);
説明
LRSネットワーク内のリンクについて、その開始メジャーと終了メジャーの値を設定します。
パラメータ
ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(SDO_NET_MEM.NETWORK_MANAGER.READ_NETWORKプロシージャで作成済)が使用されます。
リンクID番号を指定します。
開始メジャーの値を指定します。
終了メジャーの値を指定します。
使用上の注意
このプロシージャは、指定されたネットワーク・メモリー・オブジェクト内の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(
net_mem IN VARCHAR2,
link_id IN NUMBER,
link_name IN VARCHAR2);
説明
リンクの名前を設定します。
パラメータ
ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(SDO_NET_MEM.NETWORK_MANAGER.READ_NETWORKプロシージャで作成済)が使用されます。
リンクID番号を指定します。
リンク名の文字列を指定します。
使用上の注意
このプロシージャは、指定されたネットワーク・メモリー・オブジェクト内の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(
net_mem IN VARCHAR2,
link_id IN NUMBER,
parent_link_id IN NUMBER);
説明
リンクの親リンクを設定します。
パラメータ
ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(SDO_NET_MEM.NETWORK_MANAGER.READ_NETWORKプロシージャで作成済)が使用されます。
リンク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(
net_mem IN VARCHAR2,
link_id IN NUMBER,
srart_node_id IN NUMBER);
説明
リンクの開始ノードを設定します。
パラメータ
ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(SDO_NET_MEM.NETWORK_MANAGER.READ_NETWORKプロシージャで作成済)が使用されます。
リンク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(
net_mem IN VARCHAR2,
link_id IN NUMBER,
state IN VARCHAR2);
説明
リンクの状態値を設定します。
パラメータ
ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(SDO_NET_MEM.NETWORK_MANAGER.READ_NETWORKプロシージャで作成済)が使用されます。
リンクID番号を指定します。
状態の値を指定します。ACTIVE
またはINACTIVE
のいずれかの文字列を指定します。
使用上の注意
このプロシージャは、指定されたネットワーク・メモリー・オブジェクト内のリンクについて、その状態を設定します。ネットワーク・メモリー・オブジェクトを使用した編集とネットワーク分析の操作については、5.8項を参照してください。
リンクがSDO_NET_MEM.NETWORK_MANAGER.SHORTEST_PATHなどのネットワーク分析ファンクションで検討されるかどうかは、そのリンクの状態によって決まります。状態がACTIVE
のリンクはネットワーク分析ファンクションの検討対象となり、INACTIVE
のリンクは無視されます。
このプロシージャの動作は、クライアント側のJava APIに含まれるLink
インタフェース(5.11.2項を参照)のsetState
メソッドを使用する場合に似ています。
リンクの状態を取得するには、SDO_NET_MEM.LINK.GET_STATEファンクションを使用します。
例
次の例では、現在のネットワーク・メモリー・オブジェクト内のリンクIDが1119のリンクについて、その状態をINACTIVE
に設定します。 (この例は、5.13.4項の例5-5からの抜粋です。)
SDO_NET_MEM.LINK.SET_STATE(net_mem, 1119, 'INACTIVE');
構文
SDO_NET_MEM.LINK.SET_TYPE(
net_mem IN VARCHAR2,
link_id IN NUMBER,
type IN VARCHAR2);
説明
リンクのタイプを設定します。
パラメータ
ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(SDO_NET_MEM.NETWORK_MANAGER.READ_NETWORKプロシージャで作成済)が使用されます。
リンク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(
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);
説明
ネットワークにリンクを追加します。
パラメータ
ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(SDO_NET_MEM.NETWORK_MANAGER.READ_NETWORKプロシージャで作成済)が使用されます。
追加するリンクのID番号を指定します。
追加するリンクの名前を指定します。
追加するリンクの開始ノードのノードIDを指定します。
追加するリンクの終了ノードのノードIDを指定します。
リンクに関連付けるコスト値を指定します。
LRSジオメトリの場合に、ジオメトリ・オブジェクトのジオメトリIDを指定します。
LRSジオメトリの場合に、そのリンクの開始ノードに対応するジオメトリ・オブジェクトの開始メジャー値を指定します。
LRSジオメトリの場合に、そのリンクの終了ノードに対応するジオメトリ・オブジェクトの終了メジャー値を指定します。
追加するリンクを表す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(
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ノード(メジャー情報を持つ点ジオメトリ)をネットワークに追加します。
パラメータ
ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(SDO_NET_MEM.NETWORK_MANAGER.READ_NETWORKプロシージャで作成済)が使用されます。
追加するノードのノードIDを指定します。
追加するノードの名前を指定します。
ジオメトリ・オブジェクトのジオメトリIDを指定します。
追加するノードのメジャー値を指定します。
追加するノードのジオメトリ・オブジェクトを指定します。3つ目の次元値に対するメジャー値を持つ線形参照システム(LRS)・ジオメトリを指定してください。
ノードが外部ネットワークのノードでもある場合は、その外部ネットワークのネットワーク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(
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);
説明
ジオメトリ・オブジェクトが関連付けられていないノードをネットワークに追加します。
パラメータ
ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(SDO_NET_MEM.NETWORK_MANAGER.READ_NETWORKプロシージャで作成済)が使用されます。
追加するノードのノードIDを指定します。
追加するノードの名前を指定します。
ノードに関連付けるジオメトリ・オブジェクトを指定します。このパラメータがNULLの場合、ジオメトリ・オブジェクトはノードに関連付けられません。
ノードが外部ネットワークのノードでもある場合は、その外部ネットワークのネットワーク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(
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つ以上のパスをネットワークに追加します。
パラメータ
ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(SDO_NET_MEM.NETWORK_MANAGER.READ_NETWORKプロシージャで作成済)が使用されます。
追加するパスのパスIDを指定します。
追加するパスのパス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(
net_mem IN VARCHAR2,
node_id IN NUMBER,
node_name IN VARCHAR2,
x IN VARCHAR2,
y IN VARCHAR2,
srid IN NUMBER);
説明
空間座標が関連付けられているノードをネットワークに追加します。
パラメータ
ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(SDO_NET_MEM.NETWORK_MANAGER.READ_NETWORKプロシージャで作成済)が使用されます。
追加するノードのノードIDを指定します。
追加するノードの名前を指定します。
追加するノードのX軸の座標値を指定します。
追加するノードのY軸の座標値を指定します。
ノードに関連付けられた座標系(空間参照システム)を指定します。 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(
net_mem IN VARCHAR2,
link_id IN NUMBER);
説明
ネットワークからリンクを削除します。
パラメータ
ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(SDO_NET_MEM.NETWORK_MANAGER.READ_NETWORKプロシージャで作成済)が使用されます。
削除するリンクのリンク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(
net_mem IN VARCHAR2,
node_id IN NUMBER);
説明
ネットワークからノードを削除します。
パラメータ
ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(SDO_NET_MEM.NETWORK_MANAGER.READ_NETWORKプロシージャで作成済)が使用されます。
削除するノードのノード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(
net_mem IN VARCHAR2,
path_id IN NUMBER);
説明
ネットワークからパスを削除します。
パラメータ
ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(SDO_NET_MEM.NETWORK_MANAGER.READ_NETWORKプロシージャで作成済)が使用されます。
削除するパスのパス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.LINK.GET_MAX_LINK_ID(
net_mem IN VARCHAR2,
) RETURN NUMBER;
説明
数値が最大のリンクIDを戻します。
パラメータ
ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(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.LINK.GET_MAX_NODE_ID(
net_mem IN VARCHAR2,
) RETURN NUMBER;
説明
数値が最大のノードIDを戻します。
パラメータ
ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(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.LINK.GET_MAX_PATH_ID(
net_mem IN VARCHAR2,
) RETURN NUMBER;
説明
数値が最大のパスIDを戻します。
パラメータ
ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(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.LINK.GET_MAX_SUBPATH_ID(
net_mem IN VARCHAR2,
) RETURN NUMBER;
説明
数値が最大のサブパスIDを戻します。
パラメータ
ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(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(
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つのノード間のパスをすべて戻します。
パラメータ
ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(SDO_NET_MEM.NETWORK_MANAGER.READ_NETWORKプロシージャで作成済)が使用されます。
パスを探すノードのペアを構成する開始ノードのノードIDを指定します。
パスを探すノードのペアを構成する終了ノード(目標ノード)のノードIDを指定します。
結果として戻されるパスのリンクの最大数を指定します。このパラメータがNULLの場合、リンクの最大数は適用されません。
パスに含まれるリンクの最大コスト合計値を指定します。このパラメータがNULLの場合、コスト制限は適用されません。
戻すパスの数の最大値を指定します。このパラメータがNULLの場合、このファンクションの他の条件を満たすすべてのパスが戻されます。
適用するネットワーク制約の名前を指定します。このパラメータがNULLの場合、ネットワーク制約は適用されません。(ネットワーク制約の詳細は、5.6項を参照してください。)
使用上の注意
このファンクションは、指定されたネットワーク・メモリー・オブジェクト内にある、開始ノードと終了ノード(目標ノード)間のパスを戻します。ネットワーク・メモリー・オブジェクトを使用した編集とネットワーク分析の操作については、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(
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');
説明
論理ネットワークを作成してすべての必要な表を作成し、そのネットワークのメタデータを更新します。
パラメータ
ネットワーク名です。
ネットワーク内のリンクの階層レベルの数を指定します。(ネットワーク階層については、5.5項を参照してください。)
文字列値を指定します。リンクが有向リンクである場合はTRUE
、無向リンクの場合(有向リンクでない場合)はFALSE
を指定します。
作成するノード表の名前を指定します。(ノード表については、5.9.1項を参照してください。)このパラメータがNULLの場合、ノード表の名前は<network-name>_NODE$の形式になります。
ノード表のコスト列の名前を指定します。(ノード表については、5.9.1項を参照してください。)このパラメータがNULLの場合、コスト列名はCOSTです。
作成するリンク表の名前を指定します。(リンク表については、5.9.2項を参照してください。)このパラメータがNULLの場合、リンク表の名前は<network-name>_LINK$の形式になります。
リンク表のコスト列の名前を指定します。(リンク表については、5.9.2項を参照してください。)このパラメータがNULLの場合、コスト列名はCOSTです。
作成するパス表の名前を指定します。(パス表については、5.9.3項を参照してください。)このパラメータがNULLの場合、パス表の名前は<network-name>_PATH$の形式になります。
作成するパスリンク表の名前を指定します。(パスリンク表については、5.9.4項を参照してください。)このパラメータがNULLの場合、パスリンク表の名前は<network-name>_PLINK$の形式になります。
作成するサブパス表の名前を指定します。(サブパス表については、5.9.5項を参照してください。)このパラメータがNULLの場合、サブパス表の名前は<network-name>_SPATH$の形式になります。
将来使用するために予約されています。今回のリリースでは、無視されます。
使用上の注意
このプロシージャは、ネットワーク・メモリー・オブジェクト内に論理ネットワークを作成します(ネットワーク・メモリー・オブジェクトの使用方法については、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(
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オブジェクトを含む空間ネットワークを作成してすべての必要な表を作成し、ネットワークのメタデータを更新します。
パラメータ
ネットワーク名です。
ネットワーク内のリンクの階層レベルの数を指定します。(ネットワーク階層については、5.5項を参照してください。)
文字列値を指定します。リンクが有向リンクである場合はTRUE
、無向リンクの場合(有向リンクでない場合)はFALSE
を指定します。
ネットワークに関連付けられた座標系(空間参照システム)を指定します。NULL(座標系が関連付けられていない場合)またはSDO_COORD_REF_SYS表(『Oracle Spatial開発者ガイド』を参照)のSRID列の値のいずれかを指定する必要があります。
データの次元数(LRSメジャー次元を含む)を指定します。
作成するノード表の名前を指定します。(ノード表については、5.9.1項を参照してください。)このパラメータがNULLの場合、ノード表の名前は<network-name>_NODE$の形式になります。
ノード表のコスト列の名前を指定します。(ノード表については、5.9.1項を参照してください。)このパラメータがNULLの場合、コスト列名はCOSTです。
作成するリンク表の名前を指定します。(リンク表については、5.9.2項を参照してください。)このパラメータがNULLの場合、リンク表の名前は<network-name>_LINK$の形式になります。
リンク表のコスト列の名前を指定します。(リンク表については、5.9.2項を参照してください。)このパラメータがNULLの場合、コスト列名はCOSTです。
空間LRSジオメトリに対して作成する表の名前を指定します。
空間LRSジオメトリの表に含まれるSDO_GEOMETRY型の列の名前を指定します。
作成するパス表の名前を指定します。(パス表については、5.9.3項を参照してください。)このパラメータがNULLの場合、パス表の名前は<network-name>_PATH$の形式になります。
パス表のSDO_GEOMETRY型の列の名前を指定します。このパラメータがNULLの場合、ジオメトリ列名はGEOMETRYです。
作成するパスリンク表の名前を指定します。(パスリンク表については、5.9.4項を参照してください。)このパラメータがNULLの場合、パスリンク表の名前は<network-name>_PLINK$の形式になります。
作成するサブパス表の名前を指定します。(サブパス表については、5.9.5項を参照してください。)このパラメータがNULLの場合、サブパス表の名前は<network-name>_SPATH$の形式になります。
サブパス表のSDO_GEOMETRY型の列の名前を指定します。このパラメータがNULLの場合、ジオメトリ列名はGEOMETRYです。
将来使用するために予約されています。今回のリリースでは、無視されます。
使用上の注意
このプロシージャは、ネットワーク・メモリー・オブジェクト内に空間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(
network IN VARCHAR2);
説明
リンク表とパス表の参照整合性制約を作成します。
パラメータ
ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(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(
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オブジェクトを含む空間ネットワークを作成してすべての必要な表を作成し、ネットワークのメタデータを更新します。
パラメータ
ネットワーク名です。
ネットワーク内のリンクの階層レベルの数を指定します。(ネットワーク階層については、5.5項を参照してください。)
文字列値を指定します。リンクが有向リンクである場合はTRUE
、無向リンクの場合(有向リンクでない場合)はFALSE
を指定します。
ネットワークに関連付けられた座標系(空間参照システム)を指定します。NULL(座標系が関連付けられていない場合)またはSDO_COORD_REF_SYS表(『Oracle Spatial開発者ガイド』を参照)のSRID列の値のいずれかを指定する必要があります。
空間データの次元数を指定します。
作成するノード表の名前を指定します。(ノード表については、5.9.1項を参照してください。)このパラメータがNULLの場合、ノード表の名前は<network-name>_NODE$の形式になります。
ノード表のSDO_GEOMETRY型の列の名前を指定します。(ノード表については、5.9.1項を参照してください。)このパラメータがNULLの場合、ジオメトリ列名はGEOMETRYです。
ノード表のコスト列の名前を指定します。(ノード表については、5.9.1項を参照してください。)このパラメータがNULLの場合、コスト列名はCOSTです。
作成するリンク表の名前を指定します。(リンク表については、5.9.2項を参照してください。)このパラメータがNULLの場合、リンク表の名前は<network-name>_LINK$の形式になります。
リンク表のSDO_GEOMETRY型の列の名前を指定します。(リンク表については、5.9.2項を参照してください。)このパラメータがNULLの場合、ジオメトリ列名はGEOMETRYです。
リンク表のコスト列の名前を指定します。(リンク表については、5.9.2項を参照してください。)このパラメータがNULLの場合、コスト列名はCOSTです。
作成するパス表の名前を指定します。(パス表については、5.9.3項を参照してください。)このパラメータがNULLの場合、パス表の名前は<network-name>_PATH$の形式になります。
パス表のSDO_GEOMETRY型の列の名前を指定します。(パス表については、5.9.3項を参照してください。)このパラメータがNULLの場合、ジオメトリ列名はGEOMETRYです。
作成するパスリンク表の名前を指定します。(パスリンク表については、5.9.4項を参照してください。)このパラメータがNULLの場合、パスリンク表の名前は<network-name>_PLINK$の形式になります。
作成するサブパス表の名前を指定します。(サブパス表については、5.9.5項を参照してください。)このパラメータがNULLの場合、サブパス表の名前は<network-name>_SPATH$の形式になります。
パス表のSDO_GEOMETRY型の列の名前を指定します。(パス表については、5.9.3項を参照してください。)このパラメータがNULLの場合、ジオメトリ列名はGEOMETRYです。
将来使用するために予約されています。今回のリリースでは、無視されます。
使用上の注意
このプロシージャは、ネットワーク・メモリー・オブジェクト内に空間(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(
constraint_name IN VARCHAR2);
説明
データベースのJavaリポジトリから、指定したネットワーク制約のクラスをアンロード(削除)し、USER_SDO_NETWORK_CONSTRAINTSビュー(5.10.2項を参照)から該当する制約の行を削除します。
パラメータ
ネットワーク制約の名前を指定します。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(
network IN VARCHAR2);
説明
リンク表とパス表の参照整合性制約を使用不可にします。
パラメータ
ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(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(
net_mem IN VARCHAR2);
説明
ネットワークを削除します。
パラメータ
ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(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(
network IN VARCHAR2);
説明
リンク表とパス表の参照整合性制約を使用可能にします。
パラメータ
ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(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(
net_mem IN VARCHAR2
) RETURN NUMBER;
説明
接続されているコンポーネントのグループの数を戻します。
パラメータ
ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(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
メソッドを使用する場合に似ています。
例
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(
net_mem IN VARCHAR2,
source_node_id IN NUMBER,
constraint IN VARCHAR2 DEFAULT NULL
) RETURN SDO_NUMBER_ARRAY;
説明
指定されたソース・ノードからパスによって到達可能なノードのノードID番号を戻します。
パラメータ
ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(SDO_NET_MEM.NETWORK_MANAGER.READ_NETWORKプロシージャで作成済)が使用されます。
ソース・ノードのノードIDを指定します。
適用するネットワーク制約の名前を指定します。このパラメータが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(
net_mem IN VARCHAR2,
target_node_id IN NUMBER
) RETURN SDO_NUMBER_ARRAY;
説明
指定されたターゲット・ノードに(パスによって)到達可能なノードのノードID番号を戻します。
パラメータ
ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(SDO_NET_MEM.NETWORK_MANAGER.READ_NETWORKプロシージャで作成済)が使用されます。
ターゲット・ノードのノード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(
net_mem IN VARCHAR2,
source_node_id IN NUMBER,
target_node_id IN NUMBER,
constraint IN VARCHAR2 DEFAULT NULL
) RETURN VARCHAR2;
説明
指定されたソース・ノードから指定されたターゲット・ノードにパスによって到達可能かどうかを確認します。
パラメータ
ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(SDO_NET_MEM.NETWORK_MANAGER.READ_NETWORKプロシージャで作成済)が使用されます。
ソース・ノードのノードIDを指定します。
ターゲット・ノードのノードIDを指定します。
適用するネットワーク制約の名前を指定します。このパラメータがNULLの場合、ネットワーク制約は適用されません。(ネットワーク制約の詳細は、5.6項を参照してください。)
使用上の注意
このファンクションは、ソース・ノードからターゲット・ノードに到達可能な場合は文字列TRUE
を戻し、到達不可能な場合は文字列FALSE
を戻します。ネットワーク・メモリー・オブジェクトを使用した編集とネットワーク分析の操作については、5.8項を参照してください。
このファンクションの動作は、クライアント側のJava APIに含まれるNetworkManager
クラス(5.11.2項を参照)のisReachable
メソッドを使用する場合に似ています。
例
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() 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(
net_mem IN VARCHAR2
) RETURN SDO_NUMBER_ARRAY;
説明
最低コスト・スパニング・ツリーを戻します。
パラメータ
ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(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(
net_mem IN VARCHAR2,
start_node_id IN NUMBER,
no_of_neighbors IN NUMBER,
constraint IN VARCHAR2 DEFAULT NULL
) RETURN SDO_NUMBER_ARRAY;
説明
指定された開始ノードに最も近いノードにつながるパスのパスID番号を戻します(ノードの遠近は、合計コストで決定されます)。
パラメータ
ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(SDO_NET_MEM.NETWORK_MANAGER.READ_NETWORKプロシージャで作成済)が使用されます。
開始ノードのノードIDを指定します。
戻すパスIDの最大数を指定します。
適用するネットワーク制約の名前を指定します。このパラメータが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(
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番目の構文)を格納します。
パラメータ
最初の構文の場合は、ネットワークの名前を指定します。指定したネットワークのネットワーク・オブジェクト(ノード、リンク、パス、サブパス)がすべてそのネットワークと同じ名前のネットワーク・メモリー・オブジェクトにコピーされます。2番目の構文の場合は、network
パラメータで指定したネットワークのxmin
、xmax
、ymin
およびymax
パラメータで指定したMBR内にネットワーク・オブジェクトのみを含むネットワーク・メモリー・オブジェクトのユーザー指定の名前を指定します。
ネットワークの名前を指定します。指定したネットワークのネットワーク・オブジェクト(ノード、リンク、パス)がネットワーク・メモリー・オブジェクトに追加されます。xmin
、xmax
、ymin
およびymax
パラメータで指定したMBR内のオブジェクトのみがロードされます。
MBRの最小X座標値を指定します。指定したネットワークのオブジェクトがネットワーク・メモリー・オブジェクトに追加されます。
MBRの最小Y座標値を指定します。指定したネットワークのオブジェクトがネットワーク・メモリー・オブジェクトに追加されます。
MBRの最大X座標値を指定します。指定したネットワークのオブジェクトがネットワーク・メモリー・オブジェクトに追加されます。
MBRの最大Y座標値を指定します。指定したネットワークのオブジェクトがネットワーク・メモリー・オブジェクトに追加されます。
TRUE
を指定すると、ネットワーク・メモリー・オブジェクトが更新可能になり、キャッシュ内での編集操作を実行して、それをデータベースに書き込むことができます。FALSE
を指定すると、ネットワーク・メモリー・オブジェクトが読取り専用になり、キャッシュ内での編集操作も、それをデータベースに書き込むこともできません。
使用上の注意
このプロシージャは、ネットワーク・メモリー・オブジェクトを作成します(その使用方法については、5.8項を参照)。
情報の取得またはネットワーク分析操作のみが必要な場合は、allow_updates
パラメータにFALSE
を指定すると、パフォーマンスが向上します。
allow_updates
がTRUE
として指定されている場合、ネットワーク表(ノード、リンク、パスおよびパスリンク)内の行は、データベースのレベルで(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
という指定したネットワーク領域内のすべてのネットワーク・オブジェクトを、HILLS_PART1
という読取り専用(allow_updates
が'FALSE'
)のネットワーク・メモリー・オブジェクトにコピーします。 ロードされるオブジェクトは、一方の角が経度/緯度の座標(-71.64, 43.32)で、もう一方の角が座標(-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(
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列にロードします。
パラメータ
ネットワーク制約の名前を指定します。
ネットワーク制約を実装するクラスの完全修飾名(パッケージの名前を含む)を指定します。
ネットワーク制約をコンパイルしたときに作成されたクラス・ファイルの場所を特定する、ディレクトリ・オブジェクト(SQL文のCREATE DIRECTORYで作成)の名前を指定します。
ネットワーク制約の説明を記述します。
使用上の注意
このプロシージャをコールする前に、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(
net_mem IN VARCHAR2,
start_node_id IN NUMBER,
goal_node_id IN NUMBER,
constraint IN VARCHAR2 DEFAULT NULL
) RETURN NUMBER;
説明
開始ノードと目標ノード(終了ノード)間の最短パスのパスID番号を戻します(最短パスの判定はA*検索アルゴリズムとコスト検討に基づきます)。
パラメータ
ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(SDO_NET_MEM.NETWORK_MANAGER.READ_NETWORKプロシージャで作成済)が使用されます。
開始ノードのノードIDを指定します。
目標ノード(終了ノード)のノードIDを指定します。
適用するネットワーク制約の名前を指定します。このパラメータがNULLの場合、ネットワーク制約は適用されません。(ネットワーク制約の詳細は、5.6項を参照してください。)
使用上の注意
このファンクションは、指定されたネットワーク・メモリー・オブジェクト内のパスID値を戻します。ネットワーク・メモリー・オブジェクトを使用した編集とネットワーク分析の操作については、5.8項を参照してください。
指定されたノード間にパスを作成できない場合、このファンクションはNULL値を戻します。たとえば、1つ以上のノードまたはリンクがINACTIVE
の場合に、それが原因ですべてのパスが無視されると、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(
net_mem IN VARCHAR2,
start_node_id IN NUMBER,
goal_node_id IN NUMBER,
constraint IN VARCHAR2 DEFAULT NULL
) RETURN NUMBER;
説明
開始ノードと目標ノード(終了ノード)間の最短パスのパスID番号を戻します(最短パスの判定はDijkstra検索アルゴリズムとコスト検討に基づきます)。
パラメータ
ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(SDO_NET_MEM.NETWORK_MANAGER.READ_NETWORKプロシージャで作成済)が使用されます。
開始ノードのノードIDを指定します。
目標ノード(終了ノード)のノードIDを指定します。
適用するネットワーク制約の名前を指定します。このパラメータがNULLの場合、ネットワーク制約は適用されません。(ネットワーク制約の詳細は、5.6項を参照してください。)
使用上の注意
このファンクションは、指定されたネットワーク・メモリー・オブジェクト内のパスID値を戻します。ネットワーク・メモリー・オブジェクトを使用した編集とネットワーク分析の操作については、5.8項を参照してください。
指定されたノード間にパスを作成できない場合、このファンクションはNULL値を戻します。たとえば、1つ以上のノードまたはリンクがINACTIVE
の場合に、それが原因ですべてのパスが無視されると、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(
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番号を戻します。つまり、戻されるパスは、指定されたノード・セットに対する巡回セールスマン問題(Traveling Salesman Problem: TSP)の解です。
パラメータ
ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(SDO_NET_MEM.NETWORK_MANAGER.READ_NETWORKプロシージャで作成済)が使用されます。
パスに含まれるノードのノードID番号を示すSDO_NUMBER_ARRAYオブジェクトを指定します。最初に指定するノードは、常に、戻されるパスの開始ノードになります。閉じたパスの場合、指定する最初のノードは、戻されるパスの最後のノードでもあります。開いたパスの場合は、最後に指定するノードが、戻されるパスの最後のノードになります。
パスが閉じていること(戻されるパスの開始ノードと終了ノードが同じノードであること)が必要な場合は文字列値TRUE
を指定し、パスが開いていること(戻されるパスの終了ノードと開始ノードが別のノードであること)が必要な場合は文字列値FALSE
を指定します。
TSPパスの計算に、リンクのコスト値を使用する場合は文字列値TRUE
を指定し、リンクのデカルト距離を使用する場合は文字列値FALSE
を指定します。
適用するネットワーク制約の名前を指定します。このパラメータがNULLの場合、ネットワーク制約は適用されません。(ネットワーク制約の詳細は、5.6項を参照してください。)
使用上の注意
このファンクションは、指定されたネットワーク・メモリー・オブジェクト内のパスID値を戻します。ネットワーク・メモリー・オブジェクトを使用した編集とネットワーク分析の操作については、5.8項を参照してください。
指定されたノードではTSPパスを作成できない場合、このファンクションはNULL値を戻します。たとえば、1つ以上のノードまたはリンクがINACTIVE
の場合に、それが原因ですべてのパスが無視されると、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(
net_mem IN VARCHAR2
) RETURN VARCHAR2;
説明
ネットワーク表を検証します。
パラメータ
ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(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(
net_mem IN VARCHAR2,
start_node_id IN NUMBER,
cost_limit IN NUMBER,
constraint IN VARCHAR2 DEFAULT NULL
) RETURN SDO_NUMBER_ARRAY;
説明
指定された開始ノードから指定コスト内で到達可能な各ノードへの最短パスのパスIDの配列を戻します。
パラメータ
ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(SDO_NET_MEM.NETWORK_MANAGER.READ_NETWORKプロシージャで作成済)が使用されます。
開始ノードのノードIDを指定します。
合計パス・コストの最大値を指定します。
適用するネットワーク制約の名前を指定します。このパラメータが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(
net_mem IN VARCHAR2);
説明
ネットワーク・メモリー・オブジェクト内のネットワーク・オブジェクトをデータベースに保存します。
パラメータ
ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(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(
net_mem IN VARCHAR2,
node_id IN NUMBER
) RETURN SDO_NUMBER_ARRAY;
説明
指定されたノードに隣接するノードのノードID番号を戻します。
パラメータ
ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(SDO_NET_MEM.NETWORK_MANAGER.READ_NETWORKプロシージャで作成済)が使用されます。
ノード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(
net_mem IN VARCHAR2,
node_id IN NUMBER
) RETURN SDO_NUMBER_ARRAY;
説明
指定されたノードの子ノードのノードID番号を戻します。
パラメータ
ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(SDO_NET_MEM.NETWORK_MANAGER.READ_NETWORKプロシージャで作成済)が使用されます。
ノード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(
net_mem IN VARCHAR2,
node_id IN NUMBER
) RETURN NUMBER;
説明
指定されたノードのコンポーネント番号を戻します。
パラメータ
ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(SDO_NET_MEM.NETWORK_MANAGER.READ_NETWORKプロシージャで作成済)が使用されます。
ノード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(
net_mem IN VARCHAR2,
node_id IN NUMBER
) RETURN NUMBER;
説明
指定されたノードのコスト値を戻します。
パラメータ
ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(SDO_NET_MEM.NETWORK_MANAGER.READ_NETWORKプロシージャで作成済)が使用されます。
ノード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(
net_mem IN VARCHAR2,
node_id IN NUMBER
) RETURN NUMBER;
説明
ノードのジオメトリID番号を戻します。
パラメータ
ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(SDO_NET_MEM.NETWORK_MANAGER.READ_NETWORKプロシージャで作成済)が使用されます。
ノード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(
net_mem IN VARCHAR2,
node_id IN NUMBER
) RETURN SDO_GEOMETRY;
説明
ノードの空間ジオメトリを戻します。
パラメータ
ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(SDO_NET_MEM.NETWORK_MANAGER.READ_NETWORKプロシージャで作成済)が使用されます。
ノード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(
net_mem IN VARCHAR2,
node_id IN NUMBER
) RETURN NUMBER;
説明
ノードの階層レベルを戻します。
パラメータ
ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(SDO_NET_MEM.NETWORK_MANAGER.READ_NETWORKプロシージャで作成済)が使用されます。
ノード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(
net_mem IN VARCHAR2,
node_id IN NUMBER
) RETURN SDO_NUMBER_ARRAY;
説明
ノードへのインバウンド・リンクのリンクID番号を戻します。
パラメータ
ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(SDO_NET_MEM.NETWORK_MANAGER.READ_NETWORKプロシージャで作成済)が使用されます。
ノード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(
net_mem IN VARCHAR2,
node_id IN NUMBER
) RETURN SDO_NUMBER_ARRAY;
説明
ノードへのリンク(ノードに接続されているリンク)のリンクID番号を戻します。
パラメータ
ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(SDO_NET_MEM.NETWORK_MANAGER.READ_NETWORKプロシージャで作成済)が使用されます。
ノード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(
net_mem IN VARCHAR2,
node_id IN NUMBER
) RETURN NUMBER;
説明
LRSネットワーク内のノードについて、そのメジャー値を戻します。
パラメータ
ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(SDO_NET_MEM.NETWORK_MANAGER.READ_NETWORKプロシージャで作成済)が使用されます。
ノード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(
net_mem IN VARCHAR2,
node_id IN NUMBER
) RETURN VARCHAR2;
説明
ノードの名前を戻します。
パラメータ
ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(SDO_NET_MEM.NETWORK_MANAGER.READ_NETWORKプロシージャで作成済)が使用されます。
ノード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(
net_mem IN VARCHAR2,
node_id IN NUMBER
) RETURN SDO_NUMBER_ARRAY;
説明
ノードからのアウトバウンド・リンクのリンクID番号を戻します。
パラメータ
ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(SDO_NET_MEM.NETWORK_MANAGER.READ_NETWORKプロシージャで作成済)が使用されます。
ノード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(
net_mem IN VARCHAR2,
node_id IN NUMBER
) RETURN NUMBER;
説明
ノードの親ノードのノードID番号を戻します。
パラメータ
ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(SDO_NET_MEM.NETWORK_MANAGER.READ_NETWORKプロシージャで作成済)が使用されます。
ノード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(
net_mem IN VARCHAR2,
node_id IN NUMBER
) RETURN SDO_NUMBER_ARRAY;
説明
ノードの兄弟ノードのノードID番号を戻します。
パラメータ
ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(SDO_NET_MEM.NETWORK_MANAGER.READ_NETWORKプロシージャで作成済)が使用されます。
ノード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(
net_mem IN VARCHAR2,
node_id IN NUMBER
) RETURN VARCHAR2;
説明
ノードの状態を戻します。
パラメータ
ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(SDO_NET_MEM.NETWORK_MANAGER.READ_NETWORKプロシージャで作成済)が使用されます。
ノードID番号を指定します。
使用上の注意
このファンクションは、指定されたネットワーク・メモリー・オブジェクト内のノードについて、その状態名の文字列を戻します。ネットワーク・メモリー・オブジェクトを使用した編集とネットワーク分析の操作については、5.8項を参照してください。
状態は文字列値で、ACTIVE
またはINACTIVE
のいずれかです。ノードがSDO_NET_MEM.NETWORK_MANAGER.SHORTEST_PATHなどのネットワーク分析ファンクションで検討されるかどうかは、そのノードの状態によって決まります。状態がACTIVE
のノードはネットワーク分析ファンクションの検討対象となり、INACTIVE
のノードは無視されます。
このファンクションの動作は、クライアント側の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: ACTIVE
構文
SDO_NET_MEM.NODE.GET_TYPE(
net_mem IN VARCHAR2,
node_id IN NUMBER
) RETURN VARCHAR2;
説明
ノードのタイプを戻します。
パラメータ
ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(SDO_NET_MEM.NETWORK_MANAGER.READ_NETWORKプロシージャで作成済)が使用されます。
ノード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(
net_mem IN VARCHAR2,
node_id IN NUMBER
) RETURN VARCHAR2;
説明
ノードがアクティブかどうかを確認します。
パラメータ
ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(SDO_NET_MEM.NETWORK_MANAGER.READ_NETWORKプロシージャで作成済)が使用されます。
ノード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(
net_mem IN VARCHAR2,
node_id IN NUMBER
) RETURN VARCHAR2;
説明
ノードが論理ネットワーク内にあるかどうかを確認します。
パラメータ
ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(SDO_NET_MEM.NETWORK_MANAGER.READ_NETWORKプロシージャで作成済)が使用されます。
ノード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(
net_mem IN VARCHAR2,
node_id IN NUMBER
) RETURN VARCHAR2;
説明
ノードが一時ノードかどうかを確認します。
パラメータ
ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(SDO_NET_MEM.NETWORK_MANAGER.READ_NETWORKプロシージャで作成済)が使用されます。
ノード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(
net_mem IN VARCHAR2,
node_id1 IN NUMBER,
node_id2 IN NUMBER
) RETURN VARCHAR2;
説明
2つのノード間にリンクが存在するかどうかを確認します。
パラメータ
ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(SDO_NET_MEM.NETWORK_MANAGER.READ_NETWORKプロシージャで作成済)が使用されます。
ノードID番号を指定します。
ノード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(
net_mem IN VARCHAR2,
node_id IN NUMBER);
説明
ノードを一時ノードにします。
パラメータ
ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(SDO_NET_MEM.NETWORK_MANAGER.READ_NETWORKプロシージャで作成済)が使用されます。
ノード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(
net_mem IN VARCHAR2,
node_id IN NUMBER,
no IN NUMBER);
説明
ノードのコンポーネント番号を設定します。
パラメータ
ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(SDO_NET_MEM.NETWORK_MANAGER.READ_NETWORKプロシージャで作成済)が使用されます。
ノードID番号を指定します。
コンポーネント番号を指定します。
使用上の注意
このプロシージャは、指定されたネットワーク・メモリー・オブジェクト内に、ノードのコンポーネント番号値を設定します。ネットワーク・メモリー・オブジェクトを使用した編集とネットワーク分析の操作については、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(
net_mem IN VARCHAR2,
node_id IN NUMBER,
cost IN NUMBER);
説明
ノードのコスト値を設定します。
パラメータ
ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(SDO_NET_MEM.NETWORK_MANAGER.READ_NETWORKプロシージャで作成済)が使用されます。
ノードID番号を指定します。
コスト値を指定します。
使用上の注意
このプロシージャは、指定されたネットワーク・メモリー・オブジェクト内に、ノードのコスト値(数値)を設定します。ネットワーク・メモリー・オブジェクトを使用した編集とネットワーク分析の操作については、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(
net_mem IN VARCHAR2,
node_id IN NUMBER,
geom_id IN NUMBER);
説明
ノードのジオメトリID値を設定します。
パラメータ
ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(SDO_NET_MEM.NETWORK_MANAGER.READ_NETWORKプロシージャで作成済)が使用されます。
ノードID番号を指定します。
ジオメトリ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(
net_mem IN VARCHAR2,
node_id IN NUMBER,
geom IN SDO_GEOMETRY);
説明
ノードのジオメトリを設定します。
パラメータ
ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(SDO_NET_MEM.NETWORK_MANAGER.READ_NETWORKプロシージャで作成済)が使用されます。
ノードID番号を指定します。
空間ジオメトリ・オブジェクトを指定します。
使用上の注意
このプロシージャは、指定されたネットワーク・メモリー・オブジェクト内のノードに対して、その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(
net_mem IN VARCHAR2,
node_id IN NUMBER,
level IN NUMBER);
説明
ノードの階層レベルを設定します。
パラメータ
ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(SDO_NET_MEM.NETWORK_MANAGER.READ_NETWORKプロシージャで作成済)が使用されます。
ノードID番号を指定します。
階層レベル番号を指定します。
使用上の注意
このプロシージャは、指定されたネットワーク・メモリー・オブジェクト内に、階層レベル値(数値)を設定します。ネットワーク・メモリー・オブジェクトを使用した編集とネットワーク分析の操作については、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(
net_mem IN VARCHAR2,
node_id IN NUMBER,
measure IN NUMBER);
説明
LRSネットワーク内のノードについて、そのメジャー値を設定します。
パラメータ
ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(SDO_NET_MEM.NETWORK_MANAGER.READ_NETWORKプロシージャで作成済)が使用されます。
ノードID番号を指定します。
メジャー値を指定します。
使用上の注意
このプロシージャは、指定されたネットワーク・メモリー・オブジェクト内に、ノードのメジャー値(数値)を設定します。ネットワーク・メモリー・オブジェクトを使用した編集とネットワーク分析の操作については、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(
net_mem IN VARCHAR2,
node_id IN NUMBER,
node_name IN VARCHAR2);
説明
ノードの名前を設定します。
パラメータ
ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(SDO_NET_MEM.NETWORK_MANAGER.READ_NETWORKプロシージャで作成済)が使用されます。
ノードID番号を指定します。
ノード名を指定します。
使用上の注意
このプロシージャは、指定されたネットワーク・メモリー・オブジェクト内に、ノード名の文字列値を設定します。ネットワーク・メモリー・オブジェクトを使用した編集とネットワーク分析の操作については、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(
net_mem IN VARCHAR2,
node_id IN NUMBER,
parent_node_id IN NUMBER);
説明
ノードの親ノードを設定します。
パラメータ
ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(SDO_NET_MEM.NETWORK_MANAGER.READ_NETWORKプロシージャで作成済)が使用されます。
ノード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(
net_mem IN VARCHAR2,
node_id IN NUMBER,
state IN VARCHAR2);
説明
ノードの状態を設定します。
パラメータ
ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(SDO_NET_MEM.NETWORK_MANAGER.READ_NETWORKプロシージャで作成済)が使用されます。
ノードID番号を指定します。
ノードの状態を指定します。ACTIVE
またはINACTIVE
のいずれかの文字列値を指定します。
使用上の注意
このプロシージャは、指定されたネットワーク・メモリー・オブジェクト内に、ノード状態の文字列値を設定します。ネットワーク・メモリー・オブジェクトを使用した編集とネットワーク分析の操作については、5.8項を参照してください。
ノードがSDO_NET_MEM.NETWORK_MANAGER.SHORTEST_PATHなどのネットワーク分析ファンクションで検討されるかどうかは、そのノードの状態によって決まります。状態がACTIVE
のノードはネットワーク分析ファンクションの検討対象となり、INACTIVE
のノードは無視されます。
このプロシージャの動作は、クライアント側のJava APIに含まれるNode
インタフェース(5.11.2項を参照)のsetState
メソッドを使用する場合に似ています。
ノードの状態を取得するには、SDO_NET_MEM.NODE.GET_STATEファンクションを使用します。
例
次の例では、現在のネットワーク・メモリー・オブジェクト内のノードIDが111のノードについて、その状態を文字列INACTIVE
に設定します。 (この例は、5.13.4項の例5-5からの抜粋です。)
SDO_NET_MEM.NODE.SET_STATE(net_mem, 111, 'INACTIVE');
構文
SDO_NET_MEM.NODE.SET_TYPE(
net_mem IN VARCHAR2,
node_id IN NUMBER,
type IN VARCHAR2);
説明
ノードのタイプを設定します。
パラメータ
ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(SDO_NET_MEM.NETWORK_MANAGER.READ_NETWORKプロシージャで作成済)が使用されます。
ノード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(
net_mem IN VARCHAR2,
path_id IN NUMBER,
tolerance IN NUMBER);
説明
パスの空間ジオメトリを設定します。
パラメータ
ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(SDO_NET_MEM.NETWORK_MANAGER.READ_NETWORKプロシージャで作成済)が使用されます。
パスID番号を指定します。
ネットワーク内のジオメトリに関連付けられた許容差を指定します。(許容差については、『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(
net_mem IN VARCHAR2,
path_id IN NUMBER
) RETURN NUMBER;
説明
パスのコスト値を戻します。
パラメータ
ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(SDO_NET_MEM.NETWORK_MANAGER.READ_NETWORKプロシージャで作成済)が使用されます。
パス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(
net_mem IN VARCHAR2,
path_id IN NUMBER
) RETURN NUMBER;
説明
パスの終了ノードのノードID値を戻します。
パラメータ
ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(SDO_NET_MEM.NETWORK_MANAGER.READ_NETWORKプロシージャで作成済)が使用されます。
パス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(
net_mem IN VARCHAR2,
path_id IN NUMBER
) RETURN SDO_GEOMETRY;
説明
パスの空間ジオメトリを戻します。
パラメータ
ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(SDO_NET_MEM.NETWORK_MANAGER.READ_NETWORKプロシージャで作成済)が使用されます。
パス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(
net_mem IN VARCHAR2,
path_id IN NUMBER
) RETURN SDO_NUMBER_ARRAY;
説明
パスに含まれるリンクについて、そのリンクID値の配列を戻します。
パラメータ
ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(SDO_NET_MEM.NETWORK_MANAGER.READ_NETWORKプロシージャで作成済)が使用されます。
パス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(
net_mem IN VARCHAR2,
path_id IN NUMBER
) RETURN VARCHAR2;
説明
パスの名前を戻します。
パラメータ
ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(SDO_NET_MEM.NETWORK_MANAGER.READ_NETWORKプロシージャで作成済)が使用されます。
パス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(
net_mem IN VARCHAR2,
path_id IN NUMBER
) RETURN NUMBER;
説明
パスに含まれるリンクの数を戻します。
パラメータ
ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(SDO_NET_MEM.NETWORK_MANAGER.READ_NETWORKプロシージャで作成済)が使用されます。
パス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(
net_mem IN VARCHAR2,
path_id IN NUMBER
) RETURN SDO_NUMBER_ARRAY;
説明
パス内のノードについて、そのノードID値の配列を戻します。
パラメータ
ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(SDO_NET_MEM.NETWORK_MANAGER.READ_NETWORKプロシージャで作成済)が使用されます。
パス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(
net_mem IN VARCHAR2,
path_id IN NUMBER
) RETURN NUMBER;
説明
パスの開始ノードのノードID値を戻します。
パラメータ
ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(SDO_NET_MEM.NETWORK_MANAGER.READ_NETWORKプロシージャで作成済)が使用されます。
パス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(
net_mem IN VARCHAR2,
path_id IN NUMBER
) RETURN VARCHAR2;
説明
パスのタイプを戻します。
パラメータ
ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(SDO_NET_MEM.NETWORK_MANAGER.READ_NETWORKプロシージャで作成済)が使用されます。
パス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(
net_mem IN VARCHAR2,
path_id IN NUMBER
) RETURN VARCHAR2;
説明
パスがアクティブかどうかを確認します。
パラメータ
ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(SDO_NET_MEM.NETWORK_MANAGER.READ_NETWORKプロシージャで作成済)が使用されます。
パス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(
net_mem IN VARCHAR2,
path_id IN NUMBER
) RETURN VARCHAR2;
説明
パスが閉じているかどうかを確認します。
パラメータ
ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(SDO_NET_MEM.NETWORK_MANAGER.READ_NETWORKプロシージャで作成済)が使用されます。
パス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(
net_mem IN VARCHAR2,
path_id IN NUMBER
) RETURN VARCHAR2;
説明
パスが接続されているかどうかを確認します。
パラメータ
ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(SDO_NET_MEM.NETWORK_MANAGER.READ_NETWORKプロシージャで作成済)が使用されます。
パス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(
net_mem IN VARCHAR2,
path_id IN NUMBER
) RETURN VARCHAR2;
説明
パスが論理ネットワーク内にあるかどうかを確認します。
パラメータ
ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(SDO_NET_MEM.NETWORK_MANAGER.READ_NETWORKプロシージャで作成済)が使用されます。
パス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(
net_mem IN VARCHAR2,
path_id IN NUMBER
) RETURN VARCHAR2;
説明
パスが単純かどうかを確認します。
パラメータ
ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(SDO_NET_MEM.NETWORK_MANAGER.READ_NETWORKプロシージャで作成済)が使用されます。
パス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(
net_mem IN VARCHAR2,
path_id IN NUMBER
) RETURN VARCHAR2;
説明
パスが一時パスかどうかを確認します。
パラメータ
ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(SDO_NET_MEM.NETWORK_MANAGER.READ_NETWORKプロシージャで作成済)が使用されます。
パス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(
net_mem IN VARCHAR2,
path_id IN NUMBER,
geom IN SDO_GEOMETRY);
説明
パスの空間ジオメトリを設定します。
パラメータ
ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(SDO_NET_MEM.NETWORK_MANAGER.READ_NETWORKプロシージャで作成済)が使用されます。
パスID番号を指定します。
空間ジオメトリ・オブジェクトを指定します。
使用上の注意
このプロシージャは、指定されたネットワーク・メモリー・オブジェクト内のノードに対して、その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(
net_mem IN VARCHAR2,
path_id IN NUMBER,
path_name IN VARCHAR2);
説明
パスの名前を設定します。
パラメータ
ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(SDO_NET_MEM.NETWORK_MANAGER.READ_NETWORKプロシージャで作成済)が使用されます。
パスID番号を指定します。
パス名を指定します。
使用上の注意
このプロシージャは、指定されたネットワーク・メモリー・オブジェクト内に、パス名の文字列値を設定します。ネットワーク・メモリー・オブジェクトを使用した編集とネットワーク分析の操作については、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(
net_mem IN VARCHAR2,
path_id IN NUMBER,
new_path_id IN NUMBER);
説明
パスのパスID値を設定します。
パラメータ
ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(SDO_NET_MEM.NETWORK_MANAGER.READ_NETWORKプロシージャで作成済)が使用されます。
パス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(
net_mem IN VARCHAR2,
path_id IN NUMBER,
type IN VARCHAR2);
説明
パスのタイプを設定します。
パラメータ
ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(SDO_NET_MEM.NETWORK_MANAGER.READ_NETWORKプロシージャで作成済)が使用されます。
パス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');