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

前
 
次
 

6 SDO_NETパッケージ・サブプログラム

MDSYS.SDO_NETパッケージには、ネットワーク管理を行うためのサブプログラム(ファンクションおよびプロシージャ)が含まれています。この章で説明するサブプログラムを使用する場合は、概念を理解しておく必要があります(第5章を参照)。

論理カテゴリに分類されたサブプログラムのリストは、5.11.1項を参照してください。この章では、これらのサブプログラムのリファレンス情報をアルファベット順に説明します。

SDO_NET.COMPUTE_PATH_GEOMETRY

構文

SDO_NET.COMPUTE_PATH_GEOMETRY(

     network IN VARCHAR2,

     path_id IN NUMBER,

     tolerance IN NUMBER

     ) RETURN SDO_GEOMETRY;

説明

パスの空間ジオメトリを戻します。

パラメータ

network

ネットワーク名を指定します。

path_id

パスID番号を指定します。

tolerance

ネットワーク内のジオメトリに関連付けられた許容差を指定します。(許容差については、『Oracle Spatial開発者ガイド』の第1章を参照してください。)この値は、ネットワークのリンク表およびノード表のジオメトリの許容差と一致している必要があります。

使用上の注意

このファンクションは、指定されたパスについて、SDO_GEOMETRYオブジェクトを計算して戻します。

このファンクションおよびSDO_NET_MEM.PATH.COMPUTE_GEOMETRYプロシージャ(第6章を参照)は両方ともパスのジオメトリを計算しますが、次のような相違点があります。

  • SDO_NET.COMPUTE_PATH_GEOMETRYファンクションは、データベース内のリンクからのパスを計算し、ネットワーク・メモリー・オブジェクトを使用しません。これは、パスのジオメトリを戻します。

  • SDO_NET_MEM.PATH.COMPUTE_GEOMETRYプロシージャは、ロード済のネットワーク・メモリー・オブジェクトを使用してパスを計算します。パスのジオメトリは戻されないため、SDO_NET_MEM.PATH.GET_GEOMETRYファンクションを使用してジオメトリを取得する必要があります。

次の例では、SDO_NET1という名前のネットワーク内にパスIDが1のパスの空間ジオメトリを計算して戻します(許容差は0.005を使用)。このパスは単一リンクで構成されているため、戻されるパスのジオメトリは(1,1)から(15,1)への直線になります。

SELECT SDO_NET.COMPUTE_PATH_GEOMETRY('SDO_NET1', 1, 0.005) FROM DUAL;
 
SDO_NET.COMPUTE_PATH_GEOMETRY('SDO_NET1',1,0.005)(SDO_GTYPE, SDO_SRID, SDO_POINT
--------------------------------------------------------------------------------
SDO_GEOMETRY(2002, NULL, NULL, SDO_ELEM_INFO_ARRAY(1, 2, 1), SDO_ORDINATE_ARRAY(
1, 1, 15, 1))

SDO_NET.COPY_NETWORK

構文

SDO_NET.COPY_NETWORK(

     source_network IN VARCHAR2,

     target_network IN VARCHAR2,

     storage_parameters IN VARCHAR2 DEFAULT NULL);

説明

メタデータ表を含む、ネットワークのコピーを作成します。

パラメータ

source_network

コピーするネットワークの名前を指定します。

target_network

source_networkのコピーとして作成するネットワークの名前を指定します。

storage_parameters

ネットワーク表を作成するために内部的に使用される物理記憶域パラメータを指定します。CREATE TABLE文で使用するために、有効な文字列を指定する必要があります。たとえば、TABLESPACE tbs_3 STORAGE (INITIAL 100K NEXT 200K)のように指定します。このパラメータを指定しない場合、物理記憶域のデフォルト値が使用されます。

使用上の注意

このプロシージャは、xxx_SDO_NETWORK_METADATAビュー(5.10.1項を参照)に、source_networkと同じ情報(新しいネットワーク名を除く)を持つtarget_networkのエントリを作成します。

また、target_networkの新しいノード表、リンク表およびパス表(source_networkにパス表が存在する場合)を、source_networkのこれらの表のメタデータおよびデータに基づいて作成します。これらの表には、<target-network>_NODE$、<target-network>_LINK$および<target-network>_PATH$の形式の名前が付けられます。たとえば、target_networkの値がROADS_NETWORK2で、source_networkにパス表が存在する場合、作成されるメタデータ表の名前はROADS_NETWORK2_NODE$、ROADS_NETWORK2_LINK$およびROADS_NETWORK2_PATH$になります。

次の例では、ROADS_NETWORKという名前のネットワークのコピーであるROADS_NETWORK2という名前の新しいネットワークを作成します。

EXECUTE SDO_NET.COPY_NETWORK('ROADS_NETWORK', 'ROADS_NETWORK2');

SDO_NET.CREATE_LINK_TABLE

構文

SDO_NET.CREATE_LINK_TABLE(

     table_name IN VARCHAR2,

     geom_type IN VARCHAR2,

     geom_column IN VARCHAR2,

     cost_column IN VARCHAR2,

     no_of_hierarchy_levels IN NUMBER,

     add_bidirected_column IN BOOLEAN DEFALT FALSE,

     storage_parameters IN VARCHAR2 DEFAULT NULL);

説明

ネットワークのリンク表を作成します。

パラメータ

table_name

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

geom_type

空間ネットワークのリンクのジオメトリ・タイプを示す値を指定します。非LRSのSDO_GEOMETRYオブジェクトの場合はSDO_GEOMETRY、LRSのSDO_GEOMETRYオブジェクトの場合はLRS_GEOMETRY、SDO_TOPO_GEOMETRYオブジェクトの場合はTOPO_GEOMETRYです。(geom_type値の綴りが正しくない場合、geom_column列は表に含まれません。)

geom_column

空間ネットワーク内のリンクに関連付けられたジオメトリ・オブジェクトを含む列の名前を指定します。

cost_column

リンクに関連付けるコスト値を含む列の名前を指定します。

no_of_hierarchy_levels

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

add_bidirected_column

TRUEを指定すると、リンク表にBIDIRECTEDという名前の列が追加され、FALSE (デフォルト)を指定すると、リンク表にBIDIRECTEDという名前の列が追加されません。

storage_parameters

リンク表を作成するために内部的に使用される物理記憶域パラメータを指定します。CREATE TABLE文で使用するために、有効な文字列を指定する必要があります。たとえば、TABLESPACE tbs_3 STORAGE (INITIAL 100K NEXT 200K)のように指定します。このパラメータを指定しない場合、物理記憶域のデフォルト値が使用されます。

使用上の注意

リンク表については、5.9.2項を参照してください。

次の例では、ROADS_LINKSという名前のリンク表を作成します。この表は、LRSジオメトリを含むLINK_GEOMETRYという名前のジオメトリ列とCOSTという名前のコスト列を含み、単一の階層レベルを持ちます。

EXECUTE SDO_NET.CREATE_LINK_TABLE('ROADS_LINKS', 'LRS_GEOMETRY', 'LINK_GEOMETRY', 'COST', 1);

SDO_NET.CREATE_LOGICAL_NETWORK

構文

SDO_NET.CREATE_LOGICAL_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);

または

SDO_NET.CREATE_LOGICAL_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_link_table_name IN VARCHAR2,

     subpath_table_name IN VARCHAR2,

     is_complex IN BOOLEAN DEFAULT FALSE,

     storage_parameters IN VARCHAR2 DEFAULT NULL);

説明

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

パラメータ

network

ネットワーク名を指定します。

no_of_hierarchy_levels

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

is_directed

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

node_with_cost

ブール値を指定します。TRUEを指定した場合、COSTという名前の列が<network-name>_NODE$表に含まれます。FALSE (デフォルト)を指定した場合、COSTという名前の列は<network-name>_NODE$表に含まれません。

node_table_name

作成するノード表の名前を指定します。(ノード表については、5.9.1項を参照してください。)このパラメータを指定しない形式を使用した場合、<network-name>_NODE$という名前のノード表が作成されます。

node_cost_column

ノード表のコスト列の名前を指定します。(ノード表については、5.9.1項を参照してください。)このパラメータを指定しない形式を使用した場合、ジオメトリ列の名前はCOSTになります。

link_table_name

作成するリンク表の名前を指定します。(リンク表については、5.9.2項を参照してください。)このパラメータを指定しない形式を使用した場合、<network-name>_LINK$という名前のリンク表が作成されます。

link_cost_column

リンク表のコスト列の名前を指定します。(リンク表については、5.9.2項を参照してください。)このパラメータを指定しない形式を使用した場合、ジオメトリ列の名前はCOSTになります。

path_table_name

作成するパス表の名前を指定します。(パス表については、5.9.3項を参照してください。)このパラメータを指定しない形式を使用した場合、<network-name>_PATH$という名前のパス表が作成されます。

path_link_table_name

作成するパスリンク表の名前を指定します。(パスリンク表については、5.9.4項を参照してください。)このパラメータを指定しない形式を使用した場合、<network-name>_PLINK$という名前のパスリンク表が作成されます。

subpath_table_name

作成するサブパス表の名前を指定します。(サブパス表については、5.9.5項を参照してください。)

is_complex

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

storage_parameters

ネットワーク表を作成するために内部的に使用される物理記憶域パラメータを指定します。CREATE TABLE文で使用するために、有効な文字列を指定する必要があります。たとえば、TABLESPACE tbs_3 STORAGE (INITIAL 100K NEXT 200K)のように指定します。このパラメータを指定しない場合、物理記憶域のデフォルト値が使用されます。

使用上の注意

このプロシージャは、ノード、リンクおよびオプションの関連表が存在しないときに論理ネットワークを作成する場合に役立ちます。このプロシージャは、ネットワークを作成し、そのネットワークのノード表、リンク表、パス表およびパスリンク表を作成し、xxx_SDO_NETWORK_METADATAビュー(5.10.1項を参照)に適切な情報を挿入します。

作成するいずれかの表がすでに存在する場合、例外が発生します。

このプロシージャには2つの形式があります。簡単な方の形式では、表名およびコスト列名にデフォルト値を使用して表を作成します。もう一方の形式では、表およびコスト列の名前を指定できます。

このプロシージャを使用するかわりに、SDO_NET.CREATE_NODE_TABLESDO_NET.CREATE_LINK_TABLESDO_NET.CREATE_PATH_TABLEおよびSDO_NET.CREATE_PATH_LINK_TABLEプロシージャを使用して表を作成し、USER_SDO_NETWORK_METADATAビューに適切な行を挿入することによって、ネットワークを作成できます。

次の例では、LOG_NET1という名前の有向論理ネットワークを作成します。また、LOG_NET1_NODE$、LOG_NET1_LINK$、LOG_NET1_PATH$およびLOG_NET1_PLINK$表を作成し、xxx_SDO_NETWORK_METADATAビューを更新します。ノード表とリンク表の両方に、COSTという名前のコスト列が含まれます。

EXECUTE SDO_NET.CREATE_LOGICAL_NETWORK('LOG_NET1', 1, TRUE, TRUE);

SDO_NET.CREATE_LRS_NETWORK

構文

SDO_NET.CREATE_LRS_NETWORK(

     network IN VARCHAR2,

     lrs_table_name IN VARCHAR2,

     lrs_geom_column 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);

または

SDO_NET.CREATE_LRS_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,

     lrs_table_name IN VARCHAR2,

     lrs_geom_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);

説明

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

パラメータ

network

ネットワーク名を指定します。

lrs_table_name

LRSジオメトリ列を含む表の名前を指定します。

lrs_geom_column

LRSジオメトリ(線形参照のメジャー情報を含むSDO_GEOMETRYオブジェクト)を含むlrs_table_nameの列の名前を指定します。

is_directed

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

no_of_hierarchy_levels

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

node_with_cost

ブール値を指定します。TRUEを指定した場合、COSTという名前の列が<network-name>_NODE$表に含まれます。FALSE (デフォルト)を指定した場合、COSTという名前の列は<network-name>_NODE$表に含まれません。

is_complex

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

node_table_name

作成するノード表の名前を指定します。(ノード表については、5.9.1項を参照してください。)このパラメータを指定しない形式を使用した場合、<network-name>_NODE$という名前のノード表が作成されます。

node_cost_column

ノード表のコスト列の名前を指定します。(ノード表については、5.9.1項を参照してください。)このパラメータを指定しない形式を使用した場合、ジオメトリ列の名前はCOSTになります。

link_table_name

作成するリンク表の名前を指定します。(リンク表については、5.9.2項を参照してください。)このパラメータを指定しない形式を使用した場合、<network-name>_LINK$という名前のリンク表が作成されます。

link_cost_column

リンク表のコスト列の名前を指定します。(リンク表については、5.9.2項を参照してください。)このパラメータを指定しない形式を使用した場合、ジオメトリ列の名前はCOSTになります。

path_table_name

作成するパス表の名前を指定します。(パス表については、5.9.3項を参照してください。)このパラメータを指定しない形式を使用した場合、<network-name>_PATH$という名前のパス表が作成されます。

path_geom_column

パス表のジオメトリ列の名前を指定します。(パス表については、5.9.3項を参照してください。)このパラメータを指定しない形式を使用した場合、ジオメトリ列の名前はGEOMETRYになります。

path_link_table_name

作成するパスリンク表の名前を指定します。(パスリンク表については、5.9.4項を参照してください。)このパラメータを指定しない形式を使用した場合、<network-name>_PLINK$という名前のパスリンク表が作成されます。

subpath_table_name

作成するサブパス表の名前を指定します。(サブパス表については、5.9.5項を参照してください。)

subpath_geom_column

サブパス表のジオメトリ列の名前を指定します。(サブパス表については、5.9.5項を参照してください。)

storage_parameters

ネットワーク表を作成するために内部的に使用される物理記憶域パラメータを指定します。CREATE TABLE文で使用するために、有効な文字列を指定する必要があります。たとえば、TABLESPACE tbs_3 STORAGE (INITIAL 100K NEXT 200K)のように指定します。このパラメータを指定しない場合、物理記憶域のデフォルト値が使用されます。

使用上の注意

このプロシージャは、ノード、リンクおよびオプションの関連表が存在しないときにLRSジオメトリの空間ネットワークを作成する場合に役立ちます。このプロシージャは、ネットワークを作成し、そのネットワークのノード表、リンク表、パス表およびパスリンク表を作成し、xxx_SDO_NETWORK_METADATAビュー(5.10.1項を参照)に適切な情報を挿入します。

