14.6 ルーティング・エンジンで使用されるユーザー・データ構造

ルーティング・エンジンでは、ユーザー・データとルーティング・エンジン・データを使用します。右左折制限ユーザー・データなどの一部のユーザー・データは、ルーティング・エンジン・スキーマに存在する必要があります。トラック輸送ユーザー・データなどのその他のユーザー・データはオプションです。

ノート:

リリース12.1からは、リリース12.1以降のデータに対して実行されるルーティング・エンジンは、右左折制限ユーザー・データが存在することを前提とします。ルーティング・エンジンは以前のデータ・バージョンに対しても実行できますが、この操作が行われた場合は、PARTITION表のはるかに制限されたバージョンの右左折制限データが使用されます。

この項では、次のタイプのユーザー・データに使用される表について説明します。

14.6.1 右左折制限ユーザー・データ

右左折制限は、次の各表で記述されます。

エッジ(またはリンク)は、方向のないエッジで、EDGE表(「EDGE表」で説明)内の1つ以上の方向付きエッジに対応します。右左折制限は、2つ以上のエッジのグループであるナビゲーション・ストランド(nav_strand)に適用されます。単純な右左折制限は2エッジ(右左折が開始するエッジと右左折が終了するエッジ)のnav_strandに適用されます。nav_strandでは、3つ以上のエッジを使用して、非常に複雑な制限付きマヌーバを記述できます。

14.6.1.1 ROUTER_CONDITION表

ROUTER_CONDITION表には、単純な条件の右左折制限ユーザー・データを構築するために使用されるRAWデータが含まれます。この表は、ルーティング・プロセス中は使用されません。かわりに、ROUTER_TURN_RESTRICTION_DATAユーザー・データ表の構築に使用されます。これはルーティング・エンジン・データ・セットの一部であるため、ルーティング・エンジン・データが再パーティション化される場合に右左折制限ユーザー・データを再構築できます。ROUTER_CONDITION表に含まれる列を、表14-5に示します。

表14-5 ROUTER_CONDITION表

列名 データ型 説明

NAV_STRAND_ID

NUMBER

nav_strandの一意ID番号。

APPLIES_TO

NUMBER

右左折制限が適用される車両のリストを表す数値。

14.6.1.2 ROUTER_NAV_STRAND表

ROUTER_NAV_STRAND表には、複雑なマヌーバの右左折制限ユーザー・データを構築するために使用されるRAWデータが含まれます。この表は、ルーティング・プロセス中は使用されません。かわりに、ROUTER_TURN_RESTRICTION_DATAユーザー・データ表の構築に使用されます。これはルーティング・エンジン・データ・セットの一部であるため、ルーティング・エンジン・データが再パーティション化される場合に右左折制限ユーザー・データを再構築できます。ROUTER_NAV_STRAND表に含まれる列を、表14-6に示します。

表14-6 ROUTER_NAV_STRAND表

列名 データ型 説明

NAV_STRAND_ID

NUMBER

このエッジを含むnav_strandの一意ID番号。

SEQ_NUM

NUMBER

nav_strand内のエッジIDの位置。

LINK_ID

NUMBER

このnav_strandの一部であるエッジのリンク(エッジ) ID。

NODE_ID

NUMBER

nav_strand内の最初と2番目のリンクIDを接続するノードのノードID。これは、nav_strand内の他のすべてのリンクに対してはゼロです。

APPLIES_TO

NUMBER

右左折制限が適用される車両のリストを表す数値。

14.6.1.3 ROUTER_TURN_RESTRICTION_DATA表

ROUTER_TURN_RESTRICTION_DATA表には、右左折制限を記述するユーザー・データが含まれます。この表は、ルーティング・プロセス中に右左折制限を適用するために使用されます。この表は、EDGE表のパーティション化に合せてパーティション化されます。特定のルーティング・エンジン・データ・パーティションがキャッシュに入れられた場合、同じ番号の右左折制限ユーザー・データ・パーティションもキャッシュに入れられます。

ROUTER_TURN_RESTRICTION_DATA表に含まれる列を、表14-7に示します。

表14-7 ROUTER_TURN_RESTRICTION_DATA表

列名 データ型 説明

PARTITION_ID

NUMBER

この右左折制限ユーザー・データが関連付けられるルーティング・エンジン・データ・パーティションIDです。

NUM_EDGES

NUMBER

右左折制限が適用されるエッジ数です。

TURN_RESTRICTION_DATA

BLOB

右左折制限を記述するnav_strand情報と右左折制限が適用されるエッジを含むBLOBです。

14.6.2 トラック輸送ユーザー・データ

トラック輸送情報は、次の各表で記述されます。

14.6.2.1 ROUTER_TRANSPORT表

ROUTER_TRANSPORT表には、トラック輸送ユーザー・データを構築するために使用されるRAWデータが含まれます。この表は、ルーティング・プロセス中は使用されません。かわりに、ROUTER_TRUCKING_DATA表 (ユーザー・データ表)の構築に使用されます。これはルーティング・エンジン・データ・セットの一部であるため、ルーティング・エンジン・データが再パーティション化される場合にトラック輸送ユーザー・データを再構築できます。

ROUTER_TRANSPORT表がルーティング・エンジン・スキーマに最初にインポートされる際に、SDO_ROUTER_PARTITION.CREATE_TRUCKING_DATAプロシージャ(「CREATE_TRUCKING_DATAプロシージャ」を参照)を実行してROUTER_TRUCKING_DATAパーティション・ユーザー・データ表を生成する必要があります。

