6.19 SDO_NET.CREATE_TOPO_NETWORK
構文
SDO_NET.CREATE_TOPO_NETWORK( network IN VARCHAR2, no_of_hierarchy_levels IN NUMBER, is_directed IN BOOLEAN, node_with_cost IN BOOLEAN DEFAULT FALSE, is_complex IN BOOLEAN DEFAULT FALSE, storage_parameters IN VARCHAR2 DEFAULT NULL); or SDO_NET.CREATE_TOPO_NETWORK( network IN VARCHAR2, no_of_hierarchy_levels IN NUMBER, is_directed IN BOOLEAN, node_table_name IN VARCHAR2, node_cost_column IN VARCHAR2, link_table_name IN VARCHAR2, link_cost_column IN VARCHAR2, path_table_name IN VARCHAR2, path_geom_column IN VARCHAR2, path_link_table_name IN VARCHAR2, is_complex IN BOOLEAN DEFAULT FALSE, storage_parameters IN VARCHAR2 DEFAULT NULL); or SDO_NET.CREATE_TOPO_NETWORK( network IN VARCHAR2, no_of_hierarchy_levels IN NUMBER, is_directed IN BOOLEAN, node_table_name IN VARCHAR2, node_geom_column IN VARCHAR2, node_cost_column IN VARCHAR2, link_table_name IN VARCHAR2, link_cost_column IN VARCHAR2, path_table_name IN VARCHAR2, path_geom_column IN VARCHAR2, path_link_table_name IN VARCHAR2, subpath_table_name IN VARCHAR2, subpath_geom_column IN VARCHAR2, is_complex IN BOOLEAN DEFAULT FALSE, storage_parameters IN VARCHAR2 DEFAULT NULL);
説明
SDO_TOPO_GEOMETRYオブジェクトを含む空間トポロジ・ネットワークを作成してすべての必要な表を作成し、そのネットワークのメタデータを更新します。
パラメータ
- network
-
ネットワーク名を指定します。
- no_of_hierarchy_levels
-
ネットワーク内のリンクの階層レベルの数を指定します。(ネットワーク階層については、「ネットワーク階層」を参照してください。)
- is_directed
-
ブール値を指定します。リンクが有向リンクである場合は
TRUE
、無向リンクの場合(有向リンクでない場合)はFALSE
を指定します。 - node_with_cost
-
ブール値を指定します。
TRUE
を指定した場合、COSTという名前の列が<network-name>_NODE$表に含まれます。FALSE
(デフォルト)を指定した場合、COSTという名前の列は<network-name>_NODE$表に含まれません。 - node_table_name
-
作成するノード表の名前を指定します。(ノード表については、「ノード表」を参照してください。)このパラメータを指定しない形式を使用した場合、<network-name>_NODE$という名前のノード表が作成されます。
- node_cost_column
-
ノード表のコスト列の名前を指定します。(ノード表については、「ノード表」を参照してください。)このパラメータを指定しない形式を使用した場合、ジオメトリ列の名前はCOSTになります。
- link_table_name
-
作成するリンク表の名前を指定します。(リンク表については、「リンク表」を参照してください。)このパラメータを指定しない形式を使用した場合、<network-name>_LINK$という名前のリンク表が作成されます。
- link_cost_column
-
リンク表のコスト列の名前を指定します。(リンク表については、「リンク表」を参照してください。)このパラメータを指定しない形式を使用した場合、ジオメトリ列の名前はCOSTになります。
- path_table_name
-
作成するパス表の名前を指定します。(パス表については、「パス表」を参照してください。)このパラメータを指定しない形式を使用した場合、<network-name>_PATH$という名前のパス表が作成されます。
- path_geom_column
-
パス表のジオメトリ列の名前を指定します。(パス表については、「パス表」を参照してください。)このパラメータを指定しない形式を使用した場合、ジオメトリ列の名前はGEOMETRYになります。
- path_link_table_name
-
作成するパスリンク表の名前を指定します。(パスリンク表については、「パスリンク表」を参照してください。)このパラメータを指定しない形式を使用した場合、<network-name>_PLINK$という名前のパスリンク表が作成されます。
- subpath_table_name
-
作成するサブパス表の名前を指定します。(サブパス表については、「サブパス表」を参照してください。)
- subpath_geom_column
-
サブパス表のジオメトリ列の名前を指定します。(サブパス表については、「サブパス表」を参照してください。)
- is_complex
-
将来の使用のために予約されています。今回のリリースでは、無視されます。
- storage_parameters
-
ネットワーク表を作成するために内部的に使用される物理記憶域パラメータを指定します。CREATE TABLE文で使用するために、有効な文字列を指定する必要があります。たとえば、
TABLESPACE tbs_3 STORAGE (INITIAL 100K NEXT 200K)
のように指定します。このパラメータを指定しない場合、物理記憶域のデフォルト値が使用されます。
使用上のノート
このプロシージャは、ノード、リンクおよびオプションの関連表が存在しないときに空間ネットワークを作成する場合に役立ちます。このプロシージャは、ネットワークを作成し、そのネットワークのノード表、リンク表、パス表およびパスリンク表を作成し、xxx_SDO_NETWORK_METADATAビュー(「xxx_SDO_NETWORK_METADATAビュー」を参照)に適切な情報を挿入します。ノード表およびリンク表に、SDO_TOPO_GEOMETRY型のTOPO_GEOMETRYという名前のトポロジ・ジオメトリ列が含まれます。
作成するいずれかの表がすでに存在する場合、例外が発生します。
このプロシージャには2つの形式があります。簡単な方の形式では、表名およびジオメトリ列名とコスト列名にデフォルト値を使用して表を作成します。もう一方の形式では、表およびジオメトリ列とコスト列の名前を指定できます。
このプロシージャを使用するかわりに、SDO_NET.CREATE_NODE_TABLE、SDO_NET.CREATE_LINK_TABLE、SDO_NET.CREATE_PATH_TABLEおよびSDO_NET.CREATE_PATH_LINK_TABLEプロシージャを使用して表を作成し、USER_SDO_NETWORK_METADATAビューに適切な行を挿入することによって、ネットワークを作成できます。
例
次の例では、TOPO_NET1
という名前の有向空間トポロジ・ジオメトリ・ネットワークを作成します。また、TOPO_NET1_NODE$、TOPO_NET1_LINK$、TOPO_NET1_PATH$およびTOPO_NET1_PLINK$表を作成し、xxx_SDO_NETWORK_METADATAビューを更新します。トポロジ・ジオメトリ列の名前はTOPO_GEOMETRYになります。ノード表とリンク表の両方に、COSTという名前のコスト列が含まれます。
EXECUTE SDO_NET.CREATE_TOPO_NETWORK('TOPO_NET1', 1, TRUE, TRUE);
親トピック: SDO_NETパッケージ・サブプログラム