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.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
メソッドを使用する場合に似ています。
パラメータ
ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(SDO_NET_MEM.NETWORK_MANAGER.READ_NETWORKプロシージャで作成済)が使用されます。
リンクID番号を指定します。
使用上の注意
このファンクションは、指定されたネットワーク・メモリー・オブジェクト内のリンクについて、そのコスト値を戻します。ネットワーク・メモリー・オブジェクトを使用した編集とネットワーク分析の操作については、5.8項を参照してください。
このファンクションの動作は、クライアント側のJava APIに含まれるLink
インタフェース(5.11.2項を参照)のgetCost
メソッドを使用する場合と似ています。
リンクのコスト値を設定するには、SDO_NET_MEM.LINK.SET_COSTプロシージャを使用します。
パラメータ
ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(SDO_NET_MEM.NETWORK_MANAGER.READ_NETWORKプロシージャで作成済)が使用されます。
リンク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プロシージャを使用します。
パラメータ
ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(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プロシージャを使用します。
パラメータ
ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(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プロシージャを使用します。
パラメータ
ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(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項を参照してください。
パラメータ
ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(SDO_NET_MEM.NETWORK_MANAGER.READ_NETWORKプロシージャで作成済)が使用されます。
リンクID番号を指定します。
使用上の注意
このファンクションは、指定されたネットワーク・メモリー・オブジェクト内のリンクについて、その名前を戻します。ネットワーク・メモリー・オブジェクトを使用した編集とネットワーク分析の操作については、5.8項を参照してください。
このファンクションの動作は、クライアント側のJava APIに含まれるLink
インタフェース(5.11.2項を参照)のgetName
メソッドを使用する場合に似ています。
リンクの名前を設定するには、SDO_NET_MEM.LINK.SET_NAMEプロシージャを使用します。
パラメータ
ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(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項を参照してください。
構文
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.NETWORK_MANAGER.READ_NETWORKプロシージャで作成済)が使用されます。
リンク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プロシージャを使用します。
パラメータ
ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(SDO_NET_MEM.NETWORK_MANAGER.READ_NETWORKプロシージャで作成済)が使用されます。
リンクID番号を指定します。
使用上の注意
このファンクションは、指定されたネットワーク・メモリー・オブジェクト内のリンクについて、その状態を戻します。ネットワーク・メモリー・オブジェクトを使用した編集とネットワーク分析の操作については、5.8項を参照してください。
状態は文字列値で、TRUE
またはFALSE
のいずれかです。リンクがSDO_NET_MEM.NETWORK_MANAGER.SHORTEST_PATHなどのネットワーク分析ファンクションで検討されるかどうかは、そのリンクの状態によって決まります。状態がTRUE
のリンクはネットワーク分析ファンクションの検討対象となり、FALSE
のリンクは無視されます。
このファンクションの動作は、クライアント側のJava APIに含まれるLink
インタフェース(5.11.2項を参照)のgetState
メソッドを使用する場合に似ています。
リンクの状態を設定するには、SDO_NET_MEM.LINK.SET_STATEプロシージャを使用します。
パラメータ
ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(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.NETWORK_MANAGER.READ_NETWORKプロシージャで作成済)が使用されます。
リンクID番号を指定します。
パラメータ
ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(SDO_NET_MEM.NETWORK_MANAGER.READ_NETWORKプロシージャで作成済)が使用されます。
リンクID番号を指定します。
パラメータ
ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(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
メソッドを使用する場合に似ています。
パラメータ
ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(SDO_NET_MEM.NETWORK_MANAGER.READ_NETWORKプロシージャで作成済)が使用されます。
リンクID番号を指定します。
コスト値を指定します。
使用上の注意
このプロシージャは、指定されたネットワーク・メモリー・オブジェクト内のリンクについて、そのコスト値を設定します。ネットワーク・メモリー・オブジェクトを使用した編集とネットワーク分析の操作については、5.8項を参照してください。
このプロシージャの動作は、クライアント側のJava APIに含まれるLink
インタフェース(5.11.2項を参照)のsetCost
メソッドを使用する場合に似ています。
リンクのコスト値を取得するには、SDO_NET_MEM.LINK.GET_COSTファンクションを使用します。
パラメータ
ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(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ファンクションを使用します。
パラメータ
ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(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ファンクションを使用します。
パラメータ
ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(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.NETWORK_MANAGER.READ_NETWORKプロシージャで作成済)が使用されます。
リンクID番号を指定します。
階層レベル番号を指定します。
使用上の注意
このプロシージャは、指定されたネットワーク・メモリー・オブジェクト内のリンクについて、その階層レベルを設定します。ネットワーク・メモリー・オブジェクトを使用した編集とネットワーク分析の操作については、5.8項を参照してください。
このプロシージャの動作は、クライアント側のJava APIに含まれるLink
インタフェース(5.11.2項を参照)のsetLinkLevel
メソッドを使用する場合に似ています。
リンクの階層レベルを取得するには、SDO_NET_MEM.LINK.GET_LEVELファンクションを使用します。
ネットワーク階層の親ノードと子ノード、および親リンクと子リンクの詳細は、5.5項を参照してください。
構文
SDO_NET_MEM.LINK.SET_MEASURE(
net_mem IN VARCHAR2,
link_id IN NUMBER,
start_measure IN NUMBER,
end_measure IN NUMBER);
パラメータ
ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(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ファンクションを使用します。
パラメータ
ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(SDO_NET_MEM.NETWORK_MANAGER.READ_NETWORKプロシージャで作成済)が使用されます。
リンクID番号を指定します。
リンク名の文字列を指定します。
使用上の注意
このプロシージャは、指定されたネットワーク・メモリー・オブジェクト内のLRSネットワーク上のリンクについて、その名前を設定します。ネットワーク・メモリー・オブジェクトを使用した編集とネットワーク分析の操作については、5.8項を参照してください。
このプロシージャの動作は、クライアント側のJava APIに含まれるLink
インタフェース(5.11.2項を参照)のsetName
メソッドを使用する場合に似ています。
リンクの名前を取得するには、SDO_NET_MEM.LINK.GET_NAMEファンクションを使用します。
構文
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項を参照してください。
構文
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ファンクションを使用します。
パラメータ
ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(SDO_NET_MEM.NETWORK_MANAGER.READ_NETWORKプロシージャで作成済)が使用されます。
リンクID番号を指定します。
状態の値を指定します。TRUE
またはFALSE
のいずれかの文字列を指定します。
使用上の注意
このプロシージャは、指定されたネットワーク・メモリー・オブジェクト内のリンクについて、その状態を設定します。ネットワーク・メモリー・オブジェクトを使用した編集とネットワーク分析の操作については、5.8項を参照してください。
リンクがSDO_NET_MEM.NETWORK_MANAGER.SHORTEST_PATHなどのネットワーク分析ファンクションで検討されるかどうかは、そのリンクの状態によって決まります。状態がTRUE
のリンクはネットワーク分析ファンクションの検討対象となり、FALSE
のリンクは無視されます。
このプロシージャの動作は、クライアント側のJava APIに含まれるLink
インタフェース(5.11.2項を参照)のsetState
メソッドを使用する場合に似ています。
リンクの状態を取得するには、SDO_NET_MEM.LINK.GET_STATEファンクションを使用します。
パラメータ
ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(SDO_NET_MEM.NETWORK_MANAGER.READ_NETWORKプロシージャで作成済)が使用されます。
リンクID番号を指定します。
リンクに対して、ユーザーが決定したタイプを表す文字列を指定します。
使用上の注意
このプロシージャは、指定されたネットワーク・メモリー・オブジェクト内のリンクについて、そのタイプを設定します。ネットワーク・メモリー・オブジェクトを使用した編集とネットワーク分析の操作については、5.8項を参照してください。
このプロシージャの動作は、クライアント側のJava APIに含まれるLink
インタフェース(5.11.2項を参照)のsetType
メソッドを使用する場合に似ています。
リンクのタイプを取得するには、SDO_NET_MEM.LINK.GET_TYPEファンクションを使用します。
構文
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オブジェクト(線または連続線ストリング・ジオメトリ)を指定します。
構文
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);
パラメータ
ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(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を指定します。
構文
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);
パラメータ
ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(SDO_NET_MEM.NETWORK_MANAGER.READ_NETWORKプロシージャで作成済)が使用されます。
追加するパスのパスIDを指定します。
追加するパスのパスIDを示すSDO_NUMBER_ARRAYオブジェクトを指定します。
構文
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_MANAGER.READ_NETWORKプロシージャで作成済)が使用されます。
削除するリンクのリンクIDを指定します。
パラメータ
ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(SDO_NET_MEM.NETWORK_MANAGER.READ_NETWORKプロシージャで作成済)が使用されます。
削除するノードのノードIDを指定します。
パラメータ
ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(SDO_NET_MEM.NETWORK_MANAGER.READ_NETWORKプロシージャで作成済)が使用されます。
削除するパスのパスIDを指定します。
パラメータ
ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(SDO_NET_MEM.NETWORK_MANAGER.READ_NETWORKプロシージャで作成済)が使用されます。
パラメータ
ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(SDO_NET_MEM.NETWORK_MANAGER.READ_NETWORKプロシージャで作成済)が使用されます。
パラメータ
ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(SDO_NET_MEM.NETWORK_MANAGER.READ_NETWORKプロシージャで作成済)が使用されます。
パラメータ
ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(SDO_NET_MEM.NETWORK_MANAGER.READ_NETWORKプロシージャで作成済)が使用されます。
構文
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;
パラメータ
ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(SDO_NET_MEM.NETWORK_MANAGER.READ_NETWORKプロシージャで作成済)が使用されます。
パスを探すノードのペアを構成する開始ノードのノードIDを指定します。
パスを探すノードのペアを構成する終了ノード(目標ノード)のノードIDを指定します。
結果として戻されるパスのリンクの最大数を指定します。このパラメータがNULLの場合、リンクの最大数は適用されません。
constraint
パラメータ値が指定されている場合、このパラメータは無視されます。
パスに含まれるリンクの最大コスト合計値を指定します。このパラメータがNULLの場合、コスト制限は適用されません。
constraint
パラメータ値が指定されている場合、このパラメータは無視されます。
戻すパスの数の最大値を指定します。このパラメータがNULLの場合、このファンクションの他の条件を満たすすべてのパスが戻されます。
適用するネットワーク制約の名前を指定します。このパラメータがNULLの場合、ネットワーク制約は適用されません。(ネットワーク制約の詳細は、5.6項を参照してください。)
constraint
がNULLでない場合、depth_limit
およびcost_limit
値はすべて無視されます。
使用上の注意
このファンクションは、指定されたネットワーク・メモリー・オブジェクト内にある、開始ノードと終了ノード(目標ノード)間のパスを戻します。ネットワーク・メモリー・オブジェクトを使用した編集とネットワーク分析の操作については、5.8項を参照してください。
このファンクションの動作は、クライアント側のJava APIに含まれるNetworkManager
クラス(5.11.2項を参照)のallPaths
メソッドを使用する場合に似ています。
例
次の例では、現在のネットワーク・メモリー・オブジェクトにある、ノードID値が101と105のノード間のパスの中で、コスト値が200以下のものを最大で5つ戻します。また、戻す各パスに関する情報も示します。(この例は、5.13.4項の例5-5からの抜粋です。)
res_array := SDO_NET_MEM.NETWORK_MANAGER.ALL_PATHS(net_mem,101,105,10,200,5); DBMS_OUTPUT.PUT_LINE('For each path from node 101 to node 105: '); FOR indx IN res_array.FIRST..res_array.LAST LOOP res_numeric := res_array(indx); DBMS_OUTPUT.PUT_LINE('Path ' || res_numeric || ' has the following properties: '); cost := SDO_NET_MEM.PATH.GET_COST(net_mem, res_numeric); DBMS_OUTPUT.PUT_LINE('Path ' || res_numeric || ' cost: ' || cost); res_string := SDO_NET_MEM.PATH.IS_CLOSED(net_mem, res_array(indx)); DBMS_OUTPUT.PUT_LINE('Is path ' || res_numeric || ' closed? ' || res_string); END LOOP; For each path from node 101 to node 105: Path 7 has the following properties: Path 7 cost: 50 Is path 7 closed? FALSE Path 8 has the following properties: Path 8 cost: 70 Is path 8 closed? FALSE Path 9 has the following properties: Path 9 cost: 70 Is path 9 closed? FALSE Path 10 has the following properties: Path 10 cost: 90 Is path 10 closed? FALSE Path 11 has the following properties: Path 11 cost: 120 Is path 11 closed? FALSE
構文
SDO_NET_MEM.NETWORK_MANAGER.CREATE_LOGICAL_NETWORK(
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の場合、ノード表の名前は、<ネットワーク名>_NODE$の形式になります。
ノード表のコスト列の名前を指定します。(ノード表については、5.9.1項を参照してください。)このパラメータがNULLの場合、コスト列名はCOSTです。
作成するリンク表の名前を指定します。(リンク表については、5.9.2項を参照してください。)このパラメータがNULLの場合、リンク表の名前は、<ネットワーク名>_LINK$の形式になります。
リンク表のコスト列の名前を指定します。(リンク表については、5.9.2項を参照してください。)このパラメータがNULLの場合、コスト列名はCOSTです。
作成するパス表の名前を指定します。(パス表については、5.9.3項を参照してください。)このパラメータがNULLの場合、パス表の名前は、<ネットワーク名>_PATH$の形式になります。
作成するパスリンク表の名前を指定します。(パスリンク表については、5.9.4項を参照してください。)このパラメータがNULLの場合、パスリンク表の名前は、<ネットワーク名>_PLINK$の形式になります。
作成するサブパス表の名前を指定します。(サブパス表については、5.9.5項を参照してください。)このパラメータがNULLの場合、サブパス表の名前は、<ネットワーク名>_SPATH$の形式になります。
将来使用するために予約されています。今回のリリースでは、無視されます。
使用上の注意
このプロシージャは、ネットワーク・メモリー・オブジェクト内に論理ネットワークを作成します(ネットワーク・メモリー・オブジェクトの使用方法については、5.8項を参照)。
このプロシージャは、ノード、リンクおよびオプションの関連表が存在しないときに論理ネットワークを作成する場合に役立ちます。プロシージャがメモリー内にネットワークを作成します。SDO_NET_MEM.NETWORK_MANAGER.WRITE_NETWORKプロシージャを使用して、データベースにネットワーク・オブジェクトを保存すると、ネットワークのノード、リンク、パスおよびパスリンクの各表が作成され、xxx_SDO_NETWORK_METADATAビュー(5.10.1項を参照)に適切な情報が挿入されます。
構文
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');
パラメータ
ネットワーク名です。
ネットワーク内のリンクの階層レベルの数を指定します。(ネットワーク階層については、5.5項を参照してください。)
文字列値を指定します。リンクが有向リンクである場合はTRUE
、無向リンクの場合(有向リンクでない場合)はFALSE
を指定します。
ネットワークに関連付けられた座標系(空間参照システム)を指定します。NULL(座標系が関連付けられていない場合)またはSDO_COORD_REF_SYS表(『Oracle Spatial開発者ガイド』を参照)のSRID列の値のいずれかを指定する必要があります。
データの次元数(LRSメジャー次元を含む)を指定します。
作成するノード表の名前を指定します。(ノード表については、5.9.1項を参照してください。)このパラメータがNULLの場合、ノード表の名前は、<ネットワーク名>_NODE$の形式になります。
ノード表のコスト列の名前を指定します。(ノード表については、5.9.1項を参照してください。)このパラメータがNULLの場合、コスト列名はCOSTです。
作成するリンク表の名前を指定します。(リンク表については、5.9.2項を参照してください。)このパラメータがNULLの場合、リンク表の名前は、<ネットワーク名>_LINK$の形式になります。
リンク表のコスト列の名前を指定します。(リンク表については、5.9.2項を参照してください。)このパラメータがNULLの場合、コスト列名はCOSTです。
空間LRSジオメトリに対して作成する表の名前を指定します。
空間LRSジオメトリの表に含まれるSDO_GEOMETRY型の列の名前を指定します。
作成するパス表の名前を指定します。(パス表については、5.9.3項を参照してください。)このパラメータがNULLの場合、パス表の名前は、<ネットワーク名>_PATH$の形式になります。
パス表のSDO_GEOMETRY型の列の名前を指定します。このパラメータがNULLの場合、ジオメトリ列名はGEOMETRYです。
作成するパスリンク表の名前を指定します。(パスリンク表については、5.9.4項を参照してください。)このパラメータがNULLの場合、パスリンク表の名前は、<ネットワーク名>_PLINK$の形式になります。
作成するサブパス表の名前を指定します。(サブパス表については、5.9.5項を参照してください。)このパラメータがNULLの場合、サブパス表の名前は、<ネットワーク名>_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.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
メソッドを使用する場合に似ています。
構文
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');
パラメータ
ネットワーク名です。
ネットワーク内のリンクの階層レベルの数を指定します。(ネットワーク階層については、5.5項を参照してください。)
文字列値を指定します。リンクが有向リンクである場合はTRUE
、無向リンクの場合(有向リンクでない場合)はFALSE
を指定します。
ネットワークに関連付けられた座標系(空間参照システム)を指定します。NULL(座標系が関連付けられていない場合)またはSDO_COORD_REF_SYS表(『Oracle Spatial開発者ガイド』を参照)のSRID列の値のいずれかを指定する必要があります。
空間データの次元数を指定します。
作成するノード表の名前を指定します。(ノード表については、5.9.1項を参照してください。)このパラメータがNULLの場合、ノード表の名前は、<ネットワーク名>_NODE$の形式になります。
ノード表のSDO_GEOMETRY型の列の名前。(ノード表については、5.9.1項を参照してください。)このパラメータがNULLの場合、ジオメトリ列名はGEOMETRYです。
ノード表のコスト列の名前を指定します。(ノード表については、5.9.1項を参照してください。)このパラメータがNULLの場合、コスト列名はCOSTです。
作成するリンク表の名前を指定します。(リンク表については、5.9.2項を参照してください。)このパラメータがNULLの場合、リンク表の名前は、<ネットワーク名>_LINK$の形式になります。
リンク表のSDO_GEOMETRY型の列の名前。(リンク表については、5.9.2項を参照してください。)このパラメータがNULLの場合、ジオメトリ列名はGEOMETRYです。
リンク表のコスト列の名前を指定します。(リンク表については、5.9.2項を参照してください。)このパラメータがNULLの場合、コスト列名はCOSTです。
作成するパス表の名前を指定します。(パス表については、5.9.3項を参照してください。)このパラメータがNULLの場合、パス表の名前は、<ネットワーク名>_PATH$の形式になります。
パス表のSDO_GEOMETRY型の列の名前を指定します。(パス表については、5.9.3項を参照してください。)このパラメータがNULLの場合、ジオメトリ列名はGEOMETRYです。
作成するパスリンク表の名前を指定します。(パスリンク表については、5.9.4項を参照してください。)このパラメータがNULLの場合、パスリンク表の名前は、<ネットワーク名>_PLINK$の形式になります。
作成するサブパス表の名前を指定します。(サブパス表については、5.9.5項を参照してください。)このパラメータがNULLの場合、サブパス表の名前は、<ネットワーク名>_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');
説明
データベースのJavaリポジトリから、指定したネットワーク制約のクラスをアンロード(削除)し、USER_SDO_NETWORK_CONSTRAINTSビュー(5.10.2項を参照)から該当する制約の行を削除します。
使用上の注意
このプロシージャは、SDO_NET_MEM.NETWORK_MANAGER.REGISTER_CONSTRAINTプロシージャなどで、すでに有効化されているネットワーク制約を無効にする場合に使用します。ネットワーク制約の詳細は、5.6項を参照してください。
このプロシージャの動作は、クライアント側のJava APIに含まれるNetworkManager
クラス(5.11.2項を参照)のderegisterConstraint
メソッドを使用する場合に似ています。
パラメータ
ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(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
メソッドを使用する場合に似ています。
パラメータ
ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(SDO_NET_MEM.NETWORK_MANAGER.READ_NETWORKプロシージャで作成済)が使用されます。
パラメータ
ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(SDO_NET_MEM.NETWORK_MANAGER.READ_NETWORKプロシージャで作成済)が使用されます。
使用上の注意
このプロシージャは、ネットワーク・メモリー・オブジェクト内の、(SDO_NET_MEM.NETWORK_MANAGER.DISABLE_REF_CONSTRAINTSプロシージャで使用不可にしていた)リンク表とパス表の参照整合性制約を使用可能にします。ネットワーク・メモリー・オブジェクトの使用方法については、5.8項を参照してください。
作成された参照整合性制約は、自動的に使用可能になります。参照整合性制約は、SDO_NET_MEM.NETWORK_MANAGER.DISABLE_REF_CONSTRAINTSプロシージャをコールして使用不可にし、SDO_NET_MEM.NETWORK_MANAGER.ENABLE_REF_CONSTRAINTSプロシージャをコールして再び使用可能にできます。
このプロシージャの動作は、クライアント側のJava APIに含まれるNetworkManager
クラス(5.11.2項を参照)のenableRefConstraints
メソッドを使用する場合に似ています。
パラメータ
ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(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
メソッドを使用する場合に似ています。
構文
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;
パラメータ
ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(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;
パラメータ
ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(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項を参照してください。)
使用上の注意
このファンクションは、現在のネットワーク・メモリー・オブジェクト内のネットワークについて、その名前のカンマ区切りリストを戻します。ネットワーク・メモリー・オブジェクトを使用した編集とネットワーク分析の操作については、5.8項を参照してください。
パラメータ
ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(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;
パラメータ
ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(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
という名前のネットワークの指定されたエリア内のすべてのネットワーク・オブジェクトを、読取り専用の(allow_updates
が'FALSE'
)HILLS_PART1
という名前のネットワーク・メモリー・オブジェクトにコピーします。ロードされるオブジェクトは、1つの隅の経度/緯度座標が-71.64, 43.32で、もう1つの隅の経度/緯度座標が-71.32, 43.64の長方形の範囲内にあります。(通常のマップでは、これらは、それぞれ左下隅および右上隅となります。)
SDO_NET_MEM.NETWORK_MANAGER.READ_NETWORK('HILLS_PART1', 'HILLSBOROUGH_NETWORK', -71.64, 43.32, -71.32, 43.64, 'FALSE');
構文
SDO_NET_MEM.NETWORK_MANAGER.REGISTER_CONSTRAINT(
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;
パラメータ
ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(SDO_NET_MEM.NETWORK_MANAGER.READ_NETWORKプロシージャで作成済)が使用されます。
開始ノードのノードIDを指定します。
目標ノード(終了ノード)のノードIDを指定します。
適用するネットワーク制約の名前を指定します。このパラメータがNULLの場合、ネットワーク制約は適用されません。(ネットワーク制約の詳細は、5.6項を参照してください。)
使用上の注意
このファンクションは、指定されたネットワーク・メモリー・オブジェクト内のパスID値を戻します。ネットワーク・メモリー・オブジェクトを使用した編集とネットワーク分析の操作については、5.8項を参照してください。
指定されたノード間にパスを作成できない場合、このファンクションはNULL値を戻します。たとえば、1つ以上のノードまたはリンクがFALSE
の場合に、それが原因ですべてのパスが無視されると、NULL値が戻されます。
戻されたパスのリンクを調べるには、SDO_NET_MEM.PATH.GET_LINK_IDSファンクションを使用します。
このファンクションの動作は、クライアント側のJava APIに含まれるNetworkManager
クラス(5.11.2項を参照)のshortestPath
メソッドを使用する場合に似ています。
構文
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;
パラメータ
ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(SDO_NET_MEM.NETWORK_MANAGER.READ_NETWORKプロシージャで作成済)が使用されます。
開始ノードのノードIDを指定します。
目標ノード(終了ノード)のノードIDを指定します。
適用するネットワーク制約の名前を指定します。このパラメータがNULLの場合、ネットワーク制約は適用されません。(ネットワーク制約の詳細は、5.6項を参照してください。)
使用上の注意
このファンクションは、指定されたネットワーク・メモリー・オブジェクト内のパスID値を戻します。ネットワーク・メモリー・オブジェクトを使用した編集とネットワーク分析の操作については、5.8項を参照してください。
指定されたノード間にパスを作成できない場合、このファンクションはNULL値を戻します。たとえば、1つ以上のノードまたはリンクがFALSE
の場合に、それが原因ですべてのパスが無視されると、NULL値が戻されます。
戻されたパスのリンクを調べるには、SDO_NET_MEM.PATH.GET_LINK_IDSファンクションを使用します。
このファンクションの動作は、クライアント側のJava APIに含まれるNetworkManager
クラス(5.11.2項を参照)のshortestPathDijkstra
メソッドを使用する場合に似ています。
例
次の例では、現在のネットワーク・メモリー・オブジェクト内のノードIDが101と105のノードについて、それらのノード間の最短パスのパスIDを戻します(最短パスの決定はDijkstra検索アルゴリズムとコスト検討に基づきます)。また、戻すパスに関する情報も示します。(この例は、5.13.4項の例5-5からの抜粋です。)
res_numeric := SDO_NET_MEM.NETWORK_MANAGER.SHORTEST_PATH_DIJKSTRA(net_mem,101,105); DBMS_OUTPUT.PUT_LINE('The shortest Dijkstra path from node 101 to node 105 is ' || res_numeric); DBMS_OUTPUT.PUT_LINE('The following are characteristics of this shortest path: '); cost := SDO_NET_MEM.PATH.GET_COST(net_mem, res_numeric); DBMS_OUTPUT.PUT_LINE('Path ' || res_numeric || ' cost: ' || cost); res_string := SDO_NET_MEM.PATH.IS_CLOSED(net_mem, res_numeric); DBMS_OUTPUT.PUT_LINE('Is path ' || res_numeric || ' closed? ' || res_string); res_array := SDO_NET_MEM.PATH.GET_LINK_IDS(net_mem, res_numeric); DBMS_OUTPUT.PUT('Path ' || res_numeric || ' has links: '); FOR indx IN res_array.FIRST..res_array.LAST LOOP DBMS_OUTPUT.PUT(res_array(indx) || ' '); END LOOP; DBMS_OUTPUT.PUT_LINE(' '); res_array := SDO_NET_MEM.PATH.GET_NODE_IDS(net_mem, res_numeric); DBMS_OUTPUT.PUT('Path ' || res_numeric || ' has nodes: '); FOR indx IN res_array.FIRST..res_array.LAST LOOP DBMS_OUTPUT.PUT(res_array(indx) || ' '); END LOOP; DBMS_OUTPUT.PUT_LINE(' '); . . . The shortest Dijkstra path from node 101 to node 105 is 13 The following are characteristics of this shortest path: Path 13 cost: 50 Is path 13 closed? FALSE Path 13 has links: 1102 1104 1105 Path 13 has nodes: 101 103 104 105
構文
SDO_NET_MEM.NETWORK_MANAGER.TSP_PATH(
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;
パラメータ
ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(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つ以上のノードまたはリンクがFALSE
の場合に、それが原因ですべてのパスが無視されると、NULL値が戻されます。
すべての要求条件を満たすパスが複数ある場合(たとえば、2つのパスの最小合計コストが等しい場合)は、そのいずれかのパスが戻されます。
戻されたパスのリンクを調べるには、SDO_NET_MEM.PATH.GET_LINK_IDSファンクションを使用します。
このファンクションの動作は、クライアント側のJava APIに含まれるNetworkManager
クラス(5.11.2項を参照)のtspPath
メソッドを使用する場合に似ています。
例
次の例では、現在のネットワーク・メモリー・オブジェクト内のノードID 2で開始し、ノードID 4を通り、ノードID 6で終了する開いたTSPパスのパスIDを戻します。(この例は、5.13.3項の例5-4からの抜粋です。)
res_numeric := SDO_NET_MEM.NETWORK_MANAGER.TSP_PATH(net_mem, sdo_number_array(2, 4, 6), 'FALSE', 'TRUE'); DBMS_OUTPUT.PUT_LINE('Open TSP path ID for N2, N4, N6: ' || res_numeric); DBMS_OUTPUT.PUT_LINE('which contains these links: '); var1_array := SDO_NET_MEM.PATH.GET_LINK_IDS(net_mem, res_numeric); FOR indx1 IN var1_array.FIRST..var1_array.LAST LOOP var1_numeric := var1_array(indx1); DBMS_OUTPUT.PUT(var1_numeric || ' '); END LOOP; DBMS_OUTPUT.PUT_LINE(' '); . . . Open TSP path ID for N2, N4, N6: 4 which contains these links: 102 103 104 105
パラメータ
ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(SDO_NET_MEM.NETWORK_MANAGER.READ_NETWORKプロシージャで作成済)が使用されます。
構文
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;
パラメータ
ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(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.READ_NETWORKプロシージャで作成済)が使用されます。
構文
SDO_NET_MEM.NODE.GET_ADJACENT_NODE_IDS(
net_mem IN VARCHAR2,
node_id IN NUMBER
) RETURN SDO_NUMBER_ARRAY;
パラメータ
ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(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;
パラメータ
ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(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.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プロシージャを使用します。
パラメータ
ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(SDO_NET_MEM.NETWORK_MANAGER.READ_NETWORKプロシージャで作成済)が使用されます。
ノードID番号を指定します。
使用上の注意
このファンクションは、指定されたネットワーク・メモリー・オブジェクト内のノードについて、そのコスト値(数値)を戻します。ネットワーク・メモリー・オブジェクトを使用した編集とネットワーク分析の操作については、5.8項を参照してください。
このファンクションの動作は、クライアント側のJava APIに含まれるNode
インタフェース(5.11.2項を参照)のgetCost
メソッドを使用する場合に似ています。
ノードのコスト値を設定するには、SDO_NET_MEM.NODE.SET_COSTプロシージャを使用します。
パラメータ
ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(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プロシージャを使用します。
パラメータ
ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(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プロシージャを使用します。
パラメータ
ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(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項を参照してください。
構文
SDO_NET_MEM.NODE.GET_IN_LINK_IDS(
net_mem IN VARCHAR2,
node_id IN NUMBER
) RETURN SDO_NUMBER_ARRAY;
パラメータ
ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(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;
パラメータ
ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(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.NETWORK_MANAGER.READ_NETWORKプロシージャで作成済)が使用されます。
ノードID番号を指定します。
使用上の注意
このファンクションは、指定されたネットワーク・メモリー・オブジェクト内のノードについて、そのメジャー値(数値)を戻します。ネットワーク・メモリー・オブジェクトを使用した編集とネットワーク分析の操作については、5.8項を参照してください。
このファンクションの動作は、クライアント側のJava APIに含まれるNode
インタフェース(5.11.2項を参照)のgetMeasure
メソッドを使用する場合に似ています。
ノードのメジャー値を設定するには、SDO_NET_MEM.NODE.SET_MEASUREプロシージャを使用します。
パラメータ
ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(SDO_NET_MEM.NETWORK_MANAGER.READ_NETWORKプロシージャで作成済)が使用されます。
ノードID番号を指定します。
使用上の注意
このファンクションは、指定されたネットワーク・メモリー・オブジェクト内のノードについて、そのノード名の文字列を戻します。ネットワーク・メモリー・オブジェクトを使用した編集とネットワーク分析の操作については、5.8項を参照してください。
このファンクションの動作は、クライアント側のJava APIに含まれるNode
インタフェース(5.11.2項を参照)のgetName
メソッドを使用する場合に似ています。
ノードの名前を設定するには、SDO_NET_MEM.NODE.SET_NAMEプロシージャを使用します。
構文
SDO_NET_MEM.NODE.GET_OUT_LINK_IDS(
net_mem IN VARCHAR2,
node_id IN NUMBER
) RETURN SDO_NUMBER_ARRAY;
パラメータ
ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(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.NETWORK_MANAGER.READ_NETWORKプロシージャで作成済)が使用されます。
ノードID番号を指定します。
使用上の注意
このファンクションは、指定されたネットワーク・メモリー・オブジェクト内のノードID値(数値)を戻します。ネットワーク・メモリー・オブジェクトを使用した編集とネットワーク分析の操作については、5.8項を参照してください。
このファンクションの動作は、クライアント側のJava APIに含まれるNode
インタフェース(5.11.2項を参照)のgetParentNode
メソッドを使用する場合に似ています。
ノードの親ノードを設定するには、SDO_NET_MEM.NODE.SET_PARENT_NODEプロシージャを使用します。
ネットワーク階層の親ノードと子ノード、および親リンクと子リンクの詳細は、5.5項を参照してください。
構文
SDO_NET_MEM.NODE.GET_SIBLING_NODE_IDS(
net_mem IN VARCHAR2,
node_id IN NUMBER
) RETURN SDO_NUMBER_ARRAY;
パラメータ
ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(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.NETWORK_MANAGER.READ_NETWORKプロシージャで作成済)が使用されます。
ノードID番号を指定します。
使用上の注意
このファンクションは、指定されたネットワーク・メモリー・オブジェクト内のノードについて、その状態名の文字列を戻します。ネットワーク・メモリー・オブジェクトを使用した編集とネットワーク分析の操作については、5.8項を参照してください。
状態は文字列値で、TRUE
またはFALSE
のいずれかです。ノードがSDO_NET_MEM.NETWORK_MANAGER.SHORTEST_PATHなどのネットワーク分析ファンクションで検討されるかどうかは、そのノードの状態によって決まります。状態がTRUE
のノードはネットワーク分析ファンクションの検討対象となり、FALSE
のノードは無視されます。
このファンクションの動作は、クライアント側のJava APIに含まれるNode
インタフェース(5.11.2項を参照)のgetState
メソッドを使用する場合に似ています。
ノードの状態を設定するには、SDO_NET_MEM.NODE.SET_STATEプロシージャを使用します。
パラメータ
ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(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.NETWORK_MANAGER.READ_NETWORKプロシージャで作成済)が使用されます。
ノードID番号を指定します。
パラメータ
ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(SDO_NET_MEM.NETWORK_MANAGER.READ_NETWORKプロシージャで作成済)が使用されます。
ノードID番号を指定します。
パラメータ
ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(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
メソッドを使用する場合に似ています。
構文
SDO_NET_MEM.NODE.LINK_EXISTS(
net_mem IN VARCHAR2,
node_id1 IN NUMBER,
node_id2 IN NUMBER
) RETURN VARCHAR2;
パラメータ
ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(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.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ファンクションを使用します。
パラメータ
ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(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ファンクションを使用します。
パラメータ
ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(SDO_NET_MEM.NETWORK_MANAGER.READ_NETWORKプロシージャで作成済)が使用されます。
ノードID番号を指定します。
コスト値を指定します。
使用上の注意
このプロシージャは、指定されたネットワーク・メモリー・オブジェクト内に、ノードのコスト値(数値)を設定します。ネットワーク・メモリー・オブジェクトを使用した編集とネットワーク分析の操作については、5.8項を参照してください。
このプロシージャの動作は、クライアント側のJava APIに含まれるNode
インタフェース(5.11.2項を参照)のsetCost
メソッドを使用する場合に似ています。
ノードのコスト値を取得するには、SDO_NET_MEM.NODE.GET_COSTファンクションを使用します。
パラメータ
ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(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ファンクションを使用します。
パラメータ
ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(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ファンクションを使用します。
パラメータ
ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(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項を参照してください。
パラメータ
ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(SDO_NET_MEM.NETWORK_MANAGER.READ_NETWORKプロシージャで作成済)が使用されます。
ノードID番号を指定します。
メジャー値を指定します。
使用上の注意
このプロシージャは、指定されたネットワーク・メモリー・オブジェクト内に、ノードのメジャー値(数値)を設定します。ネットワーク・メモリー・オブジェクトを使用した編集とネットワーク分析の操作については、5.8項を参照してください。
このプロシージャの動作は、クライアント側のJava APIに含まれるNode
インタフェース(5.11.2項を参照)のsetMeasure
メソッドを使用する場合に似ています。
ノードのメジャー値を取得するには、SDO_NET_MEM.NODE.GET_MEASUREファンクションを使用します。
パラメータ
ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(SDO_NET_MEM.NETWORK_MANAGER.READ_NETWORKプロシージャで作成済)が使用されます。
ノードID番号を指定します。
ノード名を指定します。
使用上の注意
このプロシージャは、指定されたネットワーク・メモリー・オブジェクト内に、ノード名の文字列値を設定します。ネットワーク・メモリー・オブジェクトを使用した編集とネットワーク分析の操作については、5.8項を参照してください。
このプロシージャの動作は、クライアント側のJava APIに含まれるNode
インタフェース(5.11.2項を参照)のsetName
メソッドを使用する場合に似ています。
ノードの名前を取得するには、SDO_NET_MEM.NODE.GET_NAMEファンクションを使用します。
構文
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項を参照してください。
パラメータ
ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(SDO_NET_MEM.NETWORK_MANAGER.READ_NETWORKプロシージャで作成済)が使用されます。
ノードID番号を指定します。
ノードの状態を指定します。TRUE
またはFALSE
のいずれかの文字列値を指定します。
使用上の注意
このプロシージャは、指定されたネットワーク・メモリー・オブジェクト内に、ノード状態の文字列値を設定します。ネットワーク・メモリー・オブジェクトを使用した編集とネットワーク分析の操作については、5.8項を参照してください。
ノードがSDO_NET_MEM.NETWORK_MANAGER.SHORTEST_PATHなどのネットワーク分析ファンクションで検討されるかどうかは、そのノードの状態によって決まります。状態がTRUE
のノードはネットワーク分析ファンクションの検討対象となり、FALSE
のノードは無視されます。
このプロシージャの動作は、クライアント側のJava APIに含まれるNode
インタフェース(5.11.2項を参照)のsetState
メソッドを使用する場合に似ています。
ノードの状態を取得するには、SDO_NET_MEM.NODE.GET_STATEファンクションを使用します。
パラメータ
ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(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.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ファンクションを使用します。
パラメータ
ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(SDO_NET_MEM.NETWORK_MANAGER.READ_NETWORKプロシージャで作成済)が使用されます。
パスID番号を指定します。
パラメータ
ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(SDO_NET_MEM.NETWORK_MANAGER.READ_NETWORKプロシージャで作成済)が使用されます。
パスID番号を指定します。
パラメータ
ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(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プロシージャを使用します。
パラメータ
ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(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.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.NETWORK_MANAGER.READ_NETWORKプロシージャで作成済)が使用されます。
パス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.NETWORK_MANAGER.READ_NETWORKプロシージャで作成済)が使用されます。
パスID番号を指定します。
パラメータ
ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(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.NETWORK_MANAGER.READ_NETWORKプロシージャで作成済)が使用されます。
パスID番号を指定します。
パラメータ
ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(SDO_NET_MEM.NETWORK_MANAGER.READ_NETWORKプロシージャで作成済)が使用されます。
パスID番号を指定します。
パラメータ
ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(SDO_NET_MEM.NETWORK_MANAGER.READ_NETWORKプロシージャで作成済)が使用されます。
パスID番号を指定します。
パラメータ
ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(SDO_NET_MEM.NETWORK_MANAGER.READ_NETWORKプロシージャで作成済)が使用されます。
パスID番号を指定します。
パラメータ
ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(SDO_NET_MEM.NETWORK_MANAGER.READ_NETWORKプロシージャで作成済)が使用されます。
パスID番号を指定します。
使用上の注意
このファンクションは、指定されたネットワーク・メモリー・オブジェクト内のパスが単純であれば文字列TRUE
を戻し、そうでなければ(複雑なパスであれば)FALSE
を戻します。単純なパスでは、各リンクを1回使用することによって開始ノードから終了ノードまで横断できる、リンクの順序付けされたリストが形成されます。複雑なパスでは、開始ノードから終了ノードまで移動するために、複数のオプションがあります。
ネットワーク・メモリー・オブジェクトを使用した編集とネットワーク分析の操作については、5.8項を参照してください。
このファンクションの動作は、クライアント側のJava APIに含まれるPath
インタフェース(5.11.2項を参照)のisSimple
メソッドを使用する場合に似ています。
パラメータ
ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(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
メソッドを使用する場合に似ています。
パラメータ
ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(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.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.NETWORK_MANAGER.READ_NETWORKプロシージャで作成済)が使用されます。
パスID番号を指定します。
新しいパスID番号を指定します。
パラメータ
ネットワーク名を指定します。指定したネットワークの現在のネットワーク・メモリー・オブジェクト(SDO_NET_MEM.NETWORK_MANAGER.READ_NETWORKプロシージャで作成済)が使用されます。
パスID番号を指定します。
パス・タイプを指定します。
使用上の注意
このプロシージャは、指定されたネットワーク・メモリー・オブジェクト内に、パス・タイプの文字列値を設定します。ネットワーク・メモリー・オブジェクトを使用した編集とネットワーク分析の操作については、5.8項を参照してください。
このプロシージャの動作は、クライアント側のJava APIに含まれるPath
インタフェース(5.11.2項を参照)のsetType
メソッドを使用する場合に似ています。
パスのタイプ値を取得するには、SDO_NET_MEM.PATH.GET_TYPEファンクションを使用します。