ROUTER_TRANSPORT表に含まれる列を、表14-8に示します。

表14-8 ROUTER_TRANSPORT表

列名 データ型 説明

EDGE_ID

NUMBER

制限が適用されるエッジのエッジID番号。

MAINTYPE

NUMBER(2)

トラック輸送制限のタイプ: 高さ、長さ、車軸当たり重量、重量、幅または法定。

SUBTYPE

NUMBER(2)

制限のメイン・タイプの拡張または例外の提供に使用されるサブタイプ。たとえば、配送サブタイプでは、配送トラックに、他のトラックが禁止されている場所へのアクセスを許可することがあります。

VALUE

NUMBER(6,2)

メイン・タイプに関連付けられている値: たとえば、幅メイン・タイプに関連付けられている値20は、20メートル・トンを超えるトラックがエッジへのアクセスを許可されないことを示します。

14.6.2.2 ROUTER_TRUCKING_DATA表

ROUTER_TRUCKING_DATA表には、トラック制限を記述するユーザー・データが含まれます。この表は、ルーティング・プロセス中にトラック制限を適用するために使用されます。この表は、EDGE表のパーティション化に合せてパーティション化されます。特定のルーティング・エンジン・データ・パーティションがキャッシュに入れられた場合、ルーティングされる車両がトラックであれば、同じ番号のトラック制限ユーザー・データ・パーティションもキャッシュに入れられます。

ROUTER_TRUCKING_DATA表に含まれる列を、表14-9に示します。

表14-9 ROUTER_TRUCKING_DATA表

列名 データ型 説明

PARTITION_ID

NUMBER

このトラック輸送データが関連付けられるルーティング・エンジン・データ・パーティションのIDです。

NUM_EDGES

NUMBER

このパーティション内のトラック輸送制限があるエッジの数。

TRUCKING_DATA

BLOB

BLOB形式での、このパーティションのトラック輸送制限。

14.6.3 タイム・ゾーン・ユーザー・データ

ルーティング・エンジンは、ルート・トラバースの時間を追跡できますが、そのためにはタイム・ゾーンの情報が必要です。このデータは、次の表に格納されています。

14.6.3.1 ROUTER_TIMEZONES表

ROUTER_TIMEZONES表は、タイム・ゾーン名を一意の数値の識別子にマップします。この表は、タイム・ゾーン・ユーザー・データ表の構築に使用されます。ルートの計算プロセスでは使用されません。

これはルーティング・エンジン・データ・セットの一部であるため、ルーティング・エンジン・データが再パーティション化される場合にタイム・ゾーン・ユーザー・データを再構築できます。ルーター・データが再パーティション化されるたびに、CREATE_TIMEZONE_DATAプロシージャを実行してタイム・ゾーン・ユーザー・データ表ROUTER_TIMEZONE_DATAを作成する必要があります。

ROUTER_TIMEZONES表に含まれる列を、次の表に示します。

表14-10 ROUTER_TIMEZONES表

列名 データ型 説明

TIMEZONE_ID

NUMBER

タイム・ゾーンの一意の識別子。

TIMEZONE_NAME

VARCHAR2(30)

タイム・ゾーンの名前。

14.6.3.2 ROUTER_TIMEZONE_DATA表

ROUTER_TIMEZONE_DATA表には、各エッジをそれに対応するタイム・ゾーンに関連付けるユーザー・データが含まれています。この表はパーティション化され、ルーティング・エンジン・データ・パーティションがキャッシュに取り込まれる際に対応するタイム・ゾーン・ユーザー・データが同時に取り込まれます。

ROUTER_TIMEZONE_DATA表に含まれる列を、次の表に示します。

表14-11 ROUTER_TIMEZONE_DATA表

列名 データ型 説明

PARTITION_ID

NUMBER

このタイム・ゾーン・データが関連付けられるルーティング・データ・パーティションのID。

NUM_EDGES

NUMBER

このパーティションのエッジ数。

TIMEZONE_DATA

BLOB

このパーティションのエッジのタイム・ゾーン・データ。

14.6.4 トラフィック・ユーザー・データ

リリース12.2より、ルーティング・エンジンで過去のトラフィック・パターン・データを計算に含めることができるようになり、1日のうちの移動時間帯による変動を考慮に入れることができます。このオプションの機能を組み込むには、ルーティング・エンジンは、タイム・ゾーン・ユーザー・データおよびトラフィック・パターン・データが使用可能であることを必要とします。トラフィック・パターン・ユーザー・データは、次の表に格納されています。

14.6.4.1 TP_USER_DATA表

TP_USER_DATA表は、各エッジをトラフィック・パターン・データに関連付けるユーザー・データで構成されます。あるエッジのトラフィック・パターンは、一定の時間間隔で計測される、そのエッジを通るトラフィックの速度で構成されます。現在、データに使用できる粒度は、15分間隔と1時間間隔の2つです。粒度はSAMPLING_ID値で示します。1は15分間隔を表し、2は1時間間隔を表します。

TP_USER_DATA表に含まれる列を、次の表に示します。

表14-12 TP_USER_DATA表

列名 データ型 説明

PARTITION_ID

NUMBER

このトラフィック・データが関連付けられるルーティング・データ・パーティションのID。

SAMPLING_ID

NUMBER

トラフィック・パターン・データの粒度を表すサンプリングID。1は、データが15分間隔で収集されることを表し、2は1時間間隔で収集されることを表します

BLOB

BLOG

このパーティションのエッジのトラフィック・パターン・データ。