作成するいずれかの表がすでに存在する場合、例外が発生します。

このプロシージャには2つの形式があります。簡単な方の形式では、表名およびジオメトリ列名とコスト列名にデフォルト値を使用して表を作成します。もう一方の形式では、表およびジオメトリ列とコスト列の名前を指定できます。

このプロシージャを使用するかわりに、SDO_NET.CREATE_NODE_TABLESDO_NET.CREATE_LINK_TABLESDO_NET.CREATE_PATH_TABLEおよびSDO_NET.CREATE_PATH_LINK_TABLEプロシージャを使用して表を作成し、USER_SDO_NETWORK_METADATAビューに適切な行を挿入することによって、ネットワークを作成できます。

次の例では、LRS_NET1という名前の有向空間ネットワークを作成します。LRSジオメトリは、LRS_TABという名前の表のLRS_GEOMという名前の列に存在します。また、LRS_NET1_NODE$、LRS_NET1_LINK$、LRS_NET1_PATH$およびLRS_NET1_PLINK$表を作成し、xxx_SDO_NETWORK_METADATAビューを更新します。すべてのジオメトリ列は、GEOMETRYという名前になります。ノード表とリンク表の両方に、COSTという名前のコスト列が含まれます。

EXECUTE SDO_NET.CREATE_LRS_NETWORK('LRS_NET1', 'LRS_TAB', 'LRS_GEOM', 1, TRUE, TRUE);

SDO_NET.CREATE_LRS_TABLE

構文

SDO_NET.CREATE_LRS_TABLE(

     table_name IN VARCHAR2,

     geom_column IN VARCHAR2,

     storage_parameters IN VARCHAR2 DEFAULT NULL);

説明

Oracle Spatialの線形参照システム(LRS)・ジオメトリを格納するための表を作成します。

パラメータ

table_name

geom_columnで指定したジオメトリ列を含む表の名前を指定します。

geom_column

ジオメトリ・オブジェクトを含む(SDO_GEOMETRY型の)列の名前を指定します。

storage_parameters

LRS表を作成するために内部的に使用される物理記憶域パラメータを指定します。CREATE TABLE文で使用するために、有効な文字列を指定する必要があります。たとえば、TABLESPACE tbs_3 STORAGE (INITIAL 100K NEXT 200K)のように指定します。このパラメータを指定しない場合、物理記憶域のデフォルト値が使用されます。

使用上の注意

このプロシージャは、2つの列(NUMBER型のGEOM_IDおよびSDO_GEOMETRY型のgeom_column)を含むtable_nameという名前の表を作成します。

作成された表をLRSジオメトリの格納に使用する必要はありませんが、このプロシージャは、そのようなジオメトリを格納するための表の作成に役立ちます。多くの場合、表にデータを格納する前に、表を変更して他の列を追加します。

次の例では、GEOMという名前のジオメトリ列を含むHIGHWAYSという名前の表を作成します。

EXECUTE SDO_NET.CREATE_LRS_TABLE('HIGHWAYS', 'GEOM');
 
PL/SQL procedure successfully completed.
 
DESCRIBE highways
 Name                                      Null?    Type
 ----------------------------------------- -------- ----------------------------
 GEOM_ID                                   NOT NULL NUMBER
 GEOM                                               MDSYS.SDO_GEOMETRY

SDO_NET.CREATE_NODE_TABLE

構文

SDO_NET.CREATE_NODE_TABLE(

     table_name IN VARCHAR2,

     geom_type IN VARCHAR2,

     geom_column IN VARCHAR2,

     cost_column IN VARCHAR2,

     no_of_hierarchy_levels IN NUMBER,

     is_complex IN BOOLEAN DEFAULT FALSE,

     storage_parameters IN VARCHAR2 DEFAULT NULL);

または

SDO_NET.CREATE_NODE_TABLE(

     table_name IN VARCHAR2,

     geom_type IN VARCHAR2,

     geom_column IN VARCHAR2,

     cost_column IN VARCHAR2,

     partition_column IN VARCHAR2,

     no_of_hierarchy_levels IN NUMBER,

     is_complex IN BOOLEAN DEFAULT FALSE,

     storage_parameters IN VARCHAR2 DEFAULT NULL);

説明

ノード表を作成します。

パラメータ

table_name

ノード表の名前を指定します。

geom_type

空間ネットワーク内のノードのジオメトリ・タイプを示す値を指定します。非LRSのSDO_GEOMETRYオブジェクトの場合はSDO_GEOMETRY、LRSのSDO_GEOMETRYオブジェクトの場合はLRS_GEOMETRY、SDO_TOPO_GEOMETRYオブジェクトの場合はTOPO_GEOMETRYです。(geom_type値の綴りが正しくない場合、geom_column列は表に含まれません。)

geom_column

空間ネットワーク内のノードに関連付けられたジオメトリ・オブジェクトを含む列の名前を指定します。

cost_column

ノードに関連付けるコスト値を含む列の名前を指定します。

partition_column

ノードに関連付けるパーティションID値を含む列の名前を指定します。

no_of_hierarchy_levels

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

is_complex

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

storage_parameters

<network-name>_NODE$表(5.9.1項を参照)を作成するために内部的に使用される物理記憶域パラメータを指定します。CREATE TABLE文で使用するために、有効な文字列を指定する必要があります。たとえば、TABLESPACE tbs_3 STORAGE (INITIAL 100K NEXT 200K)のように指定します。このパラメータを指定しない場合、物理記憶域のデフォルト値が使用されます。

使用上の注意

このプロシージャには、2つの形式があります。1つはpartition_columnパラメータが含まれておらず、1つはpartition_columnパラメータが含まれています。

ノード表については、5.9.1項を参照してください。

次の例では、ROADS_NODESという名前のノード表を作成します。この表は、LRSジオメトリを含むNODE_GEOMETRYという名前のジオメトリ列を含み、単一の階層レベルを持ちます。コスト列は含みません。

EXECUTE SDO_NET.CREATE_NODE_TABLE('ROADS_NODES', 'LRS_GEOMETRY', 'NODE_GEOMETRY', NULL, 1);

SDO_NET.CREATE_PARTITION_TABLE

構文

SDO_NET.CREATE_PARTITION_TABLE(

     table_name IN VARCHAR2);

説明

パーティション表を作成します。

パラメータ

table_name

パーティション表の名前を指定します。

使用上の注意

パーティション表については、5.9.6項を参照してください。

ロード・オンデマンド方式を使用した分析を実行するための、パーティション化されたネットワークの使用方法については、5.7項を参照してください。

次の例では、MY_PART_TABという名前のパーティション表を作成します。

EXECUTE SDO_NET.CREATE_PARTITION_TABLE('MY_PART_TAB');

SDO_NET.CREATE_PATH_LINK_TABLE

構文

SDO_NET.CREATE_PATH_LINK_TABLE(

     table_name IN VARCHAR2,

     storage_parameters IN VARCHAR2 DEFAULT NULL);

説明

パスリンク表(パス表の各パスに各リンクの行を持つ表)を作成します。

パラメータ

table_name

パスリンク表の名前を指定します。

storage_parameters

パスリンク表を作成するために内部的に使用される物理記憶域パラメータを指定します。CREATE TABLE文で使用するために、有効な文字列を指定する必要があります。たとえば、TABLESPACE tbs_3 STORAGE (INITIAL 100K NEXT 200K)のように指定します。このパラメータを指定しない場合、物理記憶域のデフォルト値が使用されます。

使用上の注意

パスリンク表については、5.9.4項を参照してください。

ネットワークでパスを使用するには、パスリンク表を移入する必要があります。

次の例では、ROADS_PATHS_LINKSという名前のパスリンク表を作成します。

EXECUTE SDO_NET.CREATE_PATH_LINK_TABLE('ROADS_PATHS_LINKS');

SDO_NET.CREATE_PATH_TABLE

構文

SDO_NET.CREATE_PATH_TABLE(

     table_name IN VARCHAR2,

     geom_column IN VARCHAR2,

     storage_parameters IN VARCHAR2 DEFAULT NULL);

説明

パス表を作成します。

パラメータ

table_name

パス表の名前を指定します。

geom_column

空間ネットワークのパスに関連付けられたジオメトリ・オブジェクトを含む列の名前を指定します。

storage_parameters

パス表を作成するために内部的に使用される物理記憶域パラメータを指定します。CREATE TABLE文で使用するために、有効な文字列を指定する必要があります。たとえば、TABLESPACE tbs_3 STORAGE (INITIAL 100K NEXT 200K)のように指定します。このパラメータを指定しない場合、物理記憶域のデフォルト値が使用されます。

使用上の注意

パス表については、5.9.3項を参照してください。

ネットワークでパスを使用するには、パス表の作成後にSDO_NET.CREATE_PATH_LINK_TABLEプロシージャを使用してパスリンク表を作成し、そのパスリンク表を移入する必要があります。

次の例では、PATH_GEOMETRYという名前のジオメトリ列を含むROADS_PATHSという名前のパス表を作成します。

EXECUTE SDO_NET.CREATE_PATH_TABLE('ROADS_PATHS', 'PATH_GEOMETRY');

SDO_NET.CREATE_SDO_NETWORK

構文

SDO_NET.CREATE_SDO_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);

または

SDO_NET.CREATE_SDO_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_geom_column 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);

説明

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

パラメータ

network

ネットワーク名を指定します。

no_of_hierarchy_levels

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

is_directed

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

node_with_cost

ブール値を指定します。TRUEを指定した場合、COSTという名前の列が<network-name>_NODE$表に含まれます。FALSE (デフォルト)を指定した場合、COSTという名前の列は<network-name>_NODE$表に含まれません。

node_table_name

作成するノード表の名前を指定します。(ノード表については、5.9.1項を参照してください。)このパラメータを指定しない形式を使用した場合、<network-name>_NODE$という名前のノード表が作成されます。

node_geom_column

ノード表のジオメトリ列の名前を指定します。(ノード表については、5.9.1項を参照してください。)このパラメータを指定しない形式を使用した場合、ジオメトリ列の名前はGEOMETRYになります。

node_cost_column

ノード表のコスト列の名前を指定します。(ノード表については、5.9.1項を参照してください。)このパラメータを指定しない形式を使用した場合、ジオメトリ列の名前はCOSTになります。

link_table_name

作成するリンク表の名前を指定します。(リンク表については、5.9.2項を参照してください。)このパラメータを指定しない形式を使用した場合、<network-name>_LINK$という名前のリンク表が作成されます。

link_geom_column

リンク表のジオメトリ列の名前を指定します。(リンク表については、5.9.2項を参照してください。)このパラメータを指定しない形式を使用した場合、ジオメトリ列の名前はGEOMETRYになります。

link_cost_column

リンク表のコスト列の名前を指定します。(リンク表については、5.9.2項を参照してください。)このパラメータを指定しない形式を使用した場合、ジオメトリ列の名前はCOSTになります。

path_table_name

作成するパス表の名前を指定します。(パス表については、5.9.3項を参照してください。)このパラメータを指定しない形式を使用した場合、<network-name>_PATH$という名前のパス表が作成されます。

path_geom_column

パス表のジオメトリ列の名前を指定します。(パス表については、5.9.3項を参照してください。)このパラメータを指定しない形式を使用した場合、ジオメトリ列の名前はGEOMETRYになります。

path_link_table_name

作成するパスリンク表の名前を指定します。(パスリンク表については、5.9.4項を参照してください。)このパラメータを指定しない形式を使用した場合、<network-name>_PLINK$という名前のパスリンク表が作成されます。

subpath_table_name

作成するサブパス表の名前を指定します。(サブパス表については、5.9.5項を参照してください。)

subpath_geom_column

サブパス表のジオメトリ列の名前を指定します。(サブパス表については、5.9.5項を参照してください。)

is_complex

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

storage_parameters

ネットワーク表を作成するために内部的に使用される物理記憶域パラメータを指定します。CREATE TABLE文で使用するために、有効な文字列を指定する必要があります。たとえば、TABLESPACE tbs_3 STORAGE (INITIAL 100K NEXT 200K)のように指定します。このパラメータを指定しない場合、物理記憶域のデフォルト値が使用されます。

使用上の注意

このプロシージャは、ノード、リンクおよびオプションの関連表が存在しないときに空間ネットワークを作成する場合に役立ちます。このプロシージャは、ネットワークを作成し、そのネットワークのノード表、リンク表、パス表およびパスリンク表を作成し、xxx_SDO_NETWORK_METADATAビュー(5.10.1項を参照)に適切な情報を挿入します。

作成するいずれかの表がすでに存在する場合、例外が発生します。

このプロシージャには2つの形式があります。簡単な方の形式では、表名およびジオメトリ列名とコスト列名にデフォルト値を使用して表を作成します。もう一方の形式では、表およびジオメトリ列とコスト列の名前を指定できます。

このプロシージャを使用するかわりに、SDO_NET.CREATE_NODE_TABLESDO_NET.CREATE_LINK_TABLESDO_NET.CREATE_PATH_TABLEおよびSDO_NET.CREATE_PATH_LINK_TABLEプロシージャを使用して表を作成し、USER_SDO_NETWORK_METADATAビューに適切な行を挿入することによって、ネットワークを作成できます。

次の例では、SDO_NET1という名前の有向空間ネットワークを作成します。また、SDO_NET1_NODE$、SDO_NET1_LINK$、SDO_NET1_PATH$およびSDO_NET1_PLINK$表を作成し、xxx_SDO_NETWORK_METADATAビューを更新します。すべてのジオメトリ列は、GEOMETRYという名前になります。ノード表とリンク表の両方に、COSTという名前のコスト列が含まれます。

EXECUTE SDO_NET.CREATE_SDO_NETWORK('SDO_NET1', 1, TRUE, TRUE);

SDO_NET.CREATE_SUBPATH_TABLE

構文

SDO_NET.CREATE_PATH_TABLE(

     table_name IN VARCHAR2,

     geom_column IN VARCHAR2,

     storage_parameters IN VARCHAR2 DEFAULT NULL);

説明

サブパス表を作成します。

パラメータ

table_name

サブパス表の名前を指定します。

geom_column

空間ネットワークのサブパスに関連付けられたジオメトリ・オブジェクトを含む列の名前を指定します。

storage_parameters

サブパス表(5.9.1項を参照)を作成するために内部的に使用される物理記憶域パラメータを指定します。CREATE TABLE文で使用するために、有効な文字列を指定する必要があります。たとえば、TABLESPACE tbs_3 STORAGE (INITIAL 100K NEXT 200K)のように指定します。このパラメータを指定しない場合、物理記憶域のデフォルト値が使用されます。

使用上の注意

サブパス表については、5.9.5項を参照してください。

ネットワークでサブパスを使用するには、1つ以上のパス表およびそれに関連するパスリンク表を作成する必要があります。

次の例では、SUBPATH_GEOMETRYという名前のジオメトリ列を含むROADS_SUBPATHSという名前のサブパス表を作成します。

EXECUTE SDO_NET.CREATE_SUBPATH_TABLE('ROADS_SUBPATHS', 'SUBPATH_GEOMETRY');

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);

または

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);

または

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

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

is_directed

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

node_with_cost

ブール値を指定します。TRUEを指定した場合、COSTという名前の列が<network-name>_NODE$表に含まれます。FALSE (デフォルト)を指定した場合、COSTという名前の列は<network-name>_NODE$表に含まれません。

node_table_name

作成するノード表の名前を指定します。(ノード表については、5.9.1項を参照してください。)このパラメータを指定しない形式を使用した場合、<network-name>_NODE$という名前のノード表が作成されます。

node_cost_column

ノード表のコスト列の名前を指定します。(ノード表については、5.9.1項を参照してください。)このパラメータを指定しない形式を使用した場合、ジオメトリ列の名前はCOSTになります。

link_table_name

作成するリンク表の名前を指定します。(リンク表については、5.9.2項を参照してください。)このパラメータを指定しない形式を使用した場合、<network-name>_LINK$という名前のリンク表が作成されます。

link_cost_column

リンク表のコスト列の名前を指定します。(リンク表については、5.9.2項を参照してください。)このパラメータを指定しない形式を使用した場合、ジオメトリ列の名前はCOSTになります。

path_table_name

作成するパス表の名前を指定します。(パス表については、5.9.3項を参照してください。)このパラメータを指定しない形式を使用した場合、<network-name>_PATH$という名前のパス表が作成されます。

path_geom_column

パス表のジオメトリ列の名前を指定します。(パス表については、5.9.3項を参照してください。)このパラメータを指定しない形式を使用した場合、ジオメトリ列の名前はGEOMETRYになります。

path_link_table_name

作成するパスリンク表の名前を指定します。(パスリンク表については、5.9.4項を参照してください。)このパラメータを指定しない形式を使用した場合、<network-name>_PLINK$という名前のパスリンク表が作成されます。

subpath_table_name

作成するサブパス表の名前を指定します。(サブパス表については、5.9.5項を参照してください。)

subpath_geom_column

サブパス表のジオメトリ列の名前を指定します。(サブパス表については、5.9.5項を参照してください。)

is_complex

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

storage_parameters

ネットワーク表を作成するために内部的に使用される物理記憶域パラメータを指定します。CREATE TABLE文で使用するために、有効な文字列を指定する必要があります。たとえば、TABLESPACE tbs_3 STORAGE (INITIAL 100K NEXT 200K)のように指定します。このパラメータを指定しない場合、物理記憶域のデフォルト値が使用されます。

使用上の注意

このプロシージャは、ノード、リンクおよびオプションの関連表が存在しないときに空間ネットワークを作成する場合に役立ちます。このプロシージャは、ネットワークを作成し、そのネットワークのノード表、リンク表、パス表およびパスリンク表を作成し、xxx_SDO_NETWORK_METADATAビュー(5.10.1項を参照)に適切な情報を挿入します。ノード表およびリンク表に、SDO_TOPO_GEOMETRY型のTOPO_GEOMETRYという名前のトポロジ・ジオメトリ列が含まれます。

作成するいずれかの表がすでに存在する場合、例外が発生します。

このプロシージャには2つの形式があります。簡単な方の形式では、表名およびジオメトリ列名とコスト列名にデフォルト値を使用して表を作成します。もう一方の形式では、表およびジオメトリ列とコスト列の名前を指定できます。

このプロシージャを使用するかわりに、SDO_NET.CREATE_NODE_TABLESDO_NET.CREATE_LINK_TABLESDO_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.DELETE_LINK

構文

SDO_NET.DELETE_LINK(

     network IN VARCHAR2,

     link_id IN NUMBER);

説明

リンクおよびすべての依存するネットワーク要素を削除します。

パラメータ

network

ネットワーク名を指定します。

link_id

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

使用上の注意

このプロシージャは、指定したリンクをリンク表(5.9.2項を参照)から削除して、このリンクに依存する他のすべてのネットワーク要素を削除します。たとえば、指定したリンクがパスおよびサブパスに含まれている場合は、それらのパスやサブパスも削除されます。

次の例では、SDO_NET2ネットワーク内のリンクIDが1のリンクを削除します。

SELECT SDO_NET.DELETE_LINK('SDO_NET2', 1);

SDO_NET.DELETE_NODE

構文

SDO_NET.DELETE_NODE(

     network IN VARCHAR2,

     node_id IN NUMBER);

説明

ノードおよびすべての依存するネットワーク要素を削除します。

パラメータ

network

ネットワーク名を指定します。

node_id

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

使用上の注意

このプロシージャは、指定したノードをノード表(5.9.1項を参照)から削除して、このノードに依存する他のすべてのネットワーク要素を削除します。たとえば、指定したノードがリンク定義に含まれている場合は、それらのリンクは削除されます。削除されたリンクがパスおよびサブパスに含まれている場合は、それらのパスやサブパスも削除されます。

次の例では、SDO_NET2ネットワーク内のノードIDが1のノードを削除します。

SELECT SDO_NET.DELETE_NODE('SDO_NET2', 1);

SDO_NET.DELETE_PATH

構文

SDO_NET.DELETE_PATH(

     network IN VARCHAR2,

     path_id IN NUMBER);

説明

パスおよびすべての依存するネットワーク要素を削除します。

パラメータ

network

ネットワーク名を指定します。

path_id

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

使用上の注意

このプロシージャは、指定したパスをパス表(5.9.3項を参照)から削除して、このパスに依存する他のすべてのネットワーク要素を削除します。たとえば、指定したパスにサブパスが含まれている場合は、それらのサブパスも削除されます。

次の例では、SDO_NET2ネットワーク内のパスIDが1のパスを削除します。

SELECT SDO_NET.DELETE_PATH('SDO_NET2', 1);

SDO_NET.DELETE_SUBPATH

構文

SDO_NET.DELETE_SUBPATH(

     network IN VARCHAR2,

     subpath_id IN NUMBER);

説明

サブパスを削除します。

パラメータ

network

ネットワーク名を指定します。

subpath_id

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

使用上の注意

このプロシージャは、指定したサブパスをパス表(5.9.3項を参照)から削除します。サブパス定義に依存している他の要素がないため、このプロシージャでは、他のネットワーク要素は削除されません。

次の例では、SDO_NET2ネットワーク内のサブパスIDが17のサブパスを削除します。

SELECT SDO_NET.DELETE_SUBPATH('SDO_NET2', 17);

SDO_NET.DEREGISTER_CONSTRAINT

構文

SDO_NET.DEREGISTER_CONSTRAINT(

     constraint_name IN VARCHAR2);

説明

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

パラメータ

constraint_name

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

使用上の注意

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

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

EXECUTE SDO_NET.DEREGISTER_CONSTRAINT('GivenProhibitedTurn');

SDO_NET.DROP_NETWORK

構文

SDO_NET.DROP_NETWORK(

     network IN VARCHAR2);

説明

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

パラメータ

network

削除するネットワークの名前を指定します。

使用上の注意

このプロシージャは、ネットワークに関連付けられたノード表、リンク表およびパス表と、そのネットワークのメタデータも削除します。

次の例では、ROADS_NETWORKという名前のネットワークを削除します。

EXECUTE SDO_NET.DROP_NETWORK('ROADS_NETWORK');

SDO_NET.FIND_CONNECTED_COMPONENTS

構文

SDO_NET.FIND_CONNECTED_COMPONENTS(

     network IN VARCHAR2,

     link_level IN NUMBER DEFAULT 1,

     component_table_name IN VARCHAR2,

     log_loc IN VARCHAR2,

     log_file IN VARCHAR2,

     open_mode IN VARCHAR2 DEFAULT 'A');

説明

ネットワーク内で指定したリンク・レベルに接続されているすべてのコンポーネントを検索し、接続されているコンポーネントの表にその情報を格納します。

パラメータ

network

ネットワーク名を指定します。

link_level

接続されているコンポーネントを検索するためのリンク・レベルを指定します(デフォルトは1)。リンク・レベルは、リンクの優先順位であり、ネットワーク分析に使用すると、パスの計算時に優先順位の高いリンクが最初に考慮されます。

component_table_name

このプロシージャで作成される、接続されているコンポーネントの表の名前を指定します。(指定した名前の表がすでに存在する場合は、指定したリンク・レベルの情報で更新されます。)接続されているコンポーネント表については、5.9.8項を参照してください。

log_loc

ログ・ファイルのパスを特定するディレクトリ・オブジェクトを指定します。ディレクトリ・オブジェクトを作成するには、SQL*PlusコマンドのCREATE DIRECTORYを使用します。

log_file

発生する可能性があるエラーや問題など、Spatialのネットワーク操作に関する情報を格納するログ・ファイルを指定します。

open_mode

ログ・ファイルを開く際のモードを示す1文字のコードを指定します。Wは上書き(指定した場所および名前の既存のログ・ファイルをすべて削除し、新規ファイルを作成)、A (デフォルト)は追加(指定した既存のログ・ファイルに情報を追加)を表します。Aを指定し、そのログ・ファイルが存在しない場合は、新規ログ・ファイルが作成されます。

使用上の注意

このプロシージャは、指定したネットワークの各ノードについて、そのノードから到達可能な他のすべてのノードの情報を検索し、接続されているコンポーネントの指定した表にその情報を格納します。この情報が表に格納されていると、ネットワーク分析の多くの操作でパフォーマンスが向上します。

次の例では、SDO_PARTITIONEDネットワーク内のリンク・レベル1で接続されているコンポーネントを検索し、SDO_PARTITIONED_CONN_COMP_TAB表を作成または更新します。操作に関する情報は、LOG_DIRという名前のディレクトリ・オブジェクトに関連付けられた場所にあるsdo_partitioned.logファイルに追加されます(open_mode => 'a')。

EXECUTE SDO_NET.FIND_CONNECTED_COMPONENTS(-
  network => 'SDO_PARTITIONED', -
  link_level => 1,-
  component_table_name => 'sdo_partitioned_conn_comp_tab',-
  log_loc => 'LOG_DIR', log_file=> 'sdo_partitioned.log',-
  open_mode => 'a');

SDO_NET.GENERATE_NODE_LEVELS

構文

SDO_NET.GENERATE_NODE_LEVELS(

     network IN VARCHAR2,

     node_level_table_name IN VARCHAR2,

     overwrite IN BOOLEAN DEFAULT FALSE,

     log_loc IN VARCHAR2,

     log_file IN VARCHAR2,

     open_mode IN VARCHAR2 DEFAULT 'A');

説明

指定した階層(マルチレベル)ネットワークのノード・レベルを生成し、その情報を表に格納します。

パラメータ

network

ネットワーク名を指定します。

node_level_table_name

ノード・レベル情報を格納する表を指定します。この表には、(node_id NUMBER PRIMARY KEY, link_level NUMBER)という定義が必要です。

overwrite

node_level_table_nameで指定された表がすでに存在する場合の動作を制御し、TRUEを指定すると、その表の内容が新しいデータに置き換えられ、FALSE (デフォルト)を指定すると、エラーが生成されます。(node_level_table_nameで指定された表が存在しない場合、このパラメータは無視されます。)

log_loc

ログ・ファイルのパスを特定するディレクトリ・オブジェクトを指定します。ディレクトリ・オブジェクトを作成するには、SQL*PlusコマンドのCREATE DIRECTORYを使用します。

log_file

発生する可能性があるエラーや問題など、Spatialのネットワーク操作に関する情報を格納するログ・ファイルを指定します。

open_mode

ログ・ファイルを開く際のモードを示す1文字のコードを指定します。Wは上書き(指定した場所および名前の既存のログ・ファイルをすべて削除し、新規ファイルを作成)、A (デフォルト)は追加(指定した既存のログ・ファイルに情報を追加)を表します。Aを指定し、そのログ・ファイルが存在しない場合は、新規ログ・ファイルが作成されます。

使用上の注意

networkが階層ネットワーク(複数のリンク・レベルを持つネットワーク)ではない場合、このプロシージャは処理を実行しません。階層ネットワークの詳細は、5.5項を参照してください。

ノード・レベル表の名前は、USER_SDO_NETWORK_METADATAビューのNODE_LEVEL_TABLE_NAME列(5.10.1項を参照)に格納されます。

次の例では、MY_MULTILEVEL_NETネットワークのノード・レベル情報を生成して、その情報をMY_NET_NODE_LEVELS表に格納します。操作に関する情報は、LOG_DIRという名前のディレクトリ・オブジェクトに関連付けられた場所にあるmy_multilevel_net.logファイルに追加されます(open_mode => 'a')。

EXECUTE SDO_NET.GENERATE_NODE_LEVELS(-
  network => 'MY_MULTILEVEL_NET', -
  node_level_table_name => 'MY_NET_NODE_LEVELS',-
  overwrite => FALSE,-
  log_loc => 'LOG_DIR', log_file=> 'my_multilevel_net.log',-
  open_mode => 'a');

SDO_NET.GENERATE_PARTITION_BLOB

構文

SDO_NET.GENERATE_PARTITION_BLOB(

     network IN VARCHAR2,

     link_level IN NUMBER DEFAULT 1,

     partition_id IN VARCHAR2,

     include_user_data IN BOOLEAN,

     log_loc IN VARCHAR2,

     log_file IN VARCHAR2,

     open_mode IN VARCHAR2 DEFAULT 'A',

     preform_delta_update IN BOOLEAN DEFAULT FALSE);

説明

ネットワーク内の指定のリンク・レベルに関連付けられた指定のパーティションに対して、1つのバイナリ・ラージ・オブジェクト(BLOB)表現を生成し、その情報を既存のパーティションBLOB表に格納します。

パラメータ

network

ネットワーク名を指定します。

link_level

BLOBに含まれるリンクのリンク・レベル(デフォルトは1)を指定します。リンク・レベルは、リンクの優先順位であり、ネットワーク分析に使用すると、パスの計算時に優先順位の高いリンクが最初に考慮されます。

