5.2 ネットワーク・データ・モデルを使用するための主なステップ

このトピックでは、Oracle Spatialでネットワーク・データ・モデル機能を使用するための主なステップの概要を示します。また、重要な概念、構造および操作を示します(詳細は他のトピックを参照してください)。

ネットワークを作成するには2つの基本的な方法があります。

  • CREATE_<network-type>_NETWORKという形式の名前を持つプロシージャを使用して、大部分の操作をSpatialによって実行します。

  • 自分自身で操作を実行します。必要なネットワーク表を作成し、ネットワーク・メタデータを更新します。

どちらの方法を使用した場合も、ネットワーク・データをネットワーク表に挿入する必要があります。その後、ネットワーク・データ・モデルのPL/SQL Application Program Interface(API)およびJava APIを使用してネットワークを更新し、その他の操作を実行できます。(PL/SQL APIおよびJava APIについては、「ネットワーク・データ・モデルのApplication Program Interface」を参照してください。)

5.2.1 Spatialによる操作の実行

必要な操作の大部分をSpatialによって実行してネットワークを作成するには、次のステップを実行します。

  1. CREATE_<network-type>_NETWORKという形式の名前を持つプロシージャを使用してネットワークを作成します。<network-type>は、作成する必要があるネットワークのタイプです。

    これらの各プロシージャは、必要なネットワーク・データ・モデル表(「ネットワーク・データ・モデル表」を参照)を作成し、適切なネットワーク・メタデータ情報が含まれる行をxxx_SDO_NETWORK_METADATAビュー(「xxx_SDO_NETWORK_METADATAビュー」を参照)に挿入します。

    各プロシージャには、2つの形式があります(一方の形式は、表および特定の列にデフォルトの名前を使用して、すべてのネットワーク・データ・モデル表を作成します。もう一方の形式を使用すると、表および特定の列に名前を指定できます)。ネットワーク・データ・モデル表のデフォルトの名前は、<network-name>_NODE$、<network-name>_LINK$、<network-name>_PATH$および<network-name>_PLINK$です。ネットワーク・データ・モデル表のコスト列のデフォルトの名前はCOSTで、ジオメトリ列のデフォルトの名前はGEOMETRYです。

  2. ノード表とリンク表、および必要に応じてパス表とパスリンク表にデータを挿入します。(ノード表、リンク表、パス表およびパスリンク表については、「ネットワーク・データ・モデル表」を参照してください。)
  3. SDO_NET.VALIDATE_NETWORKファンクションを使用して、ネットワークを検証します。
  4. 空間(SDOまたはLRS)ネットワークの場合、適切な情報をUSER_SDO_GEOM_METADATAビューに挿入し、ジオメトリ列に空間索引を作成します。

    ビューをノード表、リンク表またはパス表として使用する場合は、ノード表、リンク表またはパス表に関する情報をUSER_SDO_GEOM_METADATAビューに挿入する際に、TABLE_NAME列の値にビュー名を指定する必要があります。

5.2.2 自分自身での操作の実行

必要な操作を自分で実行してネットワークを作成するには、次のステップを実行します。

  1. SDO_NET.CREATE_NODE_TABLEプロシージャを使用して、ノード表を作成します。
  2. ノード表にデータを挿入します。
  3. SDO_NET.CREATE_LINK_TABLEプロシージャを使用して、リンク表を作成します。
  4. リンク表にデータを挿入します。
  5. オプションで、SDO_NET.CREATE_PATH_TABLEプロシージャを使用して、パス表を作成します。
  6. パス表を作成した場合は、SDO_NET.CREATE_PATH_LINK_TABLEプロシージャを使用して、パスリンク表を作成します。
  7. パス表を作成した場合に、パスを作成する必要がある場合は、パス表にデータを挿入します。
  8. パス表にデータを挿入した場合、パスリンク表に適切な行を挿入します。
  9. ネットワークに関する情報が含まれる行をUSER_SDO_NETWORK_METADATAビューに挿入します。(USER_SDO_NETWORK_METADATAビューについては、「xxx_SDO_NETWORK_METADATAビュー」を参照してください。)

    ビューをノード表、リンク表、パス表またはパスリンク表として使用する場合は、ネットワークに関する情報をUSER_SDO_NETWORK_METADATAビューに挿入する際に、関連する列にビュー名を指定する必要があります。

  10. 空間(SDOまたはLRS)ネットワークの場合、適切な情報をUSER_SDO_GEOM_METADATAビューに挿入し、ジオメトリ列に空間索引を作成します。

    ビューをノード表、リンク表またはパス表として使用する場合は、ノード表、リンク表またはパス表に関する情報をUSER_SDO_GEOM_METADATAビューに挿入する際に、TABLE_NAME列の値にビュー名を指定する必要があります。

  11. SDO_NET.VALIDATE_NETWORKファンクションを使用して、ネットワークを検証します。

これらのステップでは、順序の一部を変更できます。たとえば、まずノード表とリンク表の両方を作成し、次にそれぞれの表にデータを挿入できます。また、ノード表およびリンク表を作成する前に、USER_SDO_NETWORK_METADATAビューに行を挿入できます。