14.6 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.
Parent topic: Routing Engine
14.6.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.
Parent topic: User Data Structures Used by the Routing Engine
14.6.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 14-5.
Table 14-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. |
Parent topic: Turn Restriction User Data
14.6.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 14-6.
Table 14-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. |
Parent topic: Turn Restriction User Data
14.6.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 14-7.
Table 14-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. |
Parent topic: Turn Restriction User Data
14.6.2 Trucking User Data
Trucking information is described in the following tables:
Parent topic: User Data Structures Used by the Routing Engine
14.6.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 14-8.
Table 14-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. |
Parent topic: Trucking User Data
14.6.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 14-9.
Table 14-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. |
Parent topic: Trucking User Data
14.6.3 Time Zone User Data
The routing engine can track time in its route traversals, but it requires information about time zones. This data is stored in the following tables:
Parent topic: User Data Structures Used by the Routing Engine
14.6.3.1 ROUTER_TIMEZONES Table
The ROUTER_TIMEZONES table maps a time zone name to a unique numeric identifier. This table is used to build time zone user data table. It is not used in the route computation process.
It is part of routing engine data set, so the time zone user data can be rebuilt if the routing engine data is repartitioned. The CREATE_TIMEZONE_DATA Procedure should be run to create the time zone user data table ROUTER_TIMEZONE_DATA, every time router data is repartitioned.
The ROUTER_TIMEZONES table contains the columns shown in the following table.
Table 14-10 ROUTER_TIMEZONES Table
Column Name | Data Type | Description |
---|---|---|
TIMEZONE_ID |
NUMBER |
Unique identifier for a time zone.. |
TIMEZONE_NAME |
VARCHAR2(30) |
Name of the time zone. |
Parent topic: Time Zone User Data
14.6.3.2 ROUTER_TIMEZONE_DATA Table
The ROUTER_TIMEZONE_DATA table contains the user data that associates each edge with its corresponding time zone. The table is partitioned so that when a routing engine data partition is brought into the cache, the corresponding time zone user data is brought in simultaneously.
The ROUTER_TIMEZONE_DATA table contains the columns shown in the following table.
Table 14-11 ROUTER_TIMEZONE_DATA Table
Column Name | Data Type | Description |
---|---|---|
PARTITION_ID |
NUMBER |
ID of the routing data partition with which this time zone data is associated. |
NUM_EDGES |
NUMBER |
Number of edges in this partition. |
TIMEZONE_DATA |
BLOB |
Time zone data for the edges in this partition. |
Parent topic: Time Zone User Data
14.6.4 Traffic User Data
Effective with Release 12.2, the routing engine can include historic traffic pattern data in its computations, making them sensitive to changes in travel time over the course of day. To incorporate this optional feature , the routing engine requires the time zone user data and the traffic patterns data to be available. Traffic pattern user data is stored in the following table.
14.6.4.1 TP_USER_DATA Table
The TP_USER_DATA table consists of user data that associates each edge with traffic pattern data. Traffic pattern for an edge consists of speeds along the edge, measured at regular intervals of time. Currently data is available at two granularities, namely, at 15-minute intervals and 1-hour intervals. The granularity is indicated by the SAMPLING_ID value: 1
indicates 15-minute intervals, and 2
indicates 1-hour intervals.
The TP_USER_DATA table contains the columns shown in the following table.
Table 14-12 TP_USER_DATA Table
Column Name | Data Type | Description |
---|---|---|
PARTITION_ID |
NUMBER |
ID of the routing data partition with which this traffic data is associated. |
SAMPLING_ID |
NUMBER |
Sampling ID that indicates the granularity for the traffic pattern data: |
BLOB |
BLOG |
Traffic pattern data for the edges in this partition. |
Parent topic: Traffic User Data