partition_id

パーティションID番号を指定します。リンク・レベルとパーティションIDの指定した組合せに関連付けられたネットワーク要素は、生成されたBLOBに含まれています。

include_user_data

各BLOBで表現されるネットワーク要素に関連付けられたユーザー・データについて、BLOBに含める場合はTRUE、BLOBに含めない場合はFALSEを指定します。

log_loc

ログ・ファイルのパスを特定するディレクトリ・オブジェクトを指定します。ディレクトリ・オブジェクトを作成するには、SQL*PlusコマンドのCREATE DIRECTORYを使用します。

log_file

発生する可能性があるエラーや問題など、Spatialのネットワーク操作に関する情報を格納するログ・ファイルを指定します。

open_mode

ログ・ファイルを開く際のモードを示す1文字のコードを指定します。Wは上書き(指定した場所および名前の既存のログ・ファイルをすべて削除し、新規ファイルを作成)、A (デフォルト)は追加(指定した既存のログ・ファイルに情報を追加)を表します。Aを指定し、そのログ・ファイルが存在しない場合は、新規ログ・ファイルが作成されます。

perform_delta_update

(将来使用するために予約されています。唯一許可されている値はFALSEであり、これがデフォルトです。)

使用上の注意

このプロシージャは、1つの新しいBLOBを追加するか、またはパーティションBLOB表内の1つの既存のBLOBを置換します。パーティションBLOB表は、あらかじめSDO_NET.GENERATE_PARTITION_BLOBSプロシージャで作成しておく必要があります。

SDO_NET.GENERATE_PARTITION_BLOBSプロシージャを使用してすべてのパーティションのBLOBを更新するのとは対照的に、複数の大きなパーティションを含むネットワークにおいて、目的のパーティションのBLOBをより短時間で更新できることも、このプロシージャの用途の1つです。

次の例では、SDO_PARTITIONEDネットワークでパーティションIDが1、リンク・レベルが1にそれぞれ関連付けられたパーティションに対してパーティションBLOBを生成し、SDO_PARTITIONED_PART_BLOB_TAB表の適切なBLOBを追加または置換します。また、ネットワーク要素に関連付けられたすべてのユーザー・データも格納します。操作に関する情報は、LOG_DIRという名前のディレクトリ・オブジェクトに関連付けられた場所にあるsdo_partitioned.logファイルに追加されます(open_mode => 'a')。

EXECUTE SDO_NET.GENERATE_PARTITION_BLOB(-
  network => 'SDO_PARTITIONED', -
  link_level => 1,-
  partition_id => 1,-
  include_user_data => true,-
  log_loc => 'LOG_DIR', log_file=> 'sdo_partitioned.log',-
  open_mode => 'a');

SDO_NET.GENERATE_PARTITION_BLOBS

構文

SDO_NET.GENERATE_PARTITION_BLOBS(

     network IN VARCHAR2,

     link_level IN NUMBER DEFAULT 1,

     partition_blob_table_name IN VARCHAR2,

     include_user_data IN BOOLEAN,

     commit_for_each_blob IN BOOLEAN DEFAULT TRUE,

     log_loc IN VARCHAR2,

     log_file IN VARCHAR2,

     open_mode IN VARCHAR2 DEFAULT 'A',

     preform_delta_update IN BOOLEAN DEFAULT FALSE,

     regenerate_node_levels IN BOOLEAN DEFAULT FALSE);

説明

ネットワーク内の指定のリンク・レベルに関連付けられたパーティションに対して、バイナリ・ラージ・オブジェクト(BLOB)表現を生成し、その情報をパーティションBLOB表に格納します。

パラメータ

network

ネットワーク名を指定します。

link_level

各BLOBに含まれるリンクのリンク・レベル(デフォルトは1)を指定します。リンク・レベルは、リンクの優先順位であり、ネットワーク分析に使用すると、パスの計算時に優先順位の高いリンクが最初に考慮されます。

partition_blob_table_name

このプロシージャで作成されるパーティションBLOB表の名前を指定します。(指定した名前の表がすでに存在する場合は、指定したリンク・レベルの情報で更新されます。)パーティションBLOB表については、5.9.7項を参照してください。

include_user_data

各BLOBで表現されるネットワーク要素に関連付けられたユーザー・データについて、各BLOBに含める場合はTRUE、各BLOBに含めない場合はFALSEを指定します。

commit_for_each_blob

各パーティションBLOBが生成後にデータベースにコミットされる場合はTRUE (デフォルト)、コミットされない場合はFALSEを指定します(この場合、1つ以上の明示的なコミット操作を実行する必要があります)。

log_loc

ログ・ファイルのパスを特定するディレクトリ・オブジェクトを指定します。ディレクトリ・オブジェクトを作成するには、SQL*PlusコマンドのCREATE DIRECTORYを使用します。

log_file

発生する可能性があるエラーや問題など、Spatialのネットワーク操作に関する情報を格納するログ・ファイルを指定します。

open_mode

ログ・ファイルを開く際のモードを示す1文字のコードを指定します。Wは上書き(指定した場所および名前の既存のログ・ファイルをすべて削除し、新規ファイルを作成)、A (デフォルト)は追加(指定した既存のログ・ファイルに情報を追加)を表します。Aを指定し、そのログ・ファイルが存在しない場合は、新規ログ・ファイルが作成されます。

perform_delta_update

(将来使用するために予約されています。唯一許可されている値はFALSEであり、これがデフォルトです。)

regenerate_node_levels

マルチレベル・ネットワークのノード・レベル表を再生成する場合はTRUEを、マルチレベル・ネットワークのノード・レベル表を再生成しない場合はFALSE (デフォルト)を指定します。ネットワークで上位レベル(第2レベルまたはそれ以上)のノードが追加または削除される場合、またはノードのレベルが変更される場合は、このパラメータをTRUEに設定する必要があります。ノードのレベルは、そのノードにつながる最大リンク・レベルとして定義されます。

使用上の注意

パーティションBLOBを生成すると、特に大規模なネットワークの場合には、ネットワーク分析の多くの操作でパフォーマンスが向上します。

ネットワークがパーティション化されていない場合、このプロシージャは、ネットワーク全体を表す1つのBLOBを生成します。

このプロシージャを、リンク・レベルとパーティションIDの指定した組合せに対して単一のBLOBを再生成し、既存のパーティションBLOB表に情報を追加するSDO_NET.GENERATE_PARTITION_BLOBと混同しないように注意してください。

次の例では、SDO_PARTITIONEDネットワーク内にリンク・レベル1のパーティションBLOBを生成し、SDO_PARTITIONED_PART_BLOB_TAB表を作成または更新します。また、ネットワーク要素に関連付けられたすべてのユーザー・データも格納します。操作に関する情報は、LOG_DIRという名前のディレクトリ・オブジェクトに関連付けられた場所にあるsdo_partitioned.logファイルに追加されます(open_mode => 'a')。

EXECUTE SDO_NET.GENERATE_PARTITION_BLOBS(-
  network => 'SDO_PARTITIONED', -
  link_level => 1,-
  partition_blob_table_name => 'sdo_partitioned_part_blob_tab',-
  include_user_data => true,-
  log_loc => 'LOG_DIR', log_file=> 'sdo_partitioned.log',-
  open_mode => 'a');

SDO_NET.GET_CHILD_LINKS

構文

SDO_NET.GET_CHILD_LINKS(

     network IN VARCHAR2,

     link_id IN NUMBER

     ) RETURN SDO_NUMBER_ARRAY;

説明

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

パラメータ

network

ネットワーク名を指定します。

link_id

子リンクを戻すリンクのIDを指定します。

使用上の注意

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

次の例では、XYZ_NETWORKネットワークに含まれる、リンクIDが1001のリンクの子リンクを戻します。

SELECT SDO_NET.GET_CHILD_LINKS('XYZ_NETWORK', 1001) FROM DUAL;
 
SDO_NET.GET_CHILD_LINKS('XYZ_NETWORK',1001)                                     
--------------------------------------------------------------------------------
SDO_NUMBER_ARRAY(1108, 1109) 

SDO_NET.GET_CHILD_NODES

構文

SDO_NET.GET_CHILD_NODES(

     network IN VARCHAR2,

     node_id IN NUMBER

     ) RETURN SDO_NUMBER_ARRAY;

説明

ノードの子ノードを戻します。

パラメータ

network

ネットワーク名を指定します。

node_id

子ノードを戻すノードのIDを指定します。

使用上の注意

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

次の例では、XYZ_NETWORKネットワークに含まれる、ノードIDが1のノードの子ノードを戻します。

SELECT SDO_NET.GET_CHILD_NODES('XYZ_NETWORK', 1) FROM DUAL;
 
SDO_NET.GET_CHILD_NODES('XYZ_NETWORK',1)                                        
--------------------------------------------------------------------------------
SDO_NUMBER_ARRAY(101, 102, 103, 104, 105, 106)

SDO_NET.GET_GEOMETRY_TYPE

構文

SDO_NET.GET_GEOMETRY_TYPE(

     network IN VARCHAR2

     ) RETURN VARCHAR2;

説明

空間ネットワークのジオメトリ・タイプを戻します。

パラメータ

network

ネットワーク名を指定します。

使用上の注意

このファンクションは、USER_SDO_NETWORK_METADATAビュー内の、指定されたネットワークのGEOMETRY_TYPE列の値を戻します(5.10.1項表5-9を参照)。

次の例では、ROADS_NETWORKという名前のネットワークのジオメトリ・タイプを戻します。

SELECT SDO_NET.GET_GEOMETRY_TYPE('ROADS_NETWORK') FROM DUAL;
 
SDO_NET.GET_GEOMETRY_TYPE('ROADS_NETWORK')                                      
--------------------------------------------------------------------------------
LRS_GEOMETRY 

SDO_NET.GET_IN_LINKS

構文

SDO_NET.GET_IN_LINKS(

     network IN VARCHAR2,

     node_id IN NUMBER

     ) RETURN SDO_NUMBER_ARRAY;

説明

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

パラメータ

network

ネットワーク名を指定します。

node_id

インバウンド・リンクの配列を戻すノードのIDを指定します。

使用上の注意

インバウンド・リンクおよび関連するネットワーク・データ・モデルの概念については、5.3項を参照してください。

次の例では、ROADS_NETWORKという名前のネットワークに含まれる、ノードIDが3のノードへのインバウンド・リンクのリンクID番号の配列を戻します。

SELECT SDO_NET.GET_IN_LINKS('ROADS_NETWORK', 3) FROM DUAL;
 
SDO_NET.GET_IN_LINKS('ROADS_NETWORK',3)                                         
--------------------------------------------------------------------------------
SDO_NUMBER_ARRAY(102)

SDO_NET.GET_INVALID_LINKS

構文

SDO_NET.GET_INVALID_LINKS(

     network IN VARCHAR2

     ) RETURN SDO_NUMBER_ARRAY;

説明

ネットワーク内の無効なリンクを戻します。

パラメータ

network

ネットワーク名を指定します。

使用上の注意

このファンクションは、指定されたネットワーク内の無効なリンクについて、ノードID番号のカンマ区切りのリストとともにSDO_NUMBER_ARRAYオブジェクトを戻します。無効なリンクが存在しない場合、このファンクションはNULL値を戻します。

次の例では、SDO_PARTITIONEDネットワーク内の無効なリンクを戻します。

SELECT SDO_NET.GET_INVALID_LINKS('SDO_PARTITIONED') FROM DUAL;

SDO_NET.GET_INVALID_NODES

構文

SDO_NET.GET_INVALID_NODES(

     network IN VARCHAR2

     ) RETURN SDO_NUMBER_ARRAY;

説明

ネットワーク内の無効なノードを戻します。

パラメータ

network

ネットワーク名を指定します。

使用上の注意

このファンクションは、指定されたネットワーク内の無効なノードについて、ノードID番号のカンマ区切りのリストとともにSDO_NUMBER_ARRAYオブジェクトを戻します。無効なノードが存在しない場合、このファンクションはNULL値を戻します。

次の例では、SDO_PARTITIONEDネットワーク内の無効なノードを戻します。

SELECT SDO_NET.GET_INVALID_NODES('SDO_PARTITIONED') FROM DUAL;

SDO_NET.GET_INVALID_PATHS

構文

SDO_NET.GET_INVALID_PATHS(

     network IN VARCHAR2

     ) RETURN SDO_NUMBER_ARRAY;

説明

ネットワーク内の無効なパスを戻します。

パラメータ

network

ネットワーク名を指定します。

使用上の注意

このファンクションは、指定されたネットワーク内の無効なパスについて、ノードID番号のカンマ区切りのリストとともにSDO_NUMBER_ARRAYオブジェクトを戻します。無効なパスが存在しない場合、このファンクションはNULL値を戻します。

次の例では、SDO_PARTITIONEDネットワーク内の無効なパスを戻します。

SELECT SDO_NET.GET_INVALID_PATHS('SDO_PARTITIONED') FROM DUAL;

SDO_NET.GET_ISOLATED_NODES

構文

SDO_NET.GET_ISOLATED_NODES(

     network IN VARCHAR2

     ) RETURN SDO_NUMBER_ARRAY;

説明

ネットワーク内の孤立ノードを戻します。

パラメータ

network

ネットワーク名を指定します。

使用上の注意

このファンクションは、指定されたネットワーク内の孤立ノードについて、ノードID番号のカンマ区切りのリストとともにSDO_NUMBER_ARRAYオブジェクトを戻します。孤立ノードが存在しない場合、このファンクションはNULL値を戻します。

ネットワーク内の孤立ノードの簡単な説明は、5.3項を参照してください。

次の例では、SDO_PARTITIONEDネットワーク内の孤立ノードを戻します。

SELECT SDO_NET.GET_ISOLATED_NODES('SDO_PARTITIONED') FROM DUAL;

SDO_NET.GET_LINK_COST_COLUMN

構文

SDO_NET.GET_LINK_COST_COLUMN(

     network IN VARCHAR2

     ) RETURN VARCHAR2;

説明

ネットワークのリンク・コスト列の名前を戻します。

パラメータ

network

ネットワーク名を指定します。

使用上の注意

このファンクションは、USER_SDO_NETWORK_METADATAビュー内の、指定されたネットワークのLINK_COST_COLUMN列の値を戻します(5.10.1項表5-9を参照)。

次の例では、ROADS_NETWORKという名前のネットワークのリンク・コスト列の名前を戻します。

