13.5 User Data Structures Used by the Routing Engine

The routing engine uses user data as well as routing engine data. Some user data, such as turn restriction user data, must be present in the routing engine schema. Other user data, such as trucking user data, is optional.

Note:

Effective with Release 12.1, the routing engine running against Release 12.1 or later data expects turn restriction user data to be present. However, the routing engine can also be run against earlier data versions; but if this is done, a much more limited version of the turn restriction data from the PARTITION table is used.

This section explains tables used for the following types of user data:

13.5.1 Turn Restriction User Data

Turn restrictions are described in the following tables:

An edge (or a link) is an undirected edge that corresponds to one or more directed edges in the EDGE table (explained in EDGE Table). Turn restrictions are applied to a navigation strand (nav_strand) that is a group of two or more edges. A simple turn restriction would be applied to a two-edge nav_strand: the edge where the turn would have started and the edge where the turn would have ended. A nav_strand can have more than two edges to describe very complex restricted maneuvers.

13.5.1.1 ROUTER_CONDITION Table

The ROUTER_CONDITION table contains the raw data used to build the turn restriction user data for simple conditions. This table is not used during the routing process. Instead it is used to build the ROUTER_TURN_RESTRICTION_DATA user data table. It is part of routing engine data set so the turn restriction user data can be rebuilt if the routing engine data is repartitioned. The ROUTER_CONDITION table contains the columns shown in Table 13-5.

Table 13-5 ROUTER_CONDITION Table

Column Name Data Type Description

NAV_STRAND_ID

NUMBER

A unique ID number for a nav_strand.

APPLIES_TO

NUMBER

A number representing a list of vehicles to which the turn restriction applies.

13.5.1.2 ROUTER_NAV_STRAND Table

The ROUTER_NAV_STRAND table contains the raw data used to build the turn restriction user data for complex maneuvers. This table is not used during the routing process. Instead, it is used to build the ROUTER_TURN_RESTRICTION_DATA user data table. It is part of routing engine data set, so the turn restriction user data can be rebuilt if the routing engine data is repartitioned. The ROUTER_NAV_STRAND table contains the columns shown in Table 13-6.

Table 13-6 ROUTER_NAV_STRAND Table

Column Name Data Type Description

NAV_STRAND_ID

NUMBER

A unique ID number for a nav_strand that contains this edge.

SEQ_NUM

NUMBER

The edge ID's position within the nav_strand.

LINK_ID

NUMBER

Link (edge) ID of an edge that is part of this nav_strand.

NODE_ID

NUMBER

Node id of the node that connects the first and second link id in the nav_strand. This is zero for all other links in the nav_strand.

APPLIES_TO

NUMBER

A number representing a list of vehicles to which the turn restriction applies.

13.5.1.3 ROUTER_TURN_RESTRICTION_DATA Table

The ROUTER_TURN_RESTRICTION_DATA table contains the user data that describes turn restrictions. This table is used to enforce turn restrictions during the routing process. This table is partitioned to match the partitioning of the EDGE table. When a particular routing engine data partition is brought into the cache, the turn restriction User Data partition of the same number is also brought into the cache.

The ROUTER_TURN_RESTRICTION_DATA table contains the columns shown in Table 13-7.

Table 13-7 ROUTER_TURN_RESTRICTION_DATA Table

Column Name Data Type Description

PARTITION_ID

NUMBER

The routing engine data partition ID with which this turn restriction user data is associated.

NUM_EDGES

NUMBER

Number of edges with turn restrictions on them.

TURN_RESTRICTION_DATA

BLOB

BLOB containing the nav_strand information describing the turn restriction and the edges to which the turn restriction applies.

13.5.2 Trucking User Data

Trucking information is described in the following tables:

13.5.2.1 ROUTER_TRANSPORT Table

The ROUTER_TRANSPORT table contains the raw data used to build the trucking user data. This table is not used during the routing process. Instead, it is used to build the ROUTER_TRUCKING_DATA Table (a user data table). It is part of routing engine data set so that the trucking user data can be rebuilt if the routing engine data is repartitioned.

When to ROUTER_TRANSPORT table is first imported into the routing engine schema, you must execute the SDO_ROUTER_PARTITION.CREATE_TRUCKING_DATA procedure (see CREATE_TRUCKING_DATA Procedure) to produce the ROUTER_TRUCKING_DATA partitioned user data table.

The ROUTER_TRANSPORT table contains the columns shown in Table 13-8.

Table 13-8 ROUTER_TRANSPORT Table

Column Name Data Type Description

EDGE_ID

NUMBER

Edge ID number of the edge to which the restriction applies.

MAINTYPE

NUMBER(2)

Type of truck restriction: height, length, per axle weight, weight, width or legal.

SUBTYPE

NUMBER(2)

Subtype used to extend or provide exceptions to the main type of restriction. For example, a delivery subtype might allow delivery trucks access where other trucks are forbidden.

VALUE

NUMBER(6,2)

A value associated with the main type: for example a value of 20 associated with a weight main type to indicate that any truck in excess of 20 metric tons will not be allowed access to the edge.

13.5.2.2 ROUTER_TRUCKING_DATA Table

The ROUTER_TRUCKING_DATA contains the user data that describes truck restrictions. This table is used to enforce truck restrictions during the routing process. This table is partitioned to match the partitioning of the EDGE table. When a particular routing engine data partition is brought into the cache, the truck restriction User Data partition of the same number is also brought into the cache if the vehicle being routed is a truck.

The ROUTER_TRUCKING_DATA table contains the columns shown in Table 13-9.

Table 13-9 ROUTER_TRUCKING_DATA Table

Column Name Data Type Description

PARTITION_ID

NUMBER

ID of the routing engine data partition with which this trucking data is associated.

NUM_EDGES

NUMBER

Number of edges in this partition with trucking restrictions.

TRUCKING_DATA

BLOB

Trucking restrictions for this partition in BLOB format.