SELECT SDO_NET.GET_LINK_COST_COLUMN('ROADS_NETWORK') FROM DUAL;
 
SDO_NET.GET_LINK_COST_COLUMN('ROADS_NETWORK')                                   
--------------------------------------------------------------------------------
COST

SDO_NET.GET_LINK_DIRECTION

構文

SDO_NET.GET_LINK_DIRECTION(

     network IN VARCHAR2

     ) RETURN VARCHAR2;

説明

ネットワークのリンクの方向を戻します。

パラメータ

network

ネットワーク名を指定します。

使用上の注意

このファンクションは、USER_SDO_NETWORK_METADATAビュー内の、指定されたネットワークのLINK_DIRECTION列の値を戻します(5.10.1項表5-9を参照)。

次の例では、ROADS_NETWORKという名前のネットワークのリンクの方向を戻します。

SELECT SDO_NET.GET_LINK_DIRECTION('ROADS_NETWORK') FROM DUAL;
 
SDO_NET.GET_LINK_DIRECTION('ROADS_NETWORK')                                     
--------------------------------------------------------------------------------
DIRECTED 

SDO_NET.GET_LINK_GEOM_COLUMN

構文

SDO_NET.GET_LINK_GEOM_COLUMN(

     network IN VARCHAR2

     ) RETURN VARCHAR2;

説明

空間ネットワークのリンク・ジオメトリ列の名前を戻します。

パラメータ

network

ネットワーク名を指定します。

使用上の注意

このファンクションは、USER_SDO_NETWORK_METADATAビュー内の、指定されたネットワークのLINK_GEOM_COLUMN列の値を戻します(5.10.1項表5-9を参照)。

次の例では、ROADS_NETWORKという名前のネットワークのリンク・ジオメトリ列の名前を戻します。

SELECT SDO_NET.GET_LINK_GEOM_COLUMN('ROADS_NETWORK') FROM DUAL;
 
SDO_NET.GET_LINK_GEOM_COLUMN('ROADS_NETWORK')                                   
--------------------------------------------------------------------------------
LINK_GEOMETRY

SDO_NET.GET_LINK_GEOMETRY

構文

SDO_NET.GET_LINK_GEOMETRY(

     network IN VARCHAR2,

     link_id IN NUMBER,

     start_percentage IN NUMBER DEFAULT 0,

     end_percentage IN NUMBER DEFAULT 1.0

     ) RETURN SDO_GEOMETRY;

説明

空間ネットワーク内のリンクに関連付けられたジオメトリ全体またはジオメトリの一部を戻します。

パラメータ

network

ネットワーク名を指定します。

link_id

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

start_percentage

戻されたジオメトリの開始点に使用されるリンクに沿った距離の割合を指定します。0から1.0までの数字として表します(たとえば、0.5は50パーセントです)。デフォルト値は0です(つまり、戻されたジオメトリの開始はリンクの開始点に関連付けられています)。

end_percentage

戻されたジオメトリの終了点に使用されるリンクに沿った距離の割合を指定します。0から1.0までの数字として表します(たとえば、0.5は50パーセントです)。デフォルト値は1.0です(つまり、戻されたジオメトリの終了はリンクの終了点に関連付けられています)。

使用上の注意

なし

次の例では、ROADS_NETWORKという名前のネットワークに含まれる、リンクIDが103のリンクに関連付けられたジオメトリを戻します。

SELECT SDO_NET.GET_LINK_GEOMETRY('ROADS_NETWORK', 103) FROM DUAL;
 
SDO_NET.GET_LINK_GEOMETRY('ROADS_NETWORK',103)(SDO_GTYPE, SDO_SRID, SDO_POINT(X,
--------------------------------------------------------------------------------
SDO_GEOMETRY(2002, NULL, NULL, SDO_ELEM_INFO_ARRAY(1, 2, 1), SDO_ORDINATE_ARRAY(
8, 4, 12, 4)) 

SDO_NET.GET_LINK_TABLE_NAME

構文

SDO_NET.GET_LINK_TABLE_NAME(

     network IN VARCHAR2

     ) RETURN VARCHAR2;

説明

ネットワークのリンク表の名前を戻します。

パラメータ

network

ネットワーク名を指定します。

使用上の注意

このファンクションは、USER_SDO_NETWORK_METADATAビュー内の、指定されたネットワークのLINK_TABLE_NAME列の値を戻します(5.10.1項表5-9を参照)。

次の例では、ROADS_NETWORKという名前のネットワークのリンク表の名前を戻します。

SELECT SDO_NET.GET_LINK_TABLE_NAME('ROADS_NETWORK') FROM DUAL;
 
SDO_NET.GET_LINK_TABLE_NAME('ROADS_NETWORK')                                    
--------------------------------------------------------------------------------
ROADS_LINKS  

SDO_NET.GET_LINKS_IN_PATH

構文

SDO_NET.GET_LINKS_IN_PATH(

     network IN VARCHAR2,

     path_id IN NUMBER

     ) RETURN SDO_NUMBER_ARRAY;

説明

パスに含まれるリンクを戻します。

パラメータ

network

ネットワーク名を指定します。

path_id

リンクを戻すパスのIDを指定します。

使用上の注意

リンクおよびパスの説明は、5.3項を参照してください。

次の例では、XYZ_NETWORKネットワーク内のパスに含まれる、パスIDが1のリンクのリンクID値を戻します。

SELECT SDO_NET.GET_LINKS_IN_PATH('XYZ_NETWORK', 1) FROM DUAL;
 
SDO_NET.GET_LINKS_IN_PATH('XYZ_NETWORK',1)
--------------------------------------------------------------------------------
SDO_NUMBER_ARRAY(1102, 1104, 1105)

SDO_NET.GET_LRS_GEOM_COLUMN

構文

SDO_NET.GET_LRS_GEOM_COLUMN(

     network IN VARCHAR2

     ) RETURN VARCHAR2;

説明

空間ネットワークのLRSジオメトリ列の名前を戻します。

パラメータ

network

ネットワーク名を指定します。

使用上の注意

このファンクションは、USER_SDO_NETWORK_METADATAビュー内の、指定されたネットワークのLRS_GEOM_COLUMN列の値を戻します(5.10.1項表5-9を参照)。

次の例では、ROADS_NETWORKという名前のネットワークのLRSジオメトリ列の名前を戻します。

SELECT SDO_NET.GET_LRS_GEOM_COLUMN('ROADS_NETWORK') FROM DUAL;
 
SDO_NET.GET_LRS_GEOM_COLUMN('ROADS_NETWORK')                                    
--------------------------------------------------------------------------------
ROAD_GEOM 

SDO_NET.GET_LRS_LINK_GEOMETRY

構文

SDO_NET.GET_LRS_LINK_GEOMETRY(

     network IN VARCHAR2,

     link_id IN NUMBER

     ) RETURN SDO_GEOMETRY;

説明

空間LRSネットワーク内のリンクに関連付けられたLRSジオメトリを戻します。

パラメータ

network

ネットワーク名を指定します。

link_id

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

使用上の注意

なし

次の例では、ROADS_NETWORKという名前のネットワークに含まれる、リンクIDが103のリンクに関連付けられたLRSジオメトリを戻します。

SELECT SDO_NET.GET_LRS_LINK_GEOMETRY('ROADS_NETWORK', 103) FROM DUAL;
 
SDO_NET.GET_LRS_LINK_GEOMETRY('ROADS_NETWORK',103)(SDO_GTYPE, SDO_SRID, SDO_POIN
--------------------------------------------------------------------------------
SDO_GEOMETRY(2002, NULL, NULL, SDO_ELEM_INFO_ARRAY(1, 2, 1), SDO_ORDINATE_ARRAY(
8, 4, 12, 4))

SDO_NET.GET_LRS_NODE_GEOMETRY

構文

SDO_NET.GET_LRS_NODE_GEOMETRY(

     network IN VARCHAR2,

     node_id IN NUMBER

     ) RETURN SDO_GEOMETRY;

説明

空間LRSネットワーク内のノードに関連付けられたLRSジオメトリを戻します。

パラメータ

network

ネットワーク名を指定します。

node_id

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

使用上の注意

なし

次の例では、ROADS_NETWORKという名前のネットワークに含まれる、ノードIDが3のノードに関連付けられたLRSジオメトリを戻します。

SELECT SDO_NET.GET_LRS_NODE_GEOMETRY('ROADS_NETWORK', 3) FROM DUAL;
 
SDO_NET.GET_LRS_NODE_GEOMETRY('ROADS_NETWORK',3)(SDO_GTYPE, SDO_SRID, SDO_POINT(
--------------------------------------------------------------------------------
SDO_GEOMETRY(2001, NULL, SDO_POINT_TYPE(8, 4, NULL), NULL, NULL)

SDO_NET.GET_LRS_TABLE_NAME

構文

SDO_NET.GET_LRS_TABLE_NAME(

     network IN VARCHAR2

     ) RETURN VARCHAR2;

説明

空間LRSネットワーク内のLRSジオメトリを含む表の名前を戻します。

パラメータ

network

ネットワーク名を指定します。

使用上の注意

このファンクションは、USER_SDO_NETWORK_METADATAビュー内の、指定されたネットワークのLRS_TABLE_NAME列の値を戻します(5.10.1項表5-9を参照)。

次の例では、ROADS_NETWORKという名前のネットワーク内のLRSジオメトリを含む表の名前を戻します。

SELECT SDO_NET.GET_LRS_TABLE_NAME('ROADS_NETWORK') FROM DUAL;
 
SDO_NET.GET_LRS_TABLE_NAME('ROADS_NETWORK')                                     
--------------------------------------------------------------------------------
ROADS 

SDO_NET.GET_NETWORK_TYPE

構文

SDO_NET.GET_NETWORK_TYPE(

     network IN VARCHAR2

     ) RETURN VARCHAR2;

説明

ネットワーク・タイプを戻します。

パラメータ

network

ネットワーク名を指定します。

使用上の注意

このファンクションは、USER_SDO_NETWORK_METADATAビュー内の、指定されたネットワークのNETWORK_TYPE列の値を戻します(5.10.1項表5-9を参照)。

次の例では、ROADS_NETWORKという名前のネットワークのネットワーク・タイプを戻します。

SELECT SDO_NET.GET_NETWORK_TYPE('ROADS_NETWORK') FROM DUAL;
 
SDO_NET.GET_NETWORK_TYPE('ROADS_NETWORK')                                       
--------------------------------------------------------------------------------
Roadways

SDO_NET.GET_NO_OF_HIERARCHY_LEVELS

構文

SDO_NET.GET_NO_OF_HIERARCHY_LEVELS(

     network IN VARCHAR2

     ) RETURN NUMBER;

説明

ネットワークの階層レベルの数を戻します。

パラメータ

network

ネットワーク名を指定します。

使用上の注意

このファンクションは、USER_SDO_NETWORK_METADATAビュー内の、指定されたネットワークのNO_OF_HIERARCHY_LEVELS列の値を戻します(5.10.1項表5-9を参照)。

ネットワーク階層については、5.5項を参照してください。

次の例では、ROADS_NETWORKという名前のネットワークの階層レベルの数を戻します。

SELECT SDO_NET.GET_NO_OF_HIERARCHY_LEVELS('ROADS_NETWORK') FROM DUAL;
 
SDO_NET.GET_NO_OF_HIERARCHY_LEVELS('ROADS_NETWORK')                             
---------------------------------------------------                             
                                                  1

SDO_NET.GET_NO_OF_LINKS

構文

SDO_NET.GET_NO_OF_LINKS(

     network IN VARCHAR2

     ) RETURN NUMBER;

または

SDO_NET.GET_NO_OF_LINKS(

     network IN VARCHAR2,

     hierarchy_id IN NUMBER

     ) RETURN NUMBER;

説明

ネットワーク内のリンク数またはネットワーク内の任意の階層レベルでのリンク数を戻します。

パラメータ

network

ネットワーク名を指定します。

hierarchy_id

リンク数を戻す階層レベルの番号を指定します。

使用上の注意

なし

次の例では、ROADS_NETWORKという名前のネットワーク内のリンク数を戻します。

SELECT SDO_NET.GET_NO_OF_LINKS('ROADS_NETWORK') FROM DUAL;
 
SDO_NET.GET_NO_OF_LINKS('ROADS_NETWORK')                                        
----------------------------------------                                        
                                      10 

SDO_NET.GET_NO_OF_NODES

構文

SDO_NET.GET_NO_OF_NODES(

     network IN VARCHAR2

     ) RETURN NUMBER;

または

SDO_NET.GET_NO_OF_NODES(

     network IN VARCHAR2,

     hierarchy_id IN NUMBER

     ) RETURN NUMBER;

説明

ネットワーク内のノード数またはネットワーク内の任意の階層レベルでのノード数を戻します。

パラメータ

network

ネットワーク名を指定します。

hierarchy_id

ノード数を戻す階層レベルの番号を指定します。

使用上の注意

ノードおよび関連する概念については、5.3項を参照してください。

次の例では、ROADS_NETWORKという名前のネットワーク内のノード数を戻します。

SELECT SDO_NET.GET_NO_OF_NODES('ROADS_NETWORK') FROM DUAL;
 
SDO_NET.GET_NO_OF_NODES('ROADS_NETWORK')                                        
----------------------------------------                                        
                                       8

SDO_NET.GET_NODE_DEGREE

構文

SDO_NET.GET_NODE_DEGREE(

     network IN VARCHAR2,

     node_id IN NUMBER

     ) RETURN NUMBER;

説明

ノードへのリンク数を戻します。

パラメータ

network

ネットワーク名を指定します。

node_id

リンク数を戻すノードのノードIDを指定します。

使用上の注意

ノードの度数および関連するネットワーク・データ・モデルの概念については、5.3項を参照してください。

次の例では、ROADS_NETWORKという名前のネットワークに含まれる、ノードIDが3のノードへのリンク数を戻します。

SELECT SDO_NET.GET_NODE_DEGREE('ROADS_NETWORK', 3) FROM DUAL;
 
SDO_NET.GET_NODE_DEGREE('ROADS_NETWORK',3)                                      
------------------------------------------                                      
                                         3

SDO_NET.GET_NODE_GEOM_COLUMN

構文

SDO_NET.GET_NODE_GEOM_COLUMN(

     network IN VARCHAR2

     ) RETURN VARCHAR2;

説明

空間ネットワーク内のノードのジオメトリ列の名前を戻します。

パラメータ

network

ネットワーク名を指定します。

使用上の注意

このファンクションは、USER_SDO_NETWORK_METADATAビュー内の、指定されたネットワークのNODE_GEOM_COLUMN列の値を戻します(5.10.1項表5-9を参照)。

次の例では、ROADS_NETWORKという名前のネットワーク内のノードのジオメトリ列の名前を戻します。

SELECT SDO_NET.GET_NODE_GEOM_COLUMN('ROADS_NETWORK') FROM DUAL;
 
SDO_NET.GET_NODE_GEOM_COLUMN('ROADS_NETWORK')                                   
--------------------------------------------------------------------------------
NODE_GEOMETRY

SDO_NET.GET_NODE_GEOMETRY

構文

SDO_NET.GET_NODE_GEOMETRY(

     network IN VARCHAR2,

     node_id IN NUMBER

     ) RETURN SDO_GEOMETRY;

説明

空間ネットワーク内のノードに関連付けられたLRSジオメトリを戻します。

パラメータ

network

ネットワーク名を指定します。

node_id

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

使用上の注意

なし

次の例では、ROADS_NETWORKという名前のネットワークに含まれる、ノードIDが3のノードに関連付けられたジオメトリを戻します。

SELECT SDO_NET.GET_NODE_GEOMETRY('ROADS_NETWORK', 3) FROM DUAL;
 
SDO_NET.GET_NODE_GEOMETRY('ROADS_NETWORK',3)(SDO_GTYPE, SDO_SRID, SDO_POINT(X, Y
--------------------------------------------------------------------------------
SDO_GEOMETRY(2001, NULL, SDO_POINT_TYPE(8, 4, NULL), NULL, NULL) 

SDO_NET.GET_NODE_IN_DEGREE

構文

SDO_NET.GET_NODE_IN_DEGREE(

     network IN VARCHAR2,

     node_id IN NUMBER

     ) RETURN NUMBER;

説明

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

パラメータ

network

ネットワーク名を指定します。

node_id

インバウンド・リンク数を戻すノードのノードIDを指定します。

使用上の注意

ノードの度数および関連するネットワーク・データ・モデルの概念については、5.3項を参照してください。

次の例では、ROADS_NETWORKという名前のネットワークに含まれる、ノードIDが3のノードへのインバウンド・リンク数を戻します。

SELECT SDO_NET.GET_NODE_IN_DEGREE('ROADS_NETWORK', 3) FROM DUAL;
 
SDO_NET.GET_NODE_IN_DEGREE('ROADS_NETWORK',3)                                   
---------------------------------------------                                   
                                            1

SDO_NET.GET_NODE_OUT_DEGREE

構文

SDO_NET.GET_NODE_OUT_DEGREE(

     network IN VARCHAR2,

     node_id IN NUMBER

     ) RETURN NUMBER;

説明

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

パラメータ

network

ネットワーク名を指定します。

node_id

アウトバウンド・リンク数を戻すノードのノードIDを指定します。

使用上の注意

ノードの度数および関連するネットワーク・データ・モデルの概念については、5.3項を参照してください。

次の例では、ROADS_NETWORKという名前のネットワークに含まれる、ノードIDが3のノードからのアウトバウンド・リンク数を戻します。

SELECT SDO_NET.GET_NODE_OUT_DEGREE('ROADS_NETWORK', 3) FROM DUAL;
 
SDO_NET.GET_NODE_OUT_DEGREE('ROADS_NETWORK',3)                                  
----------------------------------------------                                  
                                             2

SDO_NET.GET_NODE_TABLE_NAME

構文

SDO_NET.GET_NODE_TABLE_NAME(

     network IN VARCHAR2

     ) RETURN VARCHAR2;

説明

空間ネットワーク内のノードを含む表の名前を戻します。

パラメータ

network

ネットワーク名を指定します。

使用上の注意

このファンクションは、USER_SDO_NETWORK_METADATAビュー内の、指定されたネットワークのNODE_TABLE_NAME列の値を戻します(5.10.1項表5-9を参照)。

次の例では、ROADS_NETWORKという名前のネットワーク内のノードを含む表の名前を戻します。

SELECT SDO_NET.GET_NODE_TABLE_NAME('ROADS_NETWORK') FROM DUAL;
 
SDO_NET.GET_NODE_TABLE_NAME('ROADS_NETWORK')                                    
--------------------------------------------------------------------------------
ROADS_NODES

SDO_NET.GET_OUT_LINKS

構文

SDO_NET.GET_OUT_LINKS(

     network IN VARCHAR2,

     node_id IN NUMBER

     ) RETURN SDO_NUMBER_ARRAY;

説明

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

パラメータ

network

ネットワーク名を指定します。

node_id

アウトバウンド・リンクの配列を戻すノードのIDを指定します。

使用上の注意

アウトバウンド・リンクおよび関連するネットワーク・データ・モデルの概念については、5.3項を参照してください。

次の例では、ROADS_NETWORKという名前のネットワークに含まれる、ノードIDが3のノードからのアウトバウンド・リンクのリンクID番号の配列を戻します。

SELECT SDO_NET.GET_OUT_LINKS('ROADS_NETWORK', 3) FROM DUAL;
 
SDO_NET.GET_OUT_LINKS('ROADS_NETWORK',3)                                        
--------------------------------------------------------------------------------
SDO_NUMBER_ARRAY(103, 201)

SDO_NET.GET_PARTITION_SIZE

構文

SDO_NET.GET_PARTITION_SIZE(

     network IN VARCHAR2,

     partition_id IN VARCHAR2,

     link_level IN NUMBER DEFAULT 1,

     include_user_data IN VARCHAR2 DEFAULT 'FALSE',

     include_spatial_data IN VARCHAR2 DEFAULT 'FALSE') RETURN NUMBER;

説明

パーティションIDとリンク・レベルの指定した組合せの推定サイズ(バイト単位)を取得します。

パラメータ

network

ネットワーク名を指定します。

partition_id

パーティションID番号を指定します。

link_level

リンク・レベル(デフォルトは1)を指定します。リンク・レベルは、リンクの優先順位であり、ネットワーク分析に使用すると、パスの計算時に優先順位の高いリンクが最初に考慮されます。

include_user_data

各BLOBで表現されるネットワーク要素に関連付けられたユーザー・データについて、サイズに含める場合はTRUE、サイズに含めない場合はFALSE (デフォルト)を指定します。

include_spatial_data

各BLOBで表現されるネットワーク要素に関連付けられた空間ジオメトリの定義について、サイズに含める場合はTRUE、サイズに含めない場合はFALSE (デフォルト)を指定します。

使用上の注意

戻されるネットワーク・パーティションのサイズは、おおまかな推定であり、Java仮想マシンおよびガベージ・コレクションによって変動する場合があります。

ロード・オンデマンド方式を使用した分析を実行するための、パーティション化されたネットワークの使用方法については、5.7項を参照してください。

次の例では、SDO_PARTITIONEDネットワーク内でパーティションIDが1、リンク・レベルが1にそれぞれ関連付けられたパーティションのバイト数を戻します。ユーザー・データおよび空間データは含まれません。

SELECT SDO_NET.GET_PARTITION_SIZE('SDO_PARTITIONED', 1, 1, 'N', 'N') FROM DUAL;
 
SDO_NET.GET_PARTITION_SIZE('SDO_PARTITIONED',1,1,'FALSE','FALSE')
---------------------------------------------------------
                                                     5192

SDO_NET.GET_PATH_GEOM_COLUMN

構文

SDO_NET.GET_PATH_GEOM_COLUMN(

     network IN VARCHAR2

     ) RETURN VARCHAR2;

説明

空間ネットワーク内のパスのジオメトリ列の名前を戻します。

パラメータ

network

ネットワーク名を指定します。

使用上の注意

このファンクションは、USER_SDO_NETWORK_METADATAビュー内の、指定されたネットワークのPATH_GEOM_COLUMN列の値を戻します(5.10.1項表5-9を参照)。

次の例では、ROADS_NETWORKという名前のネットワーク内のパスのジオメトリ列の名前を戻します。

SELECT SDO_NET.GET_PATH_GEOM_COLUMN('ROADS_NETWORK') FROM DUAL;
 
SDO_NET.GET_PATH_GEOM_COLUMN('ROADS_NETWORK')                                   
--------------------------------------------------------------------------------
PATH_GEOMETRY

SDO_NET.GET_PATH_TABLE_NAME

構文

SDO_NET.GET_PATH_TABLE_NAME(

     network IN VARCHAR2

     ) RETURN VARCHAR2;

説明

空間ネットワーク内のパスを含む表の名前を戻します。

パラメータ

network

ネットワーク名を指定します。

使用上の注意

このファンクションは、USER_SDO_NETWORK_METADATAビュー内の、指定されたネットワークのPATH_TABLE_NAME列の値を戻します(5.10.1項表5-9を参照)。

次の例では、ROADS_NETWORKという名前のネットワーク内のパスを含む表の名前を戻します。

SELECT SDO_NET.GET_PATH_TABLE_NAME('ROADS_NETWORK') FROM DUAL;
 
SDO_NET.GET_PATH_TABLE_NAME('ROADS_NETWORK')                                    
--------------------------------------------------------------------------------
ROADS_PATHS 

SDO_NET.GET_PERCENTAGE

構文

SDO_NET.GET_PERCENTAGE(

     network IN VARCHAR2,

     link_id IN NUMBER,

     pt_geom IN SDO_GEOMETRY

     ) RETURN SDO_GEOMETRY;

説明

点ジオメトリの、リンクの線ストリング・ジオメトリに沿った距離の割合を戻します。

パラメータ

network

ネットワーク名を指定します。

link_id

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

pt_geom

点ジオメトリを指定します。

使用上の注意

このファンクションは、0から1までの値を戻します。たとえば、点が、リンクの開始ノードと終了ノード間の距離の25パーセント(4分の1)の位置に存在する場合、このファンクションは.25を戻します。

pt_geomがリンク・ジオメトリ上にない場合は、リンク・ジオメトリ上でpt_geomに最も近い点が使用されます。

リンクの線ストリング・ジオメトリに沿った、指定された割合の距離に存在する点ジオメトリを検出するには、SDO_NET.GET_PTファンクションを使用します。

次の例では、ROADS_NETWORKという名前のネットワークに含まれる、リンクIDが101のリンクに関連付けられたジオメトリに沿った、指定された点の距離の割合(小数)を戻します。

SQL> SELECT SDO_NET.GET_PERCENTAGE('ROADS_NETWORK', 101,
  SDO_GEOMETRY(2001, NULL, SDO_POINT_TYPE(2, 2.5, NULL), NULL, NULL))
  FROM DUAL;  2    3
 
SDO_NET.GET_PERCENTAGE('ROADS_NETWORK',101,SDO_GEOMETRY(2001,NULL,SDO_POINT_TYPE
--------------------------------------------------------------------------------
                                                                             .25

SDO_NET.GET_PT

構文

SDO_NET.GET_PT(

     network IN VARCHAR2,

     link_id IN NUMBER,

     percentage IN NUMBER

     ) RETURN SDO_GEOMETRY;

説明

リンクの線ストリング・ジオメトリに沿った、指定された割合の距離に存在する点ジオメトリを戻します。

パラメータ

network

ネットワーク名を指定します。

link_id

指定されたpercentageの距離に存在する点ジオメトリを戻すリンクのID番号を指定します。

percentage

割合の値を0から1までの小数として指定します。たとえば、0.25は25パーセントです。

使用上の注意

指定した点に対するリンク・ジオメトリに沿った割合を検出するには、SDO_NET.GET_PERCENTAGEファンクションを使用します。

次の例では、ROADS_NETWORKという名前のネットワークに含まれる、リンクIDが101のリンクに関連付けられたジオメトリに沿った、開始ノードから25パーセントの距離に存在する点ジオメトリを戻します。

SELECT SDO_NET.GET_PT('ROADS_NETWORK', 101, 0.25) FROM DUAL;
 
SDO_NET.GET_PT('ROADS_NETWORK',101,0.25)(SDO_GTYPE, SDO_SRID, SDO_POINT(X, Y, Z)
--------------------------------------------------------------------------------
SDO_GEOMETRY(2001, NULL, SDO_POINT_TYPE(2, 2.5, NULL), NULL, NULL)

SDO_NET.IS_HIERARCHICAL

構文

SDO_NET.IS_HIERARCHICAL(

     network IN VARCHAR2

     ) RETURN VARCHAR2;

説明

ネットワークに複数の階層レベルが存在する場合、文字列TRUEを戻します。ネットワークに複数の階層レベルが存在しない場合は、文字列FALSEを戻します。

パラメータ

network

ネットワーク名を指定します。

使用上の注意

ネットワーク階層については、5.5項を参照してください。

次の例では、ROADS_NETWORKという名前のネットワークに複数の階層レベルが存在するかどうかを確認します。

SELECT SDO_NET.IS_HIERARCHICAL('ROADS_NETWORK') FROM DUAL;

SDO_NET.IS_HIERARCHICAL('ROADS_NETWORK')                                        
--------------------------------------------------------------------------------
TRUE   

SDO_NET.IS_LINK_IN_PATH

構文

SDO_NET.IS_LINK_IN_PATH(

     network IN VARCHAR2,

     path_id IN NUMBER,

     link_id IN NUMBER,

     ) RETURN VARCHAR2;

説明

指定されたリンクが指定されたパスに含まれている場合、文字列TRUEを戻します。指定されたリンクが指定されたパスに含まれていない場合は、文字列FALSEを戻します。

パラメータ

network

ネットワーク名を指定します。

path_id

パスのID番号を指定します。

link_id

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

使用上の注意

このファンクションは、特定のリンクが特定のパスに含まれているかどうかを確認するために使用します。

次の例では、リンクIDが1のリンクが、SDO_NET1という名前のネットワーク内でパスIDが1のパスに含まれているかどうかを確認します。

SELECT SDO_NET.IS_LINK_IN_PATH('SDO_NET1', 1, 1) FROM DUAL;
 
SDO_NET.IS_LINK_IN_PATH('SDO_NET1',1,1)                                        
--------------------------------------------------------------------------------
TRUE

SDO_NET.IS_LOGICAL

構文

SDO_NET.IS_LOGICAL(

     network IN VARCHAR2

     ) RETURN VARCHAR2;

説明

ネットワークが論理ネットワークである場合、文字列TRUEを戻します。ネットワークが論理ネットワークではない場合は、文字列FALSEを戻します。

パラメータ

network

ネットワーク名を指定します。

使用上の注意

ネットワークは、空間ネットワークまたは論理ネットワークのいずれかになります(5.3項を参照)。

次の例では、ROADS_NETWORKという名前のネットワークが論理ネットワークであるかどうかを確認します。

SELECT SDO_NET.IS_LOGICAL('ROADS_NETWORK') FROM DUAL;
 
SDO_NET.IS_LOGICAL('ROADS_NETWORK')                                             
--------------------------------------------------------------------------------
FALSE 

SDO_NET.IS_NODE_IN_PATH

構文

SDO_NET.IS_NODE_IN_PATH(

     network IN VARCHAR2,

     path_id IN NUMBER,

     node_id IN NUMBER,

     ) RETURN VARCHAR2;

説明

指定されたノードが指定されたパスに含まれている場合、文字列TRUEを戻します。指定されたノードが指定されたパスに含まれていない場合は、文字列FALSEを戻します。

パラメータ

network

ネットワーク名を指定します。

path_id

パスのID番号を指定します。

node_id

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

使用上の注意

このファンクションは、特定のノードが特定のパスに含まれているかどうかを確認するために使用します。

次の例では、ノードIDが1のノードが、SDO_NET1という名前のネットワーク内でパスIDが1のパスに含まれているかどうかを確認します。

SELECT SDO_NET.IS_NODE_IN_PATH('SDO_NET1', 1, 1) FROM DUAL;
 
SDO_NET.IS_NODE_IN_PATH('SDO_NET1',1,1)                                        
--------------------------------------------------------------------------------
TRUE

SDO_NET.IS_SPATIAL

構文

SDO_NET.IS_SPATIAL(

     network IN VARCHAR2

     ) RETURN VARCHAR2;

説明

ネットワークが空間ネットワークである場合、文字列TRUEを戻します。ネットワークが空間ネットワークではない場合は、文字列FALSEを戻します。

パラメータ

network

ネットワーク名を指定します。

使用上の注意

ネットワークは、空間ネットワークまたは論理ネットワークのいずれかになります(5.3項を参照)。

空間ネットワークの場合は、さらにSDO_NET.LRS_GEOMETRY_NETWORKSDO_NET.SDO_GEOMETRY_NETWORKおよびSDO_NET.TOPO_GEOMETRY_NETWORKファンクションを使用して、そのジオメトリ・タイプを確認できます。

次の例では、ROADS_NETWORKという名前のネットワークが空間ネットワークであるかどうかを確認します。

SELECT SDO_NET.IS_SPATIAL('ROADS_NETWORK') FROM DUAL;
 
SDO_NET.IS_SPATIAL('ROADS_NETWORK')                                             
--------------------------------------------------------------------------------
TRUE

SDO_NET.LOAD_CONFIG

構文

SDO_NET.LOAD_CONFIG(

    file_directory IN VARCHAR2,

    file_name IN VARCHAR2);

説明

ロード・オンデマンドのJavaストアド・プロシージャの構成を、指定したXMLファイルからロードまたはリロードします。ロード・オンデマンド構成は、主にパーティションBLOBの変換およびパーティション・キャッシュの構成に使用されます。(Javaストアド・プロシージャは、パッケージoracle.spatial.network.lodのクラスです。)

パラメータ

file_directory

XMLファイルのパスを特定するディレクトリ・オブジェクトを指定します。ディレクトリ・オブジェクトを作成するには、SQL*PlusコマンドのCREATE DIRECTORYを使用します。

file_name

ロードする情報を含むXMLファイルの名前を指定します。

使用上の注意

デフォルトでは、ロード・オンデマンド用に構成されています。このプロシージャは、デフォルトの構成を変更する必要がある場合に使用します。

パーティション・キャッシュを含むロード・オンデマンド環境の構成については、5.7.3項を参照してください。

次の例では、指定したXMLファイルからロード・オンデマンド構成をロードします。

EXECUTE SDO_NET.LOAD_CONFIG('WORK_DIR', 'netlodcfg.xml');

SDO_NET.LOGICAL_PARTITION

構文

SDO_NET.LOGICAL_PARTITION(

     network IN VARCHAR2,

     partition_table_name IN VARCHAR2,

     max_num_nodes IN NUMBER,

     log_loc IN VARCHAR2,

     log_file IN VARCHAR2,

     open_mode IN VARCHAR2 DEFAULT 'A',

     link_level IN NUMBER DEFAULT 1);

説明

論理ネットワークをパーティション化し、情報をパーティション表に格納します。


注意:

論理ネットワークがべき乗則(スケールフリー)ネットワークである場合は、このプロシージャを使用してネットワークをパーティション化せずに、かわりにSDO_NET.LOGICAL_POWERLAW_PARTITIONプロシージャを使用します。

パラメータ

network

ネットワーク名を指定します。

partition_table_name

このプロシージャで作成されるパーティション表の名前を指定します。(指定した名前の表がすでに存在する場合は、指定したリンク・レベルのパーティション情報で更新されます。)パーティション表については、5.9.6項を参照してください。

max_num_nodes

各パーティションに含まれるノードの最大数を指定します。たとえば、5000を指定した場合にネットワークに50,000個のノードが含まれていると、各パーティションには5000以下のノードが含まれることになり、パーティションの合計数は10以上になります。

log_loc

ログ・ファイルのパスを特定するディレクトリ・オブジェクトを指定します。ディレクトリ・オブジェクトを作成するには、SQL*PlusコマンドのCREATE DIRECTORYを使用します。

log_file

発生する可能性があるエラーや問題など、論理ネットワークでの操作に関する情報を格納するログ・ファイルを指定します。

open_mode

ログ・ファイルを開く際のモードを示す1文字のコードを指定します。Wは上書き(指定した場所および名前の既存のログ・ファイルをすべて削除し、新規ファイルを作成)、A (デフォルト)は追加(指定した既存のログ・ファイルに情報を追加)を表します。Aを指定し、そのログ・ファイルが存在しない場合は、新規ログ・ファイルが作成されます。

link_level

パーティション化を実行するネットワーク・リンク・レベル(デフォルトは1)を指定します。リンク・レベルは、リンクの優先順位であり、ネットワーク分析に使用すると、パスの計算時に優先順位の高いリンクが最初に考慮されます。

使用上の注意

このプロシージャを使用してパーティションを作成した後、特に大規模なネットワークの場合は、多くのネットワーク分析操作のパフォーマンスを向上させるためにSDO_NET.GENERATE_PARTITION_BLOBSプロシージャの使用を検討してください。

次の例では、MY_LOGICAL_NETネットワーク内にリンク・レベル1のパーティションを作成して、MY_LOGICAL_PART_TAB表を作成します。各パーティションに配置するノードの最大数は5000です。操作に関する情報は、LOG_DIRという名前のディレクトリ・オブジェクトに関連付けられた場所にあるmy_logical_part.logファイルに追加されます(open_mode => 'a')。

EXECUTE SDO_NET.LOGICAL_PARTITION(network => 'MY_LOGICAL_NET', -
  partition_table_name => 'my_logical_part_tab',-
  max_num_nodes => 5000,-
  log_loc => 'LOG_DIR', log_file=> 'my_logical_part.log',-
  link_level => 1, open_mode => 'a');

SDO_NET.LOGICAL_POWERLAW_PARTITION

構文

SDO_NET.LOGICAL_POWERLAW_PARTITION(

     network IN VARCHAR2,

     partition_table_name IN VARCHAR2,

     max_num_nodes IN NUMBER,

     log_loc IN VARCHAR2,

     log_file IN VARCHAR2,

     open_mode IN VARCHAR2 DEFAULT 'A',

     link_level IN NUMBER DEFAULT 1);

説明

べき乗則(スケールフリーとも呼ばれる)の論理ネットワークをパーティション化し、情報をパーティション表に格納します。(べき乗則ネットワークでは、ノードの度数の値に、べき乗則情報が含まれます。)

パラメータ

network

ネットワーク名を指定します。

partition_table_name

このプロシージャで作成されるパーティション表の名前を指定します。(指定した名前の表がすでに存在する場合は、指定したリンク・レベルのパーティション情報で更新されます。)パーティション表については、5.9.6項を参照してください。

max_num_nodes

各パーティションに含まれるノードの最大数を指定します。たとえば、5000を指定した場合にネットワークに50,000個のノードが含まれていると、各パーティションには5000以下のノードが含まれることになり、パーティションの合計数は10以上になります。

log_loc

ログ・ファイルのパスを特定するディレクトリ・オブジェクトを指定します。ディレクトリ・オブジェクトを作成するには、SQL*PlusコマンドのCREATE DIRECTORYを使用します。

log_file

発生する可能性があるエラーや問題など、べき乗則の論理ネットワークでの操作に関する情報を格納するログ・ファイルを指定します。

open_mode

ログ・ファイルを開く際のモードを示す1文字のコードを指定します。Wは上書き(指定した場所および名前の既存のログ・ファイルをすべて削除し、新規ファイルを作成)、A (デフォルト)は追加(指定した既存のログ・ファイルに情報を追加)を表します。Aを指定し、そのログ・ファイルが存在しない場合は、新規ログ・ファイルが作成されます。

link_level

パーティション化を実行するネットワーク・リンク・レベル(デフォルトは1)を指定します。リンク・レベルは、リンクの優先順位であり、ネットワーク分析に使用すると、パスの計算時に優先順位の高いリンクが最初に考慮されます。

使用上の注意

このプロシージャを使用してパーティションを作成した後、特に大規模なネットワークの場合は、多くのネットワーク分析操作のパフォーマンスを向上させるためにSDO_NET.GENERATE_PARTITION_BLOBSプロシージャの使用を検討してください。

論理ネットワークがべき乗則ネットワークではない場合は、このプロシージャを使用せずに、かわりにSDO_NET.LOGICAL_PARTITIONプロシージャを使用します。

次の例では、MY_LOGICAL_PLAW_NETネットワーク内にリンク・レベル1のパーティションを作成して、MY_LOGICAL_PLAW_PART_TAB表を作成します。各パーティションに配置するノードの最大数は5000です。操作に関する情報は、LOG_DIRという名前のディレクトリ・オブジェクトに関連付けられた場所にあるmy_logical_plaw_part.logファイルに追加されます(open_mode => 'a')。

EXECUTE SDO_NET.LOGICAL_POWERLAW_PARTITION(network => 'MY_LOGICAL_PLAW_NET', -
  partition_table_name => 'my_logical_plaw_part_tab',-
  max_num_nodes => 5000,-
  log_loc => 'LOG_DIR', log_file=> 'my_logical_plaw_part.log',-
  link_level => 1, open_mode => 'a');

SDO_NET.LRS_GEOMETRY_NETWORK

構文

SDO_NET.LRS_GEOMETRY_NETWORK(

     network IN VARCHAR2

     ) RETURN VARCHAR2;

説明

ネットワークがLRSジオメトリを含む空間ネットワークである場合、文字列TRUEを戻します。ネットワークがLRSジオメトリを含む空間ネットワークではない場合は、文字列FALSEを戻します。

パラメータ

network

ネットワーク名を指定します。

使用上の注意

USER_SDO_NETWORK_METADATAビュー内で、ネットワークのエントリのGEOMETRY_TYPE列に値LRS_GEOMETRYが含まれる場合、そのネットワークにはLRSジオメトリが含まれます。(USER_SDO_NETWORK_METADATAビューについては、5.10.1項を参照してください。)

次の例では、ROADS_NETWORKという名前のネットワークが、LRSジオメトリを含む空間ネットワークであるかどうかを確認します。

SELECT SDO_NET.LRS_GEOMETRY_NETWORK('ROADS_NETWORK') FROM DUAL;
 
SDO_NET.LRS_GEOMETRY_NETWORK('ROADS_NETWORK')                                   
--------------------------------------------------------------------------------
TRUE

SDO_NET.NETWORK_EXISTS

構文

SDO_NET.NETWORK_EXISTS(

     network IN VARCHAR2

     ) RETURN VARCHAR2;

説明

ネットワークが存在する場合、文字列TRUEを戻します。ネットワークが存在しない場合は、文字列FALSEを戻します。

パラメータ

network

ネットワーク名を指定します。

使用上の注意

(SDO_NET.DROP_NETWORKプロシージャを使用して)ネットワークを削除すると、そのネットワークは存在しなくなります。

次の例では、ROADS_NETWORKという名前のネットワークが存在するかどうかを確認します。

SELECT SDO_NET.NETWORK_EXISTS('ROADS_NETWORK') FROM DUAL;
 
SDO_NET.NETWORK_EXISTS('ROADS_NETWORK')                                         
--------------------------------------------------------------------------------
TRUE 

SDO_NET.REGISTER_CONSTRAINT

構文

SDO_NET.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列にロードします。

パラメータ

constraint_name

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

class_name

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

directory_name

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

description

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

使用上の注意

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

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

次の例では、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.REGISTER_CONSTRAINT('GivenProhibitedTurn', 
     'com/network/constraints/ProhibitedTurn',
     'WORK_DIR', 'This is a network constraint that '||
     'prohibits certain turns');
 
END;
/

SDO_NET.SDO_GEOMETRY_NETWORK

構文

SDO_NET.SDO_GEOMETRY_NETWORK(

     network IN VARCHAR2

     ) RETURN VARCHAR2;

説明

ネットワークがSDOジオメトリ(メジャー情報を持たない空間ジオメトリ)を含む空間ネットワークである場合、文字列TRUEを戻します。ネットワークがSDOジオメトリを含む空間ネットワークではない場合は、文字列FALSEを戻します。

パラメータ

network

ネットワーク名を指定します。

使用上の注意

USER_SDO_NETWORK_METADATAビュー内で、ネットワークのエントリのGEOMETRY_TYPE列に値SDO_GEOMETRYが含まれる場合、そのネットワークにはSDOジオメトリが含まれます。(USER_SDO_NETWORK_METADATAビューについては、5.10.1項を参照してください。)

次の例では、ROADS_NETWORKという名前のネットワークが、SDOジオメトリを含む空間ネットワークであるかどうかを確認します。

SELECT SDO_NET.SDO_GEOMETRY_NETWORK('ROADS_NETWORK') FROM DUAL;
 
SDO_NET.SDO_GEOMETRY_NETWORK('ROADS_NETWORK')                                   
--------------------------------------------------------------------------------
FALSE

SDO_NET.SET_LOGGING_LEVEL

構文

SDO_NET.SET_LOGGING_LEVEL(

     level IN NUMBER);

説明

ネットワーク操作に対して表示されるメッセージについて、重大度の最低レベルを設定します。

パラメータ

level

ネットワーク操作に対して表示されるメッセージについて、重大度の最低レベルを指定します。「使用上の注意」に示されている数値制約のいずれか1つを指定してください。

使用上の注意

指定されたロギング・レベル以上のすべてのメッセージが書き込まれます。ロギング・レベルの最高レベルから最低レベルまでを次に示します。

SDO_NET.LOGGING_LEVEL_FATAL
SDO_NET.LOGGING_LEVEL_ERROR
SDO_NET.LOGGING_LEVEL_WARN
SDO_NET.LOGGING_LEVEL_INFO
SDO_NET.LOGGING_LEVEL_DEBUG
SDO_NET.LOGGING_LEVEL_FINEST

ロギング・レベルは、このファンクションの基礎となる実装からのJavaロギング・レベルです。したがって、コンソール上でJavaロギングの出力を確認するには、あらかじめ次の文を実行しておく必要があります。

SET SERVEROUTPUT ON;
EXECUTE DBMS_JAVA.SET_OUTPUT(10000);

次の例では、ロギング・レベルをSDO_NET.LOGGING_LEVEL_ERRORに設定します。これにより、重大度のレベルがSDO_NET.LOGGING_LEVEL_ERRORまたはSDO_NET.LOGGING_LEVEL_FATALのメッセージのみが表示されます。

EXECUTE SDO_NET.SET_LOGGING_LEVEL(SDO_NET.LOGGING_LEVEL_ERROR);

SDO_NET.SET_MAX_JAVA_HEAP_SIZE

構文

SDO_NET.SET_MAX_JAVA_HEAP_SIZE(

     bytes IN NUMBER);

説明

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

パラメータ

bytes

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

使用上の注意

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

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

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

EXECUTE SDO_NET.SET_MAX_JAVA_HEAP_SIZE(536870912);

SDO_NET.SPATIAL_PARTITION

構文

SDO_NET.SPATIAL_PARTITION(

     network IN VARCHAR2,

     partition_table_name IN VARCHAR2,

     max_num_nodes IN NUMBER,

     log_loc IN VARCHAR2,

     log_file IN VARCHAR2,

     open_mode IN VARCHAR2 DEFAULT 'A',

     link_level IN NUMBER DEFAULT 1);

説明

空間ネットワークをパーティション化し、情報をパーティション表に格納します。

パラメータ

network

ネットワーク名を指定します。

partition_table_name

このプロシージャで作成されるパーティション表の名前を指定します。(指定した名前の表がすでに存在する場合は、指定したリンク・レベルのパーティション情報で更新されます。)パーティション表については、5.9.6項を参照してください。

max_num_nodes

各パーティションに含まれるノードの最大数を指定します。たとえば、5000を指定した場合にネットワークに50,000個のノードが含まれていると、各パーティションには5000以下のノードが含まれることになり、パーティションの合計数は10以上になります。

log_loc

ログ・ファイルのパスを特定するディレクトリ・オブジェクトを指定します。ディレクトリ・オブジェクトを作成するには、SQL*PlusコマンドのCREATE DIRECTORYを使用します。

log_file

発生する可能性があるエラーや問題など、Spatialのネットワーク操作に関する情報を格納するログ・ファイルを指定します。

open_mode

ログ・ファイルを開く際のモードを示す1文字のコードを指定します。Wは上書き(指定した場所および名前の既存のログ・ファイルをすべて削除し、新規ファイルを作成)、A (デフォルト)は追加(指定した既存のログ・ファイルに情報を追加)を表します。Aを指定し、そのログ・ファイルが存在しない場合は、新規ログ・ファイルが作成されます。

link_level

パーティション化を実行するネットワーク・リンク・レベル(デフォルトは1)を指定します。リンク・レベルは、リンクの優先順位であり、ネットワーク分析に使用すると、ネットワークの計算時に優先順位の高いリンクが最初に考慮されます。

使用上の注意

このプロシージャを使用してパーティションを作成した後、特に大規模なネットワークの場合は、多くのネットワーク分析操作のパフォーマンスを向上させるためにSDO_NET.GENERATE_PARTITION_BLOBSプロシージャの使用を検討してください。

次の例では、MY_PARTITIONED_NETネットワーク内にリンク・レベル1のパーティションを作成して、MY_PARTITIONED_NET_TAB表を作成します。各パーティションに配置するノードの最大数は5000です。操作に関する情報は、LOG_DIRという名前のディレクトリ・オブジェクトに関連付けられた場所にあるmy_partitioned_net.logファイルに追加されます(open_mode => 'a')。

EXECUTE SDO_NET.SPATIAL_PARTITION(network => 'MY_PARTITIONED_NET', -
  partition_table_name => 'my_partitioned_net_tab',-
  max_num_nodes => 5000,-
  log_loc => 'LOG_DIR', log_file=> 'my_partitioned_net.log',-
  link_level => 1, open_mode => 'a');

SDO_NET.TOPO_GEOMETRY_NETWORK

構文

SDO_NET.TOPO_GEOMETRY_NETWORK(

     network IN VARCHAR2

     ) RETURN VARCHAR2;

説明

ネットワークがSDO_TOPO_GEOMETRY(トポロジ・ジオメトリ)オブジェクトを含む空間ネットワークである場合、文字列TRUEを戻します。ネットワークがSDO_TOPO_GEOMETRYオブジェクトを含む空間ネットワークではない場合は、文字列FALSEを戻します。

パラメータ

network

ネットワーク名を指定します。

使用上の注意

USER_SDO_NETWORK_METADATAビュー内で、ネットワークのエントリのGEOMETRY_TYPE列に値TOPO_GEOMETRYが含まれる場合、そのネットワークにはSDO_TOPO_GEOMETRYオブジェクトが含まれます。(USER_SDO_NETWORK_METADATAビューについては、5.10.1項を参照してください。)

次の例では、ROADS_NETWORKという名前のネットワークが、SDO_TOPO_GEOMETRYオブジェクトを含む空間ネットワークであるかどうかを確認します。

SELECT SDO_NET.TOPO_GEOMETRY_NETWORK('ROADS_NETWORK') FROM DUAL;
 
SDO_NET.TOPO_GEOMETRY_NETWORK('ROADS_NETWORK')                                  
--------------------------------------------------------------------------------
FALSE

SDO_NET.VALIDATE_LINK_SCHEMA

構文

SDO_NET.VALIDATE_LINK_SCHEMA(

     network IN VARCHAR2

     ) RETURN VARCHAR2;

説明

ネットワーク内のリンクに関連するメタデータが有効な場合、文字列TRUEを戻します。ネットワーク内のリンクに関連するメタデータが有効でない場合は、文字列FALSEを戻します。

パラメータ

network

ネットワーク名を指定します。

使用上の注意

このファンクションは、空間ネットワークの表名、ジオメトリ列およびコスト列、LRSネットワークのメジャー関連の情報、トポロジ・ネットワークのトポロジ関連の情報、および階層ネットワークの階層関連の情報が有効かどうかを確認します。

次の例では、ROADS_NETWORKという名前のネットワーク内のリンクに関連するメタデータが有効かどうかを確認します。

SELECT SDO_NET.VALIDATE_LINK_SCHEMA('ROADS_NETWORK') FROM DUAL;
 
SDO_NET.VALIDATE_LINK_SCHEMA('ROADS_NETWORK')                                   
--------------------------------------------------------------------------------
TRUE

SDO_NET.VALIDATE_LRS_SCHEMA

構文

SDO_NET.VALIDATE_LRS_SCHEMA(

     network IN VARCHAR2

     ) RETURN VARCHAR2;

説明

ネットワークのLRS情報に関連するメタデータが有効な場合、文字列TRUEを戻します。ネットワークのLRS情報に関連するメタデータが有効でない場合は、文字列FALSEを戻します。

パラメータ

network

ネットワーク名を指定します。

使用上の注意

なし

次の例では、ROADS_NETWORKという名前のネットワークのLRS情報に関連するメタデータが有効かどうかを確認します。

SELECT SDO_NET.VALIDATE_LRS_SCHEMA('ROADS_NETWORK') FROM DUAL;
 
SDO_NET.VALIDATE_LRS_SCHEMA('ROADS_NETWORK')                                    
--------------------------------------------------------------------------------
TRUE

SDO_NET.VALIDATE_NETWORK

構文

SDO_NET.VALIDATE_NETWORK(

     network IN VARCHAR2,

     check_data IN VARCHAR2 DEFAULT 'FALSE'

     ) RETURN VARCHAR2;

説明

ネットワークが有効な場合、文字列TRUEを戻します。ネットワークが有効でない場合は、文字列FALSEを戻します。

パラメータ

network

ネットワーク名を指定します。

check_data

TRUEを指定すると、ネットワーク・データの参照整合性について詳細な確認が行われます。FALSE(デフォルト)を指定すると、ネットワーク・データの参照整合性について、詳細な確認ではなく基本的な確認が行われます。

使用上の注意

このファンクションは、ネットワークのメタデータおよび適用されるネットワーク・スキーマ構造(リンク、ノード、パス、サブパス、LRS)を確認します。ネットワーク・データについて基本的な参照整合性の確認を行い、オプションで詳細な確認を行います。エラーが検出されると、このファンクションは文字列FALSEを戻します。

このファンクションでは、次の項目が確認されます。

  • ネットワークが存在する。

  • ネットワークのノード表およびリンク表が存在し、それらの表が必要な列を含んでいる。

  • ノード表に各リンクの開始ノードおよび終了ノードが存在する。

  • LRSジオメトリ・ネットワークの場合、LRS表が存在し、必要な列を含んでいる。

  • 空間ネットワークの場合、ノードおよびパスのジオメトリの列が存在し、それらの列に空間索引が定義されている。

  • check_dataTRUEの場合、ネットワーク・データについて詳細な参照整合性の確認が行われます。特にネットワークが大規模な場合は、この確認に時間がかかります。

次の例では、LOG_NET1という名前のネットワークを検証します。

SELECT SDO_NET.VALIDATE_NETWORK('LOG_NET1') FROM DUAL;
 
SDO_NET.VALIDATE_NETWORK('LOG_NET1')
--------------------------------------------------------------------------------
TRUE

SDO_NET.VALIDATE_NODE_SCHEMA

構文

SDO_NET.VALIDATE_NODE_SCHEMA(

     network IN VARCHAR2

     ) RETURN VARCHAR2;

説明

ネットワーク内のノードに関連するメタデータが有効な場合、文字列TRUEを戻します。ネットワーク内のノードに関連するメタデータが有効でない場合は、文字列FALSEを戻します。

パラメータ

network

ネットワーク名を指定します。

使用上の注意

このファンクションは、空間ネットワークの表名、ジオメトリ列およびコスト列、LRSネットワークのメジャー関連の情報、トポロジ・ネットワークのトポロジ関連の情報、および階層ネットワークの階層関連の情報が有効かどうかを確認します。

次の例では、LOG_NET1という名前のネットワーク内のノードに関連するメタデータが有効かどうかを確認します。

SELECT SDO_NET.VALIDATE_NODE_SCHEMA('LOG_NET1') FROM DUAL;
 
SDO_NET.VALIDATE_NODE_SCHEMA('LOG_NET1')
--------------------------------------------------------------------------------
TRUE

SDO_NET.VALIDATE_PARTITION_SCHEMA

構文

SDO_NET.VALIDATE_PARTITION_SCHEMA(

     network IN VARCHAR2

     ) RETURN VARCHAR2;

説明

ネットワーク内のパーティションに関連するメタデータが有効な場合、文字列TRUEを戻します。ネットワーク内のパーティションに関連するメタデータが有効でない場合は、文字列FALSEを戻します。

パラメータ

network

ネットワーク名を指定します。

使用上の注意

パーティション表の情報が有効かどうかを確認します(5.9.6項を参照)。

次の例では、SDO_PARTITIONEDという名前のネットワーク内のパーティションに関連するメタデータが有効かどうかを確認します。

SELECT SDO_NET.VALIDATE_PARTITION_SCHEMA('SDO_PARTITIONED') FROM DUAL;
 
SDO_NET.VALIDATE_PARTITION_SCHEMA('SDO_PARTITIONED')
--------------------------------------------------------------------------------
TRUE

SDO_NET.VALIDATE_PATH_SCHEMA

構文

SDO_NET.VALIDATE_PATH_SCHEMA(

     network IN VARCHAR2

     ) RETURN VARCHAR2;

説明

ネットワーク内のパスに関連するメタデータが有効な場合、文字列TRUEを戻します。ネットワーク内のパスに関連するメタデータが有効でない場合は、文字列FALSEを戻します。

パラメータ

network

ネットワーク名を指定します。

使用上の注意

このファンクションは、空間ネットワークの表名、ジオメトリ列およびコスト列、LRSネットワークのメジャー関連の情報、トポロジ・ネットワークのトポロジ関連の情報、および階層ネットワークの階層関連の情報が有効かどうかを確認します。

次の例では、ROADS_NETWORKという名前のネットワーク内のパスに関連するメタデータが有効かどうかを確認します。

SELECT SDO_NET.VALIDATE_PATH_SCHEMA('ROADS_NETWORK') FROM DUAL;
 
SDO_NET.VALIDATE_PATH_SCHEMA('ROADS_NETWORK')                                   
--------------------------------------------------------------------------------
TRUE

SDO_NET.VALIDATE_SUBPATH_SCHEMA

構文

SDO_NET.VALIDATE_SUBPATH_SCHEMA(

     network IN VARCHAR2

     ) RETURN VARCHAR2;

説明

ネットワーク内のサブパスに関連するメタデータが有効な場合、文字列TRUEを戻します。ネットワーク内のサブパスに関連するメタデータが有効でない場合は、文字列FALSEを戻します。

パラメータ

network

ネットワーク名を指定します。

使用上の注意

サブパス表の情報が有効かどうかを確認します(5.9.5項を参照)。

次の例では、MY_NETWORKという名前のネットワーク内のサブパスに関連するメタデータが有効かどうかを確認します。

SELECT SDO_NET.VALIDATE_SUBPATH_SCHEMA('MY_NETWORK') FROM DUAL;
 
SDO_NET.VALIDATE_SUBPATH_SCHEMA('MY_NETWORK')
--------------------------------------------------------------------------------
TRUE