Implementing the Routine Computation and Use of Roadway ...1. REPORT NO. 2. GOVERNMENT ACCESSION NO....
Transcript of Implementing the Routine Computation and Use of Roadway ...1. REPORT NO. 2. GOVERNMENT ACCESSION NO....
Office of Research & Library ServicesWSDOT Research Report
Implementing the Routine Computation and Use of Roadway Performance Measures within WSDOT
WA-RD 873.2 August 2017
17-10-0425
Weibin Zhang
Appendix A: TRACFLOW Migration: Architecture and Implementation
Research Report Agreement T1461 Task 16
SHRP2 PM Software
Implementing the Routine Computation and Use of Roadway Performance Measures within WSDOT
Appendix A:
TRACFLOW Migration: Architecture and Implementation
by Weibin Zhang
Research Associate
Washington State Transportation Center (TRAC) University of Washington, Box 354802
Seattle, Washington 98105-4631
Washington State Department of Transportation Technical Monitor Monica Harwood
Workforce Development and Traffic Operations Engineer
Prepared for
The State of Washington Department of Transportation
Roger Millar, Secretary
August 2017
1. REPORT NO. 2. GOVERNMENT ACCESSION NO. 3. RECIPIENT'S CATALOG NO.
WA-RD 873.2
4. TITLE AND SUBTITLE 5. REPORT DATE
Implementing the Routine Computation and Use of RoadwayPerformance Measures within WSDOT, Appendix A:TRACFLOW Migration: Architecture and Implementation
August 2017
7. AUTHOR(S) 8. PERFORMING ORGANIZATION REPORT NO.
Weibin Zhang
9. PERFORMING ORGANIZATION NAME AND ADDRESS 10. WORK UNIT NO.
Washington State Transportation Center (TRAC)University of Washington, Box 354802 11. CONTRACT OR GRANT NO.
University District Building; 1107 NE 45th Street, Suite 535 Agreement T1461, Task 16Seattle, Washington 98105-4631
12. SPONSORING AGENCY NAME AND ADDRESS 13. TYPE OF REPORT AND PERIOD COVERED
Research OfficeWashington State Department of TransportationTransportation Building, MS 47372
Research Report
Olympia, Washington 98504-7372 14. SPONSORING AGENCY CODE
Doug Brodin, Project Manager, 360-705-797215. SUPPLEMENTARY NOTES
This study was conducted in cooperation with the U.S. Department of Transportation, FederalHighway Administration.
16. ABSTRACT
1. The Washington State Department of Transportation (WSDOT) is one of the nation’s leaders in calculating and using reliability statistics for urban freeways. The Department currently uses reliability measures for decision making for urban freeways—where it has applicable data—and as input to analyses that are part of major investment studies and other project identification and prioritization studies.2. The project documented in this report is intended to provide WSDOT with an online data analytics system that is capable of producing a variety of roadway performance measures specifically oriented toward identifying bottlenecks, and of determining the size, timing, and scope of delays those bottlenecks impose on travelers and freight shipments. The data used to determine the size of delays are also to be accessible as inputs to tools designed to evaluate alternative strategies for improving roadway performance.3. The system, Digital Roadway Interactive Visualization and Evaluation Network (DRIVE Net), which continues to be developed at the STAR (Smart Transportation Applications and Research) Lab, is designed to integrate data from multiple, siloed data sets. It is intended to create key inputs for WSDOT’s planning and project selection process, as well as supply inputs to other analytical tools used in the planning and programming processes. 417. KEY WORDS 18. DISTRIBUTION STATEMENT
SHRP2, Travel Time Reliability, RoadwayPerformance Monitoring
No restrictions. This document is available tothe public through the National TechnicalInformation Service, Springfield, VA 22616
19. SECURITY CLASSIF. (of this report) 20. SECURITY CLASSIF. (of this page) 21. NO. OF PAGES 22. PRICE
None None
iii
DISCLAIMER
The contents of this report reflect the views of the authors, who are responsible for the
facts and the accuracy of the data presented herein. The contents do not necessarily reflect the
official views or policies of the Washington State Department of Transportation or Federal
Highway Administration. This report does not constitute a standard, specification, or regulation.
iv
v
TABLE OF CONTENTS
1 System Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.1: Retrieval of Loop, Station, and Loopgroup Data ................................... 3
Task Description ................................................................................... 3
Requirements ........................................................................................ 3
Steps ............................................................................................... 3
Workflow Chart .................................................................................... 4
Dataflow Chart ........................................................................................... 5
1.2 Retrieval of Speed/Volume/Congestion Data along Corridor .................. 6
Task Description ................................................................................... 6
Requirements ........................................................................................ 6
Steps ............................................................................................... 6
Workflow Chart .................................................................................... 7
Dataflow Chart ..................................................................................... 7
1.3 Ad-Hoc Trip and Travel Time Retrieval ................................................. 9
Task Description ................................................................................... 9
Requirements ........................................................................................ 9
Steps ............................................................................................... 9
Workflow Chart ................................................................................... 10
Dataflow Chart .................................................................................... 10
1. 4 Identification to lane types in travel time analysis ............................... 12
Task Description .................................................................................. 12
Requirements ....................................................................................... 12
Steps .............................................................................................. 12
Comments ............................................................................................ 12
Workflow Chart ................................................................................... 14
Dataflow Chart .................................................................................... 14
1.5 Productivity Calculation ....................................................................... 15
vi
Task Description .................................................................................. 16
Requirements ....................................................................................... 16
Steps .............................................................................................. 16
Comments ............................................................................................ 16
Workflow Chart ................................................................................... 17
Dataflow Chart .................................................................................... 17
1.6 Vehicle-Hours-of-Delay Calculation ..................................................... 18
Task Description .................................................................................. 19
Requirements ....................................................................................... 19
Steps .............................................................................................. 19
Workflow Chart ................................................................................... 20
Dataflow Chart .................................................................................... 20
1.7: GIS Map Changes Detection ................................................................ 21
Task Description .................................................................................. 22
Comments ............................................................................................ 22
1.8: Data Quality Review ........................................................................... 22
Task Description .................................................................................. 22 2 Key Challenge Identification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
3 System Design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
4 Geospatial Database Design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
5 Key Techniques in System Implementation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
5.1 OpenStreetMap and OpenLayers ........................................................... 29
5.2 R and Rserve ........................................................................................ 31
5.3 Role Based Access Control ................................................................... 32
5.4 Data Source Connection Pool ............................................................... 36 6 Data Quality Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
6.1 Data Loading ....................................................................................... 38
6.2 Error Detection .................................................................................... 39
6.2.1 Error code description (20 second data) ....................................... 39
6.3 Imputation ........................................................................................... 41
6.4 Sensitivity table (SLD_Sensitivity) ....................................................... 42
6.5 Daily Quality Control (SLDH_Days) .............................................. 43
vii
7 Database Design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
7.1. GNC Database Design ......................................................................... 44
dbo.cablinktable_state table ................................................................. 44
dbo.Corridor_Seg table ........................................................................ 45
dbo.Corridors table .............................................................................. 45
dbo.GNC_Cabinets table ...................................................................... 46
dbo.GNC_Cabinets_GP table ............................................................... 47
dbo.TPPInrixSpeed table ...................................................................... 47
dbo.TPPLocation table ......................................................................... 48
7. 2 FiveMinuteLoopData Database Table Design ....................................... 48
dbo.Cabinets table................................................................................ 48
dbo.CabinetYearHealth table ................................................................ 49
dbo.CorrectedData table ....................................................................... 50
dbo.CorrectedData_test table ................................................................ 50
dbo.Corridors table .............................................................................. 51
dbo.DataQualityControl table ............................................................... 51
dbo.GNC_5Min table ........................................................................... 52
dbo.GNC_5Min_HOV_null table .......................................................... 53
dbo.HOV5 table ................................................................................... 54
dbo.Inrix5 table ................................................................................... 55
dbo.main5 table ................................................................................... 55
dbo.Rev5 table ..................................................................................... 56
dbo.SLD_5Min_2 table ........................................................................ 56
dbo.STN_5Min_2 table ........................................................................ 57
dbo.TRAP_5Min_2 table ...................................................................... 57
7.3 large_data Database Table Design ......................................................... 58
dbo.CabData table ................................................................................ 58
dbo.Cabinet_direction table .................................................................. 59
dbo.Cabinets table................................................................................ 59
dbo.CF table ........................................................................................ 60
dbo.Directiontable table ....................................................................... 61
dbo.Directiontable_state table .............................................................. 61
viii
dbo.GNC_5Min table ........................................................................... 62
dbo.GNC_Cabinets table ...................................................................... 62
dbo.GNC_Corridor_Seg table ............................................................... 63
dbo.GNC_Corridors table ..................................................................... 64
dbo.GNC_TPPLocation table ............................................................... 64
dbo.GoodDualLoops table .................................................................... 65
dbo.hcm_cab table ............................................................................... 66
dbo.InrixAs table ................................................................................. 66
dbo.MeterData table ............................................................................. 66
dbo.RoadwayMpLatLon table ............................................................... 67
dbo.route_Lookup table ....................................................................... 67
dbo.SingleLoopByRoad table ............................................................... 68
dbo.SingleLoopData table .................................................................... 68
dbo.Temp_Meter table .......................................................................... 69
dbo.Temp_SLD1 table .......................................................................... 69
dbo.Temp_SLD2 table .......................................................................... 70
dbo.Temp_STN table ............................................................................ 71
dbo.Temp_Trap table ............................................................................ 71
dbo.testcablinktable table ..................................................................... 72
dbo.TrapData table ............................................................................... 73
dbo.TTSecondData table ...................................................................... 73
7.4 Table Migration from TRACFLOW ...................................................... 74
ix
Figures
Figure Page
1 General process .............................................................................................. 2
2 Workflow chart for retrieval of loop, station, and loopgroup data ................ 4
3 Dataflow chart for loop data .......................................................................... 15
4 Workflow chart for retrieval of speed, volume, and congestion data along the corridor ..................................................................................................... 7
5 Dataflow chart for speed, volume, and congestion data ................................ 8
6 Workflow chart for retrieval of ad hoc trip and travel time data ................... 10
7 Dataflow chart for loop and quality data ....................................................... 11
8 Workflow chart for retrieval of ad hoc trip and travel time data ................... 14
9 Dataflow chart for ad hoc trip and travel time data ....................................... 15
10 Workflow chart for productivity calculation ................................................. 17
11 Dataflow chart for productivity calculation ................................................... 18
12 Workflow chart for vehicle hours-of-delay calculation ................................. 20
13 Dataflow chart for vehicle hours-of-delay calculation .................................. 21
14 DRIVE Net 4.0 architecture ........................................................................... 25
15 PostgreSQL, PostGIS, and pgRouting ........................................................... 27
16 Communication mechanism for OpenStreetMap ........................................... 31
17 Travel time performance measurement ......................................................... 32
18 Add permission .............................................................................................. 34
19 Change role .................................................................................................... 34
20 Edit/change role to user ................................................................................. 35
21 Edit/change permission to role ....................................................................... 35
x
Tables
Table Page
1 dbo.cablinktable_state description ................................................................. 44
2 dbo.cablinktable_state items .......................................................................... 44
3 dbo.Corridor_Seg description ........................................................................ 45
4 dbo.Corridor_Seg items ................................................................................. 45
5 dbo.Corridors description .............................................................................. 45
6 dbo.Corridors items........................................................................................ 46
7 dbo.GNC_Cabinets description ..................................................................... 46
8 dbo.GNC_Cabinets items .............................................................................. 46
9 dbo.GNC_Cabinets_GP description .............................................................. 47
10 dbo.GNC_Cabinets_GP items ....................................................................... 47
11 dbo.TPPInrixSpeed description ..................................................................... 47
12 dbo.TPPInrixSpeed items .............................................................................. 47
13 dbo.TPPLocation description ......................................................................... 48
14 dbo.TPPLocation items .................................................................................. 48
15 dbo.Cabinets description ................................................................................ 48
16 dbo.Cabinets items ......................................................................................... 49
17 dbo.CabinetYearHealth description ............................................................... 49
18 dbo.CabinetYearHealth items ........................................................................ 49
19 dbo.CorrectedData description ...................................................................... 50
20 dbo.CorrectedData items................................................................................ 50
21 dbo.CorrectedData_test description ............................................................... 50
22 dbo.CorrectedData_test items ........................................................................ 50
23 dbo.Corridors description .............................................................................. 51
24 dbo.Corridors items........................................................................................ 51
25 dbo.DataQualityControl description .............................................................. 51
26 dbo.DataQualityControl items ....................................................................... 52
27 dbo.GNC_5Min description ........................................................................... 52
28 dbo.GNC_5Min items .................................................................................... 53
xi
29 dbo.GNC_5Min_HOV_null description ........................................................ 53
30 dbo.GNC_5Min_HOV_null items ................................................................. 54
31 dbo.HOV5description .................................................................................... 54
32 dbo.HOV5 items ............................................................................................ 54
33 dbo.Inrix5description ..................................................................................... 55
34 dbo.Inrix5 items ............................................................................................. 55
35 dbo.main5 description .................................................................................... 55
36 dbo.main5 items ............................................................................................. 55
37 dbo.Rev5description ...................................................................................... 56
38 dbo.Rev5 items ............................................................................................... 56
39 dbo.SLD_5Min_2 description........................................................................ 56
40 dbo.SLD_5Min_2 items ................................................................................. 56
41 dbo.STN_5Min_2 description........................................................................ 57
42 dbo.STN_5Min_2 items ................................................................................. 57
43 dbo.TRAP_5Min_2 description ..................................................................... 57
44 dbo.TRAP_5Min_2 items .............................................................................. 58
45 dbo.CabData description ................................................................................ 58
46 dbo.CabData items ......................................................................................... 58
47 dbo.Cabinet_direction description ................................................................. 59
48 dbo.Cabinet_direction items ........................................................................... 59
49 dbo.Cabinets description ................................................................................ 59
50 dbo.Cabinets items ......................................................................................... 60
51 dbo.CF description ......................................................................................... 60
52 dbo.CF items .................................................................................................. 60
53 dbo.Directiontable description ....................................................................... 61
54 dbo.Directiontable items ................................................................................ 61
55 dbo.Directiontable_state description .............................................................. 61
56 dbo.Directiontable_state items ....................................................................... 61
57 dbo.GNC_5Min description ........................................................................... 62
58 dbo.GNC_5Min items .................................................................................... 62
59 dbo.GNC_Cabinets description ..................................................................... 62
60 dbo.GNC_Cabinets items .............................................................................. 63
xii
61 dbo.GNC_Corridor_Seg description.............................................................. 63
62 dbo.GNC_Corridor_Seg items ....................................................................... 63
63 dbo.GNC_Corridors description .................................................................... 64
64 dbo.GNC_Corridors items ............................................................................. 64
65 dbo.GNC_TPPLocation description .............................................................. 64
66 dbo.GNC_TPPLocation items ....................................................................... 65
67 dbo.GoodDualLoops description ................................................................... 65
68 dbo.GoodDualLoops items ............................................................................ 65
69 dbo.hcm_cab description ............................................................................... 66
70 dbo.hcm_cab items ........................................................................................ 66
71 dbo.InrixAs description................................................................................... 66
72 dbo.InrixAs items ........................................................................................... 66
73 dbo.MeterData description ............................................................................. 66
74 dbo.MeterData items ...................................................................................... 67
75 dbo.RoadwayMpLatLon description ............................................................. 67
76 dbo.RoadwayMpLatLon items ...................................................................... 67
77 dbo.route_Lookup description ....................................................................... 67
78 dbo.route_Lookup items ................................................................................ 68
79 dbo.SingleLoopByRoad description .............................................................. 68
80 dbo.SingleLoopByRoad items ....................................................................... 68
81 dbo.SingleLoopData description .................................................................... 68
82 dbo.SingleLoopData items ............................................................................. 69
83 dbo.Temp_Meter description ......................................................................... 69
84 dbo.Temp_Meter items .................................................................................. 69
85 dbo.Temp_SLD1description .......................................................................... 69
86 dbo.Temp_SLD1 items .................................................................................. 70
87 dbo.Temp_SLD2 description ......................................................................... 70
88 dbo.Temp_SLD2 items .................................................................................. 70
89 dbo.Temp_STN description ........................................................................... 71
90 dbo.Temp_STN items .................................................................................... 71
91 dbo.Temp_Trap description ........................................................................... 71
92 dbo.Temp_Trap items .................................................................................... 72
xiii
93 dbo.testcab link table description ................................................................... 72
94 dbo.testcab link table items ............................................................................ 72
95 dbo.TrapData description ............................................................................... 73
96 dbo.TrapData items ........................................................................................ 73
97 dbo.TTSecondData description ...................................................................... 73
98 dbo.TTSecondData items ............................................................................... 74
xiv
1
TRACFLOW Migration: Architecture and Implementation
This document specifies an architecture for the system of TRACFLOW migration into
DRIVENet. It includes system functionality, system design, and key techniques, etc. The
document includes system requirement and analysis, system design and key technique, and
database design.
After many years of development, DRIVE Net already have significant progress in
capability of data handling, transportation analysis, and traffic data visualization, and some
advanced features such as security access control, and database connection optimization, etc.
These new features enhance security and performance of the system. In another side, the key
abilities in previous version such as geo-processing power to store, analyze, and manipulate
geographic data with OpenLayers and OpenStreetMap (OpenLayers, 2013; OpenStreetMap,
2013), are enhanced continuously in the new system, which leads to change the new system to a
more flexible yet reliable alternative Web-mapping product.
2
1 System Analysis
Based on the TRACFLOW MIGARATION PROJECT PLAN, DRIVENet SHRP2 Task, and
recent discussions, the developing process can be divided into six steps, which are (1) purpose
and background; (2) requirement; (3) architecture; (4) program module / java class design; (5)
database design; (6) interface design. This document will describe the requirements for the
migration project based on tasks. There are basically six tasks in terms of functions developed
for users and one GIS map changes detection task. The general process is shown in Figure 1.
INRIX
Loop data
DataDescription
StarLab
Data entry/update
Data quality control
Develop
Mark
Develop
Provide Data & Description
Data retrieval
Network/ GIS change
WSDOT
New Requirement
Origin Requirement
Here
Figure 1 General process
3
1.1: Retrieval of Loop, Station, and Loopgroup Data
Task Description
The functions developed in this subtask will allow users to extract speed, volume, or lane
occupancy data for specified count locations and time periods. Data should be available by lane
(loop) or for all lanes/loops at a given location (by lane type, so HOV lanes would be reported
separately from general purpose (GP) lanes).
Requirements
The requirements for performing this task include:
1) The ability to identify where loops are located – preferably on a map
2) The ability to specify which individual loops, or groups of loops at that site are to have their data extracted.
3) The ability to specify the dates for which data are to be extracted
4) The ability to determine whether data at that location, for the selected loops, for those dates, have passed quality assurance checks or not.
5) The ability to request and receive those data, should the data quality be acceptable to the user.
Steps
1) Specify a time range by selecting begin date, end date, and days in a week (Sun. – Sat.). 2) Select a specific cabinet by clicking it on the map. The loop names would be shown. 3) Once you have selected a loop location, entered a date range (with day-of-week
restrictions if desired), and then select the specific loop or loop group for which data are desired, the system updates the screen to show the data quality results for that data range and location.
4) If the data are of acceptable quality, the user then enters the email address to which data are to be sent in the text box, and then click the button “Email Data Report”, the data of the selected loop/loopgroup in the time range is then sent to the email supplied in a .csv format.
4
Workflow Chart
Initial state
Retrieve Loop Data
Select date
Select Begin DateSelect End DateSelect Day of the Week
Select cabinet
select from the map
Show cabinet data sources
LoopgroupsLoops(Regular loop, speed trp, station)
Email data report
Input Email addressclick 'Email Data Report' button
Data quality > threshold
Yes
No Data not available
Figure 2 Workflow chart for retrieval of loop, station, and loopgroup data
5
Dataflow Chart
Loop Data
Load
Cabinet Visualization
Cabinet Location Data
Date Selection
Date and Weekday Data
Loop Data Display
Cabinet ID
Date and Day of the Week
Loop Group Data (on)( Regular Loop, Loop Pair,
Speed Trap, Station)
Data Report Output
Selected Loop Data
User
Loop Data Report:Loop, Station and Loop Group
Background System
User Email Address
Figure 3 Dataflow chart for loop data
6
1.2 Retrieval of Speed/Volume/Congestion Data along Corridor
Task Description
The functions developed in this subtask will allow users to extract speed, volume, or congestion
frequency data for user defined state route corridors (one state route at a time), where the end
points of the corridor can be selected by the user (e.g., I-5 from milepost 140.24 – 162.35). Data
will be downloaded for a user specified date or date range, and the output data will describe the
mean speed, mean volume, or frequency of congestion for all days requested. The output may
also be (at the option of the user) a three-dimensional table in which the dimensions are time of
day, milepost, and date, and the value of each cell is the speed, volume, or lane occupancy at that
location.
Requirements
The requirements for performing this task include:
1) The ability to specify the dates for which data are to be extracted.
2) The ability to identify which corridors are available for data extraction.
3) The ability to identify on each corridor, which lane types have data available and where these lanes start and end.
4) The ability to determine the data quality of all loop locations on the selected corridor.
5) The ability to compute average values over all selected days for a certain time period of day and corridor and store them in a two dimensional spatial-temporal table (first dimension: 00:00, 00:005, …, 23:55; second dimension: milepost).
6) The ability to output (1) interpolated data at 0.5 mile increments, and (2) data at the actual detector location.
Steps
1) Specify a time range by selecting begin date, end date, and days in a week (Sun. – Sat.).
2) Select a specific corridor by selecting route ID, start milepost and end milepost.
3) Once you have selected a date range and specific corridor, then the source lane type should be displayed and you should be able to select the source lane type (GP / HOV / REV / HOV-REV).
4) Then the user selects the output data type, i.e., speed, volume per hour or frequency of congestion. These values should be the average values over all selected days for a certain time period of day and corridor.
5) If the data are available, the user then enters the email address to which data are to be sent in the text box, and then click the button “Email corridor data report”, the data of the
7
selected corridor in the time range of specific lane type is sent to the email supplied in a .csv format.
Workflow Chart
Initial state
Retrieve Corridor Data
Select date
Select Begin DateSelect End DateSelect Day of the Week
Select corridor
Select route ID, start MP and end MP
Show source lane type
GPHOVREVHOV‐REV
Email data report
Input Email addressclick 'Email Data Report' button
Select output data type
SpeedVolume per hourFrequency of congestion
Figure 4 Workflow chart for retrieval of speed, volume, and congestion data along the corridor
8
Dataflow Chart
Background System
Loop Data
Load Speed, Volume, Congestion Data
Cabinet Visualization
Specify a Route, Source Data Type,
Direction, Min & Max Milepost
Specify Begin Date& End Date & Day of
the Week
Date
Route, Source Data Type, Direction,
Min & Max Milepost,Output Data type
User
Data OutputUser’s Email Address
DateSpecified Route & Source Data
BackgroundData
Output DataIn CVS format
Figure 5 Dataflow chart for speed, volume, and congestion data
9
1.3 Ad-Hoc Trip and Travel Time Retrieval
Task Description
The functions developed in this subtask will provide the ability to compute travel times for user-
defined start and points on a selected corridor. Like the loop and corridor data, travel times need
to be available to users both as “raw” statistics (travel time by start time for user-selected days or
groups of days) and as summary statistics (mean, median, percentile values, frequency of a
congested trip, MT3I, TTI, PTI, etc.) for all user-definable time periods (e.g., all Tuesdays in
2012, the month of May in 2013, etc.). The summary statistics should also include the GNB-
defined summary statistics for the AM and PM peak periods.
Requirements
1) The ability to generate the shortest corridor given a start point and end point using a proper route-able road network.
2) The ability to generate multi-corridor trips given a start point and end point using a proper route-able road network.
3) The ability to identify which lane should be using at the ramp interchanges of different freeways.
4) The ability to estimate travel time on the ramp when the data for the ramp detectors are not valid.
5) The ability to track and correctly apply the physical changes in interchange design and operation. For example, if an old ramp (e.g., 0.5 miles long) is replaced by a new ramp (e.g., 1.0 miles long) on June 15, 2014, the DRIVENet travel time computations need to use the data and roadway lengths associated with the short, old ramp for any travel time computed prior to June 15, 2014, and use the data and longer ramp roadway lengths and loop group definitions for any travel time estimates performed after June 15, 2014.
6) The ability to select the 52 defined GNB trips and calculate the travel time statistics. 7) The ability to output both “raw” travel time statistics (travel time by start time for user-
selected days or groups of days) and as summary statistics (mean, median, percentile values, frequency of a congested trip, MT3I, TTI, PTI, etc.) for all user-definable time periods (e.g., all Tuesdays in 2012, the month of May in 2013, etc.).
Steps
1) Specify a time range by selecting begin date, end date, and days in a week (Sun. – Sat.).
2) Specify the start point and end point, then choose one of the corridors generated by the system (The shortest corridor should be labeled).
10
3) If the data are available, the user then enters the email address to which data are to be sent in the text box, and then click the button “Email travel time statistics report”, the data would be sent to the email supplied in a .csv format.
Workflow Chart
Initial state
Retrieve Travel Time Statistics
Select Date
Select Begin DateSelect End DateSelect Day of the Week
Select start point and end point
Select start cabinet and end cabinet
Corridor Generation
Multiple corridors are generated and displayedThe shortest corridor should be labeled
Email data report
Input Email addressClick 'Email Data Report' buttonEmail both raw travel time statistics and summary statistics
Select a corridor
Select one of the corridors for ad‐hoc trip
Select defined GNB trip?
No
Yes Select a corridor
Select a GNB trip
Figure 6 Workflow chart for retrieval of ad hoc trip and travel time data
11
Dataflow Chart
Loop Data
Background System
Visualization Begin & End
Cabinets Selection Date Selection Trip Defination
A route according to Defined GNB Trip List or Begin & End Cabinets
Cabinet DataDate Data
Load Loop & Quality Data
User
Editting Route Data Quality
Defined Trip Parameter
Loop Data &Loop Quality Data
User Email
Loop Quality Data Editor & Quality Control Module
Loop Quality Data
Date
Defined Trip & Travel Time Statistics
Figure 7 Dataflow chart for loop and quality data
12
1. 4 Identification to lane types in travel time analysis
Task Description
The functions developed in this subtask will allow the user to select the lane types to be
incorporated in the Task 3 travel time analysis (i.e., GP versus HOV trips, and whether to include
reversible roadways). This means that the interface should also be able to inform the user where
HOV and reversible lanes exist and where the performance of those facilities can or cannot be
reported independently of the GP lanes. Because the detailed segment-to-segment definitions of
HOV trips changes over time as the HOV lane system expands and changes, DRIVENet must be
able to compute and use the available HOV system for each particular date in time.
Requirements
1) The ability to identify lane types on a given corridor. 2) Use data from different types of lanes to compute travel time statistics mentioned in Task
3.
Steps
1) Specify a time range by selecting begin date, end date, and days in a week (Sun. – Sat.).
2) Specify the start point and end point, then choose one of the corridors generated by the system (The shortest corridor should be labeled).
3) Specify what type of lanes to use in different segments in the ad-hoc trip.
4) If the data are available, the user then enters the email address to which data are to be sent in the text box, and then click the button “Email travel time statistics report”, the data would be sent to the email supplied in a .csv format.
Comments
There are substantial extensions to TRACFLOW here. Notably the ability to compute ad hoc
HOV trips, and/or to include reversible roadways, both of which are complex problems. For
example, how does DRIVENet know what direction the Express lanes are operating? And what
happens when a user asks for a southbound trip using the Express lanes, but the lanes are going
northbound? (Does DRIVENet produce a travel time anyway using the Express lane data even
though the lanes are going in reverse? Does DRIVENet route vehicles onto the regular mainline
lanes during the time period when the Express lanes are not open or are going in the reverse
direction? Does DRIVENet simply not produce a travel time during those time periods?)
13
Whichever option is chosen (my preference is to shift the travel times to the GP lanes, when the
Express lanes are going in the wrong direction.)
Another note was that the function should also support a mix of lane types along a given trip
route (e.g., a trip might use HOV or REV segments whenever they exist along the trip route, and
use GP segments for the rest of the trip route). This is important if we wish to compute
something like a travel time from Everett to Seattle using the GP Express lanes and compare
those outcomes to the same trip using just the mainline GP lanes.
The “mixed lanes” also show up in our “special loopgroups” which, are used to get vehicles from
an HOV lane on one freeway to an HOV lane on another freeway, when there is no HOV-to-
HOV ramp connection.
Finally, there are a few unusual freeway-to-freeway ramp intechanges that TRACFLOW models
explicitly. A good example is that for the Redmond to Bellevue HOV trip, the trip uses the HOV
lane starting at SR 202. Because there is not HOV-to-HOV direct access lane from WB SR 520
to SB I-405, the trip moves to the GP lanes just prior to the interchange. It then uses te
conventional ramp, and enters I-405 in the GP lanes on the right side of the roadway. It then
exits to the NE 8th street. It could jump immediately to the left hand side of the freeway to use
the SB I-405 HOV lanes, then exit the freeway at NE 6th St. But this is not a practical movement
during most parts of the day, so we specifically modeled the trip to follow the path a real person
might follow. If DRIVENet uses a route-able network, that routable network might use the
southbound HOV lanes, even though they are not a practical alternative.
14
Workflow Chart
Initial state
Retrieve Travel Time Statistics with Lane Type Identification
Select Date
Select Begin DateSelect End DateSelect Day of the Week
Select start point and end point
Select start cabinet and end cabinet
Corridor Generation
Multiple corridors are generated and displayedThe shortest corridor should be labeled
Email data report
Input Email addressClick 'Email Data Report' buttonEmail both raw travel time statistics and summary statistics
Select a corridor
Select one of the corridors for ad‐hoc trip
Select defined GNB trip?
No
Yes Select a corridor
Select a GNB trip
Show lane type
Show where HOV and REV lanes exist
Select lane types
Select where HOV or REV is used
Figure 8 Workflow chart for retrieval of ad hoc trip and travel time data
15
Dataflow Chart
Loop Data
Load
Lane display
HOV, reversible lanes, or GP lanes
Date Selection
Date and Weekday Data
Lane type selection
Line type
Lane/route data &Travel time
statistics Data (raw and summary level)
Travel time analysis
Lane type data
User
Lane report & travel time analysis report
Background System
User Email Address
Automatically generate routes
Lane status, availability
Line existence& reportable status
Lan status data
Date Information
Select start and end points of route or defined GNB corridor/lanes
Figure 9 Dataflow chart for ad hoc trip and travel time data
16
1.5 Productivity Calculation
Task Description
The functions developed in this subtask will provide the ability to compute loss of productivity
for all locations for which both volume and speed data are available (the software should be
capable of determining and communicating to the user where these calculations are possible).
Requirements
1) The ability to specify the dates for which data are to be extracted.
2) The ability to specify the locations where both speed and volume data are available in the selected time range.
3) The ability to specify what is the equivalent of 100 % productivity in terms of speed and volume.
4) The ability to determine the maximum throughput speed (i.e., the threshold that determines whether the location loses its productivity) and maximum throughput flow rate.
5) The ability to compute the actual flow rate as a percentage of max flow rate when speeds are below the maximum throughput speed.
Steps
1) Specify a time range by selecting begin date, end date, and days in a week (Sun. – Sat.).
2) Specify a location where it is available for productivity calculation.
3) For each time interval, see if speeds are below the maximum throughput speed: if no, the productivity should be 1; if yes, then get the volume v for that interval, productivity should be v/capacity.
4) Summarize the productivity for each interval.
Comments
We are going to develop the productivity calculation function on a summary basis first since this
is the current way of doing productivity calculation on TRAC. A daily basis can be added after
the summary basis finished.
17
Workflow Chart
Initial state
Productivity Calculation
Select Date
Select Begin DateSelect End DateSelect Day of the Week
Show or Email data report
Input Email addressClick 'Email Data Report' button
Select a Location
Select a location where both speed and volume data are available
Determine the maximum throughput speed
Specify the speed threshold which determines whether the location loses its productivity
Speed and Volume data available?
No
Yes
For each time interval, see if speeds are below the
maximum throughput speed?
No
Yes
Productivity does not lose
Get the volume v for that interval, productivity =
v/capacity
Figure 10 Workflow chart for productivity calculation
18
Dataflow Chart
Loop Data
Background System
Date SelectionLane/freeway selection
Lane/freeway data
Date
Route/lane data
Compute loss of productivity
Lane/freeway ID
Date
Show productivity calculation (PC) availability
Lane ID,volume &speed data
Select location for PC
Displayed data
Location data
Show or report productivity
Maximum flow rate,Speed data, &
Volume
Calculated data
Figure 11 Dataflow chart for productivity calculation
19
1.6 Vehicle-Hours-of-Delay Calculation
Task Description
The functions developed in this subtask will provide the ability to compute vehicle-hours-of-
delay by roadway segment using a user-specified data source, corridor, and time period. “Delay”
is computed as travel time for a segment minus a reference travel time for that segment times the
volume of vehicles experiencing that delay. To make this computation WSDOT must define the
reference speed to be used as a default (likely the same speed used in the MT3I computation).
DRIVENet should also allow the user to change that default.
Requirements
1) The ability for users to select different data sources for delay calculation (Loop, INRIX, and HERE).
2) The ability to generate spatial-temporal matrices for speed, volume, reference travel time, and actual travel time in order to calculate the delay.
3) The ability to compute FOUR different delay computations. The four computations use different reference speeds (The reference speed is for determining when and where the delay is occurring), i.e., free flow speed, speed limit, maximum throughput speed (WSDOT now using), and user-defined target speed.
Steps
1) Specify a time range by selecting begin date, end date, and days in a week (Sun. – Sat.).
2) Specify a corridor for delay calculation.
3) Specify a data source (Loop, INRIX, or HERE).
4) Specify a type of reference speed limit for determining whether delay is occurring.
5) Generate speed matrix, volume matrix, actual travel time matrix and reference travel time matrix.
6) Determine delay for each cell in delay matrix and then sum up them.
20
Workflow Chart
Initial state
Delay Calculation
Select Date
Select Begin DateSelect End DateSelect Day of the Week
Get Total Delay
Sum up all cells’vehicle‐delay
Generate Speed Matrix
Speed matrix is generated
Select Data Source
Loop dataINRIX dataHERE data
Select Corridor
Select RouteSelect Start MilepostSelect End Milepost
For each cell in the speed matrix, see if it is below the threshold (default is 85% of speed limit,
and should allow user to change)
NoDelay is zero for the
cell
Yes
Determine delay for each cell relative to the
travel time at the reference speed
Volume matrix (generated from task 2) ×
Email data report
Input Email addressClick 'Email Data Report' button
Figure 12 Workflow chart for vehicle hours-of-delay calculation
21
Dataflow Chart
Loop Data
Load
Data Visualization
Loop data,Corridor data
Date Selection
Date and Weekday Data
Generate speed matrix
Corridor data
Time
Data source types
Determine delay relative to reference
speed
Speed matrix data
Background System
Determine when & where delay occuring
Speeds & segment length
INRIXHERE
Select data source Specify data source
Data source
ThresholdMaximum throughtput
speed
threshold
Display 4 kinds of delay
Vehicle‐hours‐of delayThreshold & speed limit
UserModified threshold
Figure 13 Dataflow chart for vehicle hours-of-delay calculation
22
1.7: GIS Map Changes Detection
Task Description
THIS NEEDS FURTHER INFORMATION AND DISCUSSION. A meeting with WSDOT has
been set up for November 17th to learn how their GIS stores and retrieves change management
information.
Comments
The key here is the desire to have a route-able network, the need to associate that network to the
WSDOT GIS – so that there is an automated way to associate a path with the GIS segments
which make up that path – and the ability to track the changes in spatial attributes described in
the GIS across time.
As Kris pointed out at Thursday’s meeting, one key piece of information that needs to be well
understood and tracked is the difference between the milepost and the ARM (adjusted route a
milepost) for a given location. As part of the Nov. 17th meeting, Mark and Ed will bring back a
more comprehensive discussion of these two referencing systems and how they are used in the
WSDOT GIS system.
1.8: Data Quality Review
Task Description
One key aspect of TRACFLOW is that it has the ability to quickly and visually describe the
quality of data at specific locations. This allows an analyst to choose to use or not use specific
detectors. For specific locations, if a detector is bad, the analyst can move upstream or
downstream one detector location and use the data from that next location in their analysis. For a
travel time, the analyst can remove a bad or suspect detector from the travel time computation in
order to determine the effect that bad (or interpolated) data is having on the travel time
computation.
It is important that DRIVENet have a function that allows a user to quickly understand the
reliability of the data they are about to use.
23
2 Key Challenge Identification
According to the requirement analysis in section 1, the following key issues are identified and
need to be taken into consideration in the solution.
(1) Data format and intermediate table for data storing and retrieving efficiency;
(2) Map acquire and store, including history change stored.
(3) Data quality control for Loop data.
(4) Loop data organized by considering Loop detection, loop group, loop station, cabinet, etc.
(5) Trip routable functionality based on map and loop data.
(6) Travel time/delay calculation method.
(7) Lane identification, corridor definition in map
(8) System security
(9) System performance
24
3 System Design
The new system adopts the “thin-client and fat server” architecture with three basic tiers of Web
application: presentation tier, logic tier, and data tier, as shown in Figure 14. The presentation
tier includes the user interface terminal through which users interact with the application. The
logic tier, which is also called the computational tier, is the core component of the DRIVE Net
system. It performs computations to assist in customized analysis and decision making based on
users’ interactive input. The data tier organizes and supports data requested for analysis.
Normally the client handles the user interface while the server is responsible for the data. The
significant difference between “thin-client and fat server” and “fat-client and thin server” is the
shifted responsibility for the logic/computational tier. In fat server systems, the server fully takes
over the logic/computation tier while the client only hosts the presentation tier for displaying the
user interface and dealing with user interactions.
There are three reasons to adopt the thin-client architecture: First, no plug-in and
installation are required at the client side except a basic browser, which ensures the highest level
of compatibility. Given that the system is designed for customers with constrained network
functions, minimal requirements on the client side are most desirable. Second, there are fewer
security concerns since all the data and computational tasks are manipulated and performed on
the server side, and the client is only responsible for user interaction and results presentation.
Third, mature frameworks for building thin client Web applications could be re-used to boost
development productivity.
The data communication flows in the DRIVE Net system can be summarized as follows:
1. The end-user sends an HTTP(S) request to the Web server.
2. The Web server looks into the request and retrieves the related data information from the data warehouse.
3. The warehouse sends back the requested data and the Web server performs the computational tasks by using either the built-in analytical tools or external statistical modules provided by R Server.
4. If geospatial analysis is involved, the Web server connects to the OpenStreetMap Server and requests the map.
5. Analysis results as well as the map are then returned to the client. The Web browser displays the results or visualizes the returned objects on the map.
25
DRIVENet Web Server
Geospatial Data Transportation Data
Data Sources
Data Quality Control
OpenStreetMap ServerWeb Mapping Service
OpenStreetMap
WSDOT Roadway Geometric data
HPMS
TMC Network
…...
Data fusion
Data Sources
Data Sources
Data fusion
Loop Detectors
Weather
INRIX Speed
WITS
…...
Data fusion
Dynamic RoutingIncident Induced Delay Calculation
Travel Time Performance Measure
Real‐time Traffic
Freight Performance Measure
Corridor Sensor Comparison
Pedestrian Trajectory
Reconstruction
Traffic Emission Evaluation
Freeway Performance Measure
Clien
t Side
Server Side
HTTP(S)
R ServerStatistical Analysis Service
File Importing FTP Downloading External Database Connecting
…...
…...
Figure 14 DRIVE Net 4.0 architecture
26
4 Geospatial Database Design
Because of the increasing amount of study data, multiple servers are configured to archive these
data. To better balance computational resources and allow fast data access, transportation data
and geospatial data are stored separately. The transportation data are managed by Microsoft SQL
Server 2010, and all the databases are indexed and optimized on the basis of projected needs.
However, the traditional method for handling geospatial datasets is to utilize commercial GIS
software packages. Unfortunately, transportation agencies have to spend considerable amounts of
time and financial resources purchasing and maintaining the software. In addition, because most
commercial software is not designed as open architecture, transportation agencies have to
provide the spatial data in strict accordance with the format of GIS files used by the commercial
software. These restrictions incur inconveniences and reduce flexibility for both users and
developers. Moreover, file-based data management systems have inherent disadvantages for
processing tremendous amounts of data efficiently. Fortunately, the emergence of new geospatial
database techniques can alleviate the burden of file-based geospatial data management and
analysis. Similar to the traditional Relational Database Management System (RDBMS),
geospatial databases can optimize the geospatial data management and analysis by using
Structured Query Language (SQL) techniques and spatial indices. In addition, geospatial
databases enable a variety of geo-processing operations that traditional relational, non-spatial
databases cannot complete—for example, whether two polylines intersect, or whether points fall
within a spatial area of interest. For this study, non-spatial relational databases were used to store
traffic-related information such as loop detector data and INRIX data. This created a critical
issue: how to best represent and manage the dynamic transportation data in a context of hybrid
spatial and non-spatial databases. Especially when more and more location-aware transportation
data are available for advancing Big Data initiatives, this issue is becoming more pressing.
For the new system, PostgreSQL with extender PostGIS and pgRouting was adopted to
maintain geo-data and perform spatial modeling, as outlined in Figure 5-2. Those three products
are all free, open source, and well-supported by their active communities. Although some
commercial software such as ArcGIS/ArcServer could perform the same jobs, open source
projects are generally more academic in nature, despite the fact that commercial products usually
27
have expensive license and usage restrictions. The rest of this section introduces more details
about PostgreSQL, PostGIS, and pgRouting.
PostGIS
pgRouting
PostgreSQL
extender
Figure 15 PostgreSQL, PostGIS, and pgRouting
PostgreSQL is a sophisticated and feature-rich object-relational database management
system under an open source license. Its powerful functions and efficient performance make it
the most popular open source database, and it is able to compete against well-known commercial
products such as Oracle, IBM DB2, and Microsoft SQL server. Some advanced and unique
features distinguish it from others, including table inheritance, support for arrays, and multiple-
column aggregate functions. Moreover, the active global community of developers continually
updates PostgreSQL with the latest database technology.
With PostgreSQL as a tabular database, PostGIS is a spatial database extender built on
PostgreSQL. The PostgreSQL/PostGIS combination offers support to store, maintain, and
manipulate geospatial data, making it one of the best choices for spatial analysis. Besides the
geo-data storage extension, PostGIS has nearly 300 geo-processing operators or functions. The
ability to analyze geographic data directly in the database by SQL sets distinguishes PostGIS
from commercial competitors. For example, the following spatial query creates a polygon buffer
with a size of 10,000 feet:
Select ST_Buffer(the_geom, 10000) from county_polygon
28
pgRouting is an extension of PostGIS/PostgreSQL geospatial database that provides a set of
routing-related SQL functions (pgRouting, 2013). Various routing algorithms are supported by
pgRouting, including shortest path Dijkstra, shortest path A* (Hart et al., 1968), shortest path
shooting*, traveling salesperson problems, and driving distance calculation. Meanwhile, its open
source framework makes it convenient for developing and implementing user-specified routing
algorithms. More advanced algorithms such as Multimodal Routing support, Two-Way A*, and
time-dependent/dynamic shortest path will be included in the near future.
29
5 Key Techniques in System Implementation
As mentioned in the previous section, the DRIVE Net architecture has been redesigned to meet
challenges. To reduce costs and boost productivity, multiple open source products are utilized.
Relying on open source products, the DRIVE Net team not only takes advantages of code-
sharing and collaboration with a broad community of developers but also contributes to open
source projects. The core open source products combined into the DRIVE Net system are
explained in the remainder of this section.
5.1 OpenStreetMap and OpenLayers
OpenStreetMap (OSM) is a collaborative project that has created a comprehensive worldwide
map that is free to use and editable. With the outlook that geospatial data should be freely
accessible to the public, University College London established the OSM project in July 2004,
and it is one of the most prominent and famous examples of Volunteered Geographic
Information, a concept introduced by Goodchild. The process of maintaining OSM data is
termed crowdsourcing and is being used by a number of other commercial companies such as
Google and TomTom. In crowdsourcing, a term defined by Brabham as an “online and
distributed problem-solving and production model,” labor-intensive tasks are distributed to large
groups of users, and this has allowed volunteers to create and update geospatial data on the
Internet. By January 2013, OSM had over one million registered contributors and 20,000 active
users worldwide, and the number continues to rise dramatically. Besides governments, OSM has
obtained strong support from commercial companies. For instance, Yahoo Maps made its
vertical aerial imagery available to OSM as a backdrop for map production in 2006, and
Microsoft Bing Maps donated part of its satellite imagery to the OSM in 2010.
One major reason for DRIVE Net to choose OSM is its low cost in comparison to
commercial datasets, as well as its data sharing nature. With the Open Data Commons Open
Database License (ODbL), developers are free to use, distribute, and modify the OSM data as
long as OSM and its contributors are credited. Using OSM to replace Google Maps helps DRIVE
Net avoid potential charges by Google, Inc in the future that might eventually prevent the project
from growing. In addition, in keeping with the theme of eScience, the DRIVE Net developers
prefer open source products over commercial ones because they can help share ideas, drive
innovation, and boost productivity for the entire community.
30
High-resolution and qualitative geographic information makes OSM an appealing
replacement for Google Maps. Recent research confirms the good quality of OSM and its ability
to compete against commercial geodata, especially for urban areas. Zielstra and Hochmair used
the commercial datasets NAVTEQ and TeleAtlas, as well as the freely available dataset
TIGER/Line, to quantify the coverage of OSM in the United States. The results indicated that
“there is strong heterogeneity of OpenStreetMap data for the U.S., in terms of its completeness,”
A similar study was done in Germany by Zielstra and Zipf in 2010. The paper states that some
projects already replaced proprietary data with rich OSM data in larger cities. In the U.K.,
Haklay performed a comparison with the Ordinance Survey (OS) Meridian dataset by evaluating
the accuracy, completeness, and consistency of the positions and attributes. The analysis
concluded that “OSM information can be fairly accurate,” with a positional accuracy of about 6
meters and an approximately 80 percent overlap of motorway objects in comparison to the OS
dataset.
Figure 16 shows how clients dynamically interact with OpenStreetMap in the DRIVE Net
system and the backend processes. When a Web server receives clients’ request for a map, it
transmits the request to the OSM mapping server for retrieving map contents. The OSM mapping
server renders the map with specified geospatial information and sends it back to the Web server.
The Web server then passes the map contents to clients. On the client side, OpenLayers provides
the service to obtain map images from servers and display map tiles on the screen. OpenLayers is
an open-source JavaScript library running on the client side that helps users interact with
dynamic maps from disparate services.
31
OpenLayers
Clients
Request map
OpenStreetMap Database
Receive map
Direct Download
OSM ServerWeb Server
Client Side
Server Side
Figure 16 Communication mechanism for OpenStreetMap
5.2 R and Rserve
R is a free and powerful statistical analysis tool utilized by more than two million people for
machine learning, statistical modeling, and data visualizations. With thousands of active
contributors from academia, R keeps evolving with the latest efficient and innovative algorithms.
Meanwhile, R provides excellent tools for creating graphics, which enable users to gain better
insights via data visualization. Rserve, a TCP/IP server connecting to R, integrates R into the
DRIVE Net system so that it takes full advantages of R’s statistical computation capability.
Several modules in the system use the combination of Rserve and R as the major tool for
statistical analysis and data visualization, as Figure 17 demonstrates. By integrating R and its
countless statistical and graphic packages, DRIVE Net offers an easy and customizable interface
for performing complex analysis and data visualization for users, even those without any
background knowledge of R scripts.
32
Figure 17 Travel time performance measurement
5.3 Role Based Access Control
In computer systems security, role-based access control (RBAC) is an approach to restricting
system access to authorized users, and is also a policy neutral access control mechanism defined
around roles and privileges. The components of RBAC such as role-permissions, user-role and
role-role relationships make it simple to assign access right to users.
Within an organization/platform, roles are created for various functions. The permissions
to perform certain operations are assigned to specific roles. Users are assigned particular roles,
and through those role assignments acquire the computer permissions to perform particular
computer-system functions. Since users are not assigned permissions directly, but only acquire
them through their role (or roles), management of individual user rights becomes a matter of
simply assigning appropriate roles to the user's account; this simplifies common operations, such
as adding a user, or changing a user's department.
Three primary rules are defined for RBAC:
(1) Role assignment: A subject can exercise a permission only if the subject has selected or
been assigned a role.
33
(2) Role authorization: A subject's active role must be authorized for the subject. With rule
(1) above, this rule ensures that users can take on only roles for which they are
authorized.
(3) Permission authorization: A subject can exercise a permission only if the permission is
authorized for the subject's active role. With rules 1 and 2, this rule ensures that users can
exercise only permissions for which they are authorized.
Additional constraints may be applied as well, and roles can be combined in a hierarchy
where higher-level roles subsume permissions owned by sub-roles.
With the concepts of role hierarchy and constraints, one can control RBAC to create or
simulate lattice-based access control (LBAC). Thus RBAC can be considered to be a superset of
LBAC.
When defining an RBAC model, the following conventions are useful:
S = Subject = A person or automated agent
R = Role = Job function or title which defines an authority level
P = Permissions = An approval of a mode of access to a resource
SE = Session = A mapping involving S, R and/or P
SA = Subject Assignment
PA = Permission Assignment
RH = Partially ordered Role Hierarchy. RH can also be written: ≥ (The notation: x ≥ y
means that x inherits the permissions of y.)
o A subject can have multiple roles.
o A role can have multiple subjects.
o A role can have many permissions.
o A permission can be assigned to many roles.
o An operation can be assigned many permissions.
o A permission can be assigned to many operations.
A constraint places a restrictive rule on the potential inheritance of permissions from
opposing roles, thus it can be used to achieve appropriate separation of duties. For example, the
34
same person should not be allowed to both create a login account and to authorize the account
creation.
Thus, using set theory notation:
and is a many to many permission to role assignment relation.
and is a many to many subject to role assignment relation.
In DRIVE Net, a mechanism of RBAC is implemented for access control securely as shown
in following figures.
Figure 18 Add permission
Figure 19 Change role
35
Figure 20 Edit/change role to user
Figure 21 Edit/change permission to role
36
5.4 Data Source Connection Pool
Data source connection pool is efficient way to store, organize, and retrieve data for most
applications using relational database. J2EE components access relational databases through the
JDBC API. For information on this API, see:
http://java.sun.com/docs/books/tutorial/jdbc
In the JDBC API, databases are accessed via DataSource objects. A DataSource has a set
of properties that identify and describe the real world data source that it represents. These
properties include information such as the location of the database server, the name of the
database, the network protocol to use to communicate with the server, and so on. In the
Application Server, a data source is called a JDBC resource.
Applications access a data source using a connection, and a DataSource object can be
thought of as a factory for connections to the particular data source that the DataSource instance
represents. In a basic DataSource implementation, a call to the getConnection method returns a
connection object that is a physical connection to the data source.
If a DataSource object is registered with a JNDI naming service, an application can use
the JNDI API to access that DataSource object, which can then be used to connect to the data
source it represents.
DataSource objects that implement connection pooling also produce a connection to the
particular data source that the DataSource class represents. The connection object that the
getConnection method returns is a handle to a PooledConnection object rather than being a
physical connection. An application uses the connection object in the same way that it uses a
connection. Connection pooling has no effect on application code except that a pooled
connection, like all connections, should always be explicitly closed. When an application closes
a connection that is pooled, the connection is returned to a pool of reusable connections. The
next time getConnection is called, a handle to one of these pooled connections will be returned if
one is available. Because connection pooling avoids creating a new physical connection every
time one is requested, it can help applications run significantly faster.
37
The Application Server is distributed with a connection pool named DerbyPool, which
handles connections to the Derby database server. In this book, all the code examples that access
a database use DataSource objects that are mapped to DerbyPool.
In DRIVE Net, the application of data source connection pool obviously reduces
exceptions and errors when accessing relational database, then improves reliability of the system,
thereby enhances system performance to store and retrieve data.
38
6 Data Quality Control
Data quality control is a significant and fundamental step in DRIVENet for data clean, missing
data imputation, and wrong data correction, etc. In regard to obtain high quality data, following
steps are performed.
6.1 Data Loading
Data loading is completed by a set of functions in a python file named get_data.py, which should
be run using the scripts in a file named load_data.py. There are two functions in the load_data.py
file, loadFromLocal and loadFromURL. loadFromLocal should be used in cases where several
data files have been downloaded manually and need to be read into SQL Server quickly in
parallel. loadFromURL should be used when data files are to be read individually from the
WSDOT data website (http://data.wsdot.wa.gov).
In the general case of day-to-day loading of individual data files from the WSDOT
website, the function loadFromURL should be used. This function downloads .DAT files from a
specified url, and loads them into SQL Server using scripts in the get_data.py file. The
arguments for this function are url_source and dest, which are the url of the source data (i.e.
WSDOT’s data website) and the path to the folder where the files should be downloaded to
respectively. Note that the function must be run multiple times to get the data for all WSDOT
regions, each time with a different source url and destination folder. The destination should be
different because this script checks for a file of the same name before downloading, and WSDOT
has the same file names for each day in the different regions. Similarly, the source url should be
different each time because it is assumed that data files are stored at the top level of the source
url (they should be links), that is, the script only looks for .DAT file links at the source url page,
and does not look in any linked pages.
The loadFromLocal function should be used to load multiple .DAT files from a local
directory. This function parallelizes the loading process across 8 CPU cores (the number can be
changed in the function, but is not entered as an argument). This function may be used, for
example, when a substantial quantity of data has been downloaded or obtained manually and
stored in a local directory, and needs to be uploaded as quickly as possible.
39
6.2 Error Detection
The error detection/correction script is fairly simple. It uses pandas dataframes to hold the data
for a single month and loop detector, and applies a series of checks and corrections for different
error types and sensitivity issues. Parallel execution is performed by enclosing all of the data
acquisition, data inserts, and error checking code into a single function, and then passing a list of
loopids to a pool of workers. Generally, because the sql queries take time without typing up
significant computing resources, it is best to run at least twice as many workers as there are CPU
cores available. THis is accomplished by setting the num_threads value in the getdata_all_par
function, which must be called within a if(__name__==’__main__’) block to prevent recursive
spawning of workers.
This code should be run by executing the getdata_all_par function for a series of months
(or one month). All of the code is in one file. THe error codes are described in the following
subsection.
6.2.1 Error code description (20 second data)
Segmentation:
Volume = 0, occupancy > 0
Applied for all hours of the day
Error code = 1 if not corrected, no error if corrected
Chatter:
Volume threshold
Applied for all hours of the day
Error code 2
Stuck or not reporting data:
Moving standard deviation
Applied only 5:00AM – 10:00 PM
Error code 3, error is left as is if one of the previous filters found an error
40
NULL Values:
Check for null
Applied only 5:00AM – 10:00 PM
Error code is 5 for volume/occupancy is null, 51 for volume is null, and 52 for both are null
Maladjusted sensitivity:
Median free-flow speed threshold
Applied only 5:00AM – 10:00 PM
Sensitivity error code = 3 for loop type other, Sensitivity error code = 1 for maladjusted
sensitivity that is corrected, and Sensitivity error code = 2 for maladjusted sensitivity that is not
corrected (more than 50% off of the expected value, discard). No error code for the loopdata
table.
Volume/occupancy ratio over threshold (reason unknown):
Volume/occupancy ratio threshold
Applied for all hours of the day
Error code 4
Moving median:
Not for error correction, this is for excluding long vehicles
Applied for all hours of the day
Night/evening imputation:
Missing night and evening data is replaced by the weekly median
Applied for the hours from 10:00PM – 5:00AM.
Night NULL values
Null values during night and early morning hours
Applied for the hours from 10:00PM – 5:00AM.
Error code 12
41
Detector health
Less than 50% of daily data is useable according to the previous steps
Applied only 5:00AM – 10:00 PM
Error code 7, the existing error code is appended to error code 7 if non-zero
6.3 Imputation
The imputation code is the most complex of all steps in the quality control process. It uses a
combination of SQL procedures and python code to parallelize the process in multiple ways. The
python code performs imputation for a single loop detector cabinet at a time, though data from
adjacent cabinets is queried to use increase the number of predictor variables available for model
building. The basic calculation steps are as follows:
Execute stored procedure in SQL server to prepare data for imputation by inserting data for a cabinet and month into the SLD_temp_prep table in SQL Server. This is run as a thread, for which a custom class is defined. When no cabinets have been processed yet, the thread is allowed to complete before the code proceeds. Otherwise, the thread is allowed to run in the background while the previous cabinet data is being processed. The class is called prepThread, and is based on the Thread object in the python threading module.
Data is obtained for a particular detector cabinet and month using a stored procedure in SQL Server (impByCab). This procedure is called in the datadf function, and loads the data from the prep table and queries a month of data for the cabinet of interest. A pivot query is used, such that the rows are time intervals and the columns are loop detectors. A missing value map is created, and all missing or error values are filled in with the column-wise mean.
For each loop id for the cabinet of interest, train a random forest model using only the time periods for which the loop detector of interest reports useable data. This is done in parallel, but through the sklearn module in python (i.e. not using custom parallelization code). When model building is complete, pass the trained model and associated data to the loadThread class, which generate predictions and loads the result into SQL Server. This thread is allowed to run while the remaining loops are processed.
The loadThread class updates rows in the SLD_temp table with the imputed quantiles and mean. The getCabinets function is used to get the loopids for the cabinet of interest, to make sure that only data for the loop detectors of interest are updated or imputed. This is important because additional loop detectors are included in the predictor set to improve predictive accuracy, but these loop detectors will not be imputed (until the associated cabinet is passed to the imputerfp function).
42
When all loops of interest have been imputed for a particular cabinet, all data loading threads are allowed to complete before returning the imputerfp function.
Note that model training, data loading, and data preparation work are all running in parallel.
However, the data loading and preparation are run in threads rather than processes, which means
that they share CPU resources with the main thread. Thus, they are only run in parallel because
they are not resource intensive. The resource intensive part, model building, is run on the
maximum number of CPU cores (as processes).
6.4 Sensitivity table (SLD_Sensitivity)
Adjustment factors (column AdjFactor in the SLD_Sensitivity table) represent the expected
volume/occupancy divided by the measured median late night volume/occupancy ratio. Thus, if
the adjustment factor is equal to one, this means that the detector is reporting the expected
freeflow late-night volume/occupancy ratio. If it is less than one, this means that the detector
may be over-sensitive, and conversely that the detector may be under-sensitive if the adjustment
factor is greater than one. The MedVoloc field is simply the median late night or freeflow
volume/occupancy ratio.
The error codes indicate whether the sensitivity is thought to be correctable, and whether the
adjustment factor has been applied to the data. The error codes are listed and defined below:
1. An error code of one (1) indicates that the absolute difference between the median late night volume/occupancy ratio and the expected volume/occupancy ratio is between 10% and 50%. This is considered within the correctable range, and the data reported by all detectors with error code 1 has been adjusted using the adjustment factors in the SLD_Sensitivity table.
2. An error code of two (2) indicates that the absolute difference between the median late night volume/occupancy ratio and the expected volume/occupancy ratio is greater than 50%. This is considered an uncorrectable or unknown issue, and the data reported by detectors with error code 2 is not adjusted.
3. Detectors with error code three (3) are identified as a ramp, queue, or other non-mainline device. Thus, without manual investigation, it is impossible to estimate the expected free flow volume/occupancy ratio, which makes it impossible to develop a reliable adjustment factor. The data reported by detectors with error code 3 is not adjusted.
4. Error code four (4) indicates that insufficient late night or freeflow data was available to compute an adjustment factor. The data reported by detectors with error code 4 is not adjusted.
43
5. Error code five (5) indicates that the sensitivity is within 10% of the expected range, and so no adjustment is needed. The data reported by detectors with error code 5 is not adjusted.
6. Error code 6 indicates that no data was available for that detector, year, and month.
6.5 Daily Quality Control (SLDH_Days)
The SLDH_Days table summarizes daily quality control statistics by date and loop detector. The
columns goodfrac and badhours are defined as follows:
Goodfrac – this is the fraction of data for that loopid and date that is considered useable. This
considers only the observations between the hours of 5:00AM and 10:00PM, and describes the
fraction of data not flagged as an error.
Badhours – this is the number of hours within the day reporting more than 50% useable data.
Again, this considers only the hours between 5:00AM and 10:00PM, and all observations not
flagged as errors as good.
Remove – this is a flag to indicate whether the data should be used or not. It is not currently
being used by the quality control algorithm, but is included to be used in the future.
Voldiff, occdiff – these are included to be used for a quality control step that has not been
completed.
44
7 DatabaseDesignThe database design takes the advantage of both DRIVE Net and TRACFLOW system. The
principles are:
(1) For the raw freeway Loop data storing and retrieving, DRIVE Net database design is
adopted, whereas the way of Loop detector organized in TRACFLOW is considered also.
(2) For the map and routable function, DRIVE Net design is adopted.
(3) For the freeway Loop detector organized and located, TRACFLOW design is adopted.
The details can be seen in following.
7.1. GNC Database Design
dbo.cablinktable_state table
Table 1 dbo.cablinktable_state description
Item Description
Table name dbo.cablinktable_state
Table description
Table 2 dbo.cablinktable_state items
Item Data type Key Not null Description
cabinetid nvarchar(50) N null id
route nvarchar(50) N null route
mp Real N null Milepost
startmp real N null Time
endmp real N null Date
lat real N null latitude
lon real N null longitude
direction nvarchar(50) N null Direction
direction2 nvarchar(50) N null direction
length real N null length
45
dbo.Corridor_Seg table
Table 3 dbo.Corridor_Seg description
Item Description
Table name dbo.Corridor_Seg
Table description Information about corridor segment
Table 4 dbo.Corridor_Seg items
Item Data type Key Not null Description
Corridor_ID float N null corridor id
Route_ID nvarchar(255) N null routeid
Direction nvarchar(255) N null Direction
Start_Cab nvarchar(255) N null
End_cab nvarchar(255) N null
Start_MP float N null Start milepost
End_MP float N null End milepost
Start_amp float N null
End_amp float N null
dbo.Corridors table
Table 5 dbo.Corridors description
Item Description
Table name dbo.Corridors
Table description Record corridor related information
46
Table 6 dbo.Corridors items
Item Data type Key Not null Description
Corridor_ID int N Not null corridor id
Corridor_Name nvarchar(255) N null routeid
Start_MP float N null start milepost
End_MP float N null end milepost
Start_amp float N null
End_amp float N null
corridor_length float N null corridor length
posted_speed float N null speed
Is_HOV nchar(10) N null is this HOV
Is_REV nchar(10) N null Is this REV
Corridor_Name_Original
nvarchar(255) N null Original corridor name
HOV_pair_ID int N null HOV_pairid
Direction_pair_ID int N null
dbo.GNC_Cabinets table
Table 7 dbo.GNC_Cabinets description
Item Description
Table name dbo.GNC_Cabinets
Table description
Table 8 dbo.GNC_Cabinets items
Item Data type Key Not null Description
Corridor_ID varchar(4) N null corridor id
CabName varchar(10) N null
mpDirection varchar(1) N null
Direction varchar(1) N null Direction
Milepost float N null milepost
length float N null length
47
dbo.GNC_Cabinets_GP table
Table 9 dbo.GNC_Cabinets_GP description
Item Description
Table name dbo.GNC_Cabinets_GP
Table description
Table 10 dbo.GNC_Cabinets_GP items
Item Data type Key Not null Description
Corridor_ID varchar(4) N null corridor id
CabName varchar(10) N null
mpDirection varchar(1) N null
Direction varchar(1) N null Direction
Milepost Float N null Milepost
length Float N null Length
dbo.TPPInrixSpeed table
Table 11 dbo.TPPInrixSpeed description
Item Description
Table name dbo.TPPInrixSpeed
Table description
Table 12 dbo.TPPInrixSpeed items
Item Data type Key Not null Description
DateTimeStamp Datetime2(7) Y Not null date stamp
SegmentID Varchar(10) Y Not null 分段标号
Reading smallint N null reading
48
dbo.TPPLocation table
Table 13 dbo.TPPLocation description
Item Description
Table name dbo.TPPLocation
Table description recordTPP location information
Table 14 dbo.TPPLocation items
Item Data type Key Not null Description
Location_ID int N Not null location id
Route_ID nvarchar(255) N null routeid
Direction nvarchar(255) N null Direction
Milepost float N null milepost
Cab_ID nvarchar(255) N null
Rownum int N null
Name char(50) N null name
cablat Numberic(18,9) N null
cablon Numberic(18,9) N null
tmc nvarchar(10) N null TMC
7. 2 FiveMinuteLoopData Database Table Design
dbo.Cabinets table
Table 15 dbo.Cabinets description
Item Description
Table name dbo.Cabinets
Table description
49
Table 16 dbo.Cabinets items
Item Data type Key Not null Description
CabName varchar(10) N null name
UnitType nchar(10) N null Unit type
ID int N null Id
Lat numberic(9,5) N null latitude
Lon numberic(9,5) N null longitude
Route nchar(3) N null Route
Milepost numberic(9,5) N null milepost
direction varchar(1) N null Direction
UnitName char(18) N Not null Unit name
isHOV bit N null Is this HOV
isMetered bit N null Is metered
isDuplicate bit null null Is duplicated
dbo.CabinetYearHealth table
Table 17 dbo.CabinetYearHealth description
Item Description
Table name dbo.CabinetYearHealth
Table description
Table 18 dbo.CabinetYearHealth items
Item Data type Key Not null Description
Year int N Null year
Cabname varchar(10) N Null name
direction char(1) N Null Direction
Mean float N Null Average
Median float N Null Median
STDev float N Null
Error int N Null error
50
dbo.CorrectedData table
Table 19 dbo.CorrectedData description
Item Description
Table name dbo.CorrectedData
Table description record collect data
Table 21 dbo.CorrectedData items
Item Data type Key Not null Description
LOOPID smallint N null Loopid
STAMP datetime N null time stamp
FLAG tinyint N null Flag
VOLUME smallint N null Volume
OCCUPANY smallint N null Occupany
dbo.CorrectedData_test table
Table 21 dbo.CorrectedData_test description
Item Description
Table name dbo.CorrectedData_test
Table description Record test data
Table 22 dbo.CorrectedData_test items
Item Data type Key Not null Description
LOOPID smallint N null Loopid
STAMP datetime N null time stamp
FLAG tinyint N null Flag
VOLUME smallint N null Volume
OCCUPANY smallint N null Occupancy
51
dbo.Corridors table
Table 23 dbo.Corridors description
Item Description
Table name dbo.Corridors
Table description
Table 24 dbo.Corridors items
Item Data type Key Not null Description
CorridorID int corridor id
Origin varchar(255) N null Depart location
Destination varchar(255) N null Destination
Route_ID varchar(255) N null Route
Direction varchar(250) N null Direction of road
dbo.DataQualityControl table
Table 25 dbo.DataQualityControl description
Item Description
Table name dbo.DataQualityControl
Table description Data quality control
52
Table 26 dbo.DataQualityControl items
Item Data type Key Not null Description
LOOPID smallint N null Loopid
YR int N null Year
MON int N null Month
Unittype nchar(10) N null Unit type
RECORDS int N null Record
SHORTRECS int N null
FLAGGED int N null
GOOD bit N null
CF float N null
RecLT13 numberic(26,12) N null
RecLT15 numberic(26,12) N null
FlaggedPer int N null
dbo.GNC_5Min table
Table 27 dbo.GNC_5Min description
Item Description
Table name dbo.GNC_5Min
Table description
53
Table 28 dbo.GNC_5Min items
Item Data type Key Not null Description
Cab_ID varchar(10) Y Not ull id
Stamp datetime Y Not null time stamp
mpdirection varchar(1) Y Not null
DayofWeek int N null weekday
GP_Speed float N null (GP)speed
SP_Health int N null
HOV_Speed float N null (HOV)speed
HOV_Health int N null
EXP_Speed float N null (EXP)speed
EXP_Health int N null
Inrix_Speed float N null (Inrix)speed
dbo.GNC_5Min_HOV_null table
Table 29 dbo.GNC_5Min_HOV_null description
Item Description
Table name dbo.GNC_5Min_HOV_null
Table description
54
Table 30 dbo.GNC_5Min_HOV_null items
Item Data type Key Not null Description
Cab_ID varchar(10) Y Not ull id
Stamp datetime Y Not null time stamp
mpdirection varchar(1) Y Not null
DayofWeek int N null weekday
GP_Speed float N null (GP)speed
SP_Health int N null
HOV_Speed float N null (HOV)speed
HOV_Health int N null
EXP_Speed float N null (EXP)speed
EXP_Health int N null
Inrix_Speed float N null (Inrix)speed
dbo.HOV5 table
Table 31 dbo.HOV5description
Item Description
Table name dbo.HOV5
Table description
Table 32 dbo.HOV5 items
Item Data type Key Not null Description
Stamp Datetime Y Not null time stamp
LoopID Int Y Not null Loopid
CabName varchar(10) N null name
DayOfWeek int N null weekday
Direction varchar(1) N null Direction
HOV_Speed float N null (HOV)speed
55
dbo.Inrix5 table
Table 33 dbo.Inrix5description
Item Description
Table name dbo.Inrix5
Table description
Table 34 dbo.Inrix5 items
Item Data type Key Not null Description
stamp datetime N null time stamp
SegmentID varchar(10) N null segment id
CabName varchar(10) N null name
DayOfWeek int N null weekday
Direction varchar(1) N null Direction
mpdirection varchar(1) N null
InrxSpeed float N null speed
dbo.main5 table
Table 35 dbo.main5 description
Item Description
Table name dbo.main5
Table description
Table 36 dbo.main5 items
Item Data type Key Not null Description
stamp datetime Y Not null time stamp
LoopID int Y Not null segment id
CabName varchar(10) N null name
DayOfWeek int N null weekday
Direction varchar(1) N null Direction
SL_Speed float N null speed
56
dbo.Rev5 table
Table 37 dbo.Rev5description
Item Description
Table name dbo.Rev5
Table description
Table 38 dbo.Rev5 items
Item Data type Key Not null Description
stamp datetime Y Not null time stamp
LoopID int Y Not null segment id
CabName varchar(10) N null name
DayOfWeek int N null weekday
Direction varchar(1) N null Direction
RV_Speed float N null speed
dbo.SLD_5Min_2 table
Table 39 dbo.SLD_5Min_2 description
Item Description
Table name dbo.SLD_5Min_2
Table description
Table 40 dbo.SLD_5Min_2 items
Item Data type Key Not null Description
LOOPID smallint Y Not null Loopid
STAMP datetime Y Not null time stamp
FLAG tinyint N Not null flag
VOLUME smallint N Not null volume
OCCUPANCY smallint N Not null occupancy
PERIODS tinyint N Not null Time interval
57
dbo.STN_5Min_2 table
Table 41 dbo.STN_5Min_2 description
Item Description
Table name dbo.STN_5Min_2
Table description
Table 42 dbo.STN_5Min_2 items
Item Data type Key Not null Description
LOOPID smallint Y Not null Loopid
STAMP datetime Y Not null time stamp
FLAG tinyint N Not null flag
VOLUME smallint N Not null volume
OCCUPANCY smallint N Not null occupancy
PERIODS tinyint N Not null time
NLOOPS tinyint N Not null
dbo.TRAP_5Min_2 table
Table 43 dbo.TRAP_5Min_2 description
Item Description
Table name dbo.TRAP_5Min_2
Table description
58
Table 44 dbo.TRAP_5Min_2 items
Item Data type Key Not null Description
LOOPID smallint Y Not null Loopid
STAMP datetime Y Not null time stamp
FLAG tinyint N Not null flag
AVGSPEED smallint N Not null Average speed
AVGLENGTH Smallint0 N Not null Average length
BIN1 tinyint N Not null
BIN2 tinyint N Not null
BIN3 tinyint N Not null
BIN4 tinyint N Not null
7.3 large_data Database Table Design
dbo.CabData table
Table 45 dbo.CabData description
Item Description
Table name dbo.CabData
Table description
Table 46 dbo.CabData items
Item Data type Key Not null Description
Cabinet char(10) Y Not null name
Direction char(1) Y Not null Direction
NextCabinet decimal(9,4) N null next
59
dbo.Cabinet_direction table
Table 47 dbo.Cabinet_direction description
Item Description
Table name dbo.Cabinet_direction
Table description
Table 48 dbo.Cabinet_direction items
Item Data type Key Not null Description
Cabname varchar(10) N null name
UnitType nchar(10) N null Unit type
ID int N null Id
Lat numberic(18,9) N null latitude
Lon numberic(18,9) N null longitude
Route nchar(10) N null Route
Milepost numberic(9,5) N null milepost
direction varchar(1) N null Direction
UnitName char(18) N Not null Unit name
mpdirection varchar(1) N null
dbo.Cabinets table
Table 49 dbo.Cabinets description
Item Description
Table name dbo.Cabinets
Table description record collect data
60
Table 50 dbo.Cabinets items
Item Data type Key Not null Description
CabNme varchar(10) N null name
UnitType nchar(10) N null 单元type
ID int N Not null id
Lat numberic(18,9) N null latitude
Lon numberic(18,9) N null longitude
Route nchar(3) N null route
Milepost numberic(9,5) N null milepost
direction varchar(1) N null Direction
UnitName char(18) N Not null Unit name
isHOV bit N null Is this HOV
isMetered bit N null Is metered
isDuplicate bit N null Is duplicate
isReversible bit N null Is reversible
isAuxillary bit N null Is auxiliary
isCollector bit N null Is collector
dbo.CF table
Table 51 dbo.CF description
Item Description
Table name dbo.CF
Table description
Table 52 dbo.CF items
Item Data type Key Not null Description
loopid int Y Not null Loopid
Year int Y Not null year
month int Y Not null month
CF float N null
Good bit N null
Error int N Not null
61
dbo.Directiontable table
Table 53 dbo.Directiontable description
Item Description
Table name dbo.Directiontable
Table description
Table 54 dbo.Directiontable items
Item Data type Key Not null Description
CabName varchar(10) N null name
Route nchar(3) N null route
direction varchar(1) N null Direction
mpdirection varchar(1) N null
CabID int N null id
dbo.Directiontable_state table
Table 55 dbo.Directiontable_state description
Item Description
Table name dbo.Directiontable_state
Table description
Table 56 dbo.Directiontable_state items
Item Data type Key Not null Description
CabName varchar(10) N null name
Route nchar(3) N null route
direction varchar(1) N null Direction
mpdirection varchar(1) N null
62
dbo.GNC_5Min table
Table 57 dbo.GNC_5Min description
Item Description
Table name dbo.GNC_5Min
Table description
Table 58 dbo.GNC_5Min items
Item Data type Key Not null Description
Cab_ID varchar(10) Y Not ull id
Stamp datetime Y Not null time stamp
mpdirection varchar(1) Y Not null
DayofWeek int N null weekday
GP_Speed float N null (GP)speed
SP_Health int N null
HOV_Speed float N null (HOV)speed
HOV_Health int N null
EXP_Speed float N null (EXP)speed
EXP_Health int N null
Inrix_Speed float N null (Inrix)speed
dbo.GNC_Cabinets table
Table 59 dbo.GNC_Cabinets description
Item Description
Table name dbo.GNC_Cabinets
Table description
63
Table 60 dbo.GNC_Cabinets items
Item Data type Key Not null Description
Corridor_ID varchar(4) N Not ull corridor id
CabName varchar(10) N Not null Cabname
mpdirection varchar(1) N null
Direction varchar(1) N null Direction
MilePost float N null milepost
dbo.GNC_Corridor_Seg table
Table 61 dbo.GNC_Corridor_Seg description
Item Description
Table name dbo.GNC_Corridor_Seg
Table description
Table 62 dbo.GNC_Corridor_Seg items
Item Data type Key Not null Description
Corridor_ID float N null corridor id
Route_ID nvarchar(255) N null routeid
Direction nvarchar(255) N null Direction
Start_Cab nvarchar(255) N null start point
End_Cab nvarchar(255) N null end point
Start_MP float N null start milepost
End_MP float N null end milepost
Start_amp float N null
End_amp float N null
64
dbo.GNC_Corridors table
Table 63 dbo.GNC_Corridors description
Item Description
Table name dbo.GNC_Corridors
Table description
Table 64 dbo.GNC_Corridors items
Item Data type Key Not null Description
Corridor_ID float N Not null id
Corridor_Name nvarchar(255) N null name
Start_MP float N null start milepost
End_MP float N null end milepost
Start_amp float N null
End_amp float N null
corridor_length float N null corridor length
posted_speed float N null speed
dbo.GNC_TPPLocation table
Table 65 dbo.GNC_TPPLocation description
Item Description
Table name dbo.GNC_TPPLocation
Table description
65
Table 66 dbo.GNC_TPPLocation items
Item Data type Key Not null Description
Location_ID int N Not null location id
Route_ID nvarchar(255) N null routeid
Direction nvarchar(255) N null direction
Milepost float N null milepost
Cab_ID nvarchar(255) N null
Rownum int N null
Name char(50) N null name
cablat Numberic(18,9) N null
cablon Numberic(18,9) N null
tmc nvarchar(10) N null TMC
dbo.GoodDualLoops table
Table 67 dbo.GoodDualLoops description
Item Description
Table name dbo.GoodDualLoops
Table description
Table 68 dbo.GoodDualLoops items
Item Data type Key Not null Description
DualLoopID int Y Not null id
Year smallint Y Not null year
Month tinyint Y Not null month
MainLoopId int N null Main loop id
SpeedLoopID int N null
GoodMainLoop bit N null
GoodSpeedLoop bot N null
GoodDualLoop bit N null
DualLoopName char(10) N null
66
dbo.hcm_cab table
Table 69 dbo.hcm_cab description
Item Description
Table name dbo.hcm_cab
Table description
Table 70 dbo.hcm_cab items
Item Data type Key Not null Description
objectid varchar(50) N null
cabinetid varchar(50) Y null
dbo.InrixAs table
Table 71 dbo.InrixAs description
Item Description
Table name dbo.InrixAs
Table description
Table 72 dbo.InrixAs items
Item Data type Key Not null Description
CabName varchar(10) N Not null name
Decreasing_Tmc varchar(9) N Not null Decrease of TMC
Increasing_Tmc varchar(9) N Not null Increment of TMC
dbo.MeterData table
Table 73 dbo.MeterData description
Item Description
Table name dbo.MeterData
Table description
67
Table 74 dbo.MeterData items
Item Data type Key Not null Description
LOOPID smallint Y Not null Loopid
STAMP datetime2(3) Y Not null time stamp
Meter tinyint N Not null Measurement
REDVIOLATOR tinyint N Not null
STATUS tinyint N Not null status
dbo.RoadwayMpLatLon table
Table 75 dbo.RoadwayMpLatLon description
Item Description
Table name dbo.RoadwayMpLatLon
Table description
Table 76 dbo.RoadwayMpLatLon items
Item Data type Key Not null Description
Route nchar(3) N null route
Milepost numberic(9,5) N null milepost
Lat numberic(9,5) N Not null latitude
Lon numberic(9,5) N Not null longitude
dbo.route_Lookup table
Table 77 dbo.route_Lookup description
Item Description
Table name dbo.route_Lookup
Table description
68
Table 78 dbo.route_Lookup items
Item Data type Key Not null Description
RouteName varchar(6) Y null routename
RouteNum varchar(3) Y null routeid
dbo.SingleLoopByRoad table
Table 79 dbo.SingleLoopByRoad description
Item Description
Table name dbo.SingleLoopByRoad
Table description
Table 80 dbo.SingleLoopByRoad items
Item Data type Key Not null Description
stamp datetime N Not null time stamp
CabID int N Not null Cabid
Speed float N null speed
Volume int N null volume
dbo.SingleLoopData table
Table 81 dbo.SingleLoopData description
Item Description
Table name dbo.SingleLoopData
Table description
69
Table 82 dbo.SingleLoopData items
Item Data type Key Not null Description
LOOPID smallint Y Not null Loopid
STAMP datetime2(3) Y Not null time stamp
INCIDENT tinyint N Not null Incident
DATA tinyint N Not null Data
FLAG tinyint N Not null Flag
VOLUME tinyint N Not null volume
SCAN tinyint N Not null Scan
dbo.Temp_Meter table
Table 83 dbo.Temp_Meter description
Item Description
Table name dbo.Temp_Meter
Table description
Table 84 dbo.Temp_Meter items
Item Data type Key Not null Description
LOOPID smallint Y Not null Loopid
STAMP datetime2(3) Y Not null time stamp
Meter tinyint N Not null Measurement
REDVIOLATOR tinyint N Not null
STATUS tinyint N Not null status
dbo.Temp_SLD1 table
Table 85 dbo.Temp_SLD1description
Item Description
Table name dbo.Temp_SLD1
Table description
70
Table 86 dbo.Temp_SLD1 items
Item Data type Key Not null Description
LOOPID smallint Y Not null Loopid
STAMP datetime2(3) Y Not null time stamp
INCIDENT tinyint N Not null Incident
DATA tinyint N Not null Data
FLAG tinyint N Not null Flag
VOLUME tinyint N Not null volume
SCAN tinyint N Not null Scan
dbo.Temp_SLD2 table
Table 87 dbo.Temp_SLD2 description
Item Description
Table name dbo.Temp_SLD2
Table description
Table 88 dbo.Temp_SLD2 items
Item Data type Key Not null Description
LOOPID smallint Y Not null Loopid
STAMP datetime2(3) Y Not null time stamp
INCIDENT tinyint N Not null Incident
DATA tinyint N Not null Data
FLAG tinyint N Not null Flag
VOLUME tinyint N Not null volume
SCAN tinyint N Not null Scan
71
dbo.Temp_STN table
Table 89 dbo.Temp_STN description
Item Description
Table name dbo.Temp_STN
Table description
Table 90 dbo.Temp_STN items
Item Data type Key Not null Description
LOOPID smallint Y Not null Loopid
STAMP datetime2(3) Y Not null time stamp
INCIDENT tinyint N Not null Incident
DATA tinyint N Not null Data
FLAG tinyint N Not null Flag
VOLUME tinyint N Not null volume
SCAN tinyint N Not null Scan
dbo.Temp_Trap table
Table 91 dbo.Temp_Trap description
Item Description
Table name dbo.Temp_Trap
Table description
72
Table 92 dbo.Temp_Trap items
Item Data type Key Not null Description
LOOPID smallint Y Not null Loopid
STAMP datetime2(3) Y Not null time stamp
FLAGS tinyint N Not null Flag
FLAG2 tinyint N Not null flag2
SPEED tinyint N Not null Speed
LENGTH smallint N Not null length
BIN1 tinyint N Not null
BIN2 tinyint N Not null
BIN3 tinyint N Not null
BIN4 tinyint N Not null
dbo.testcablinktable table
Table 93 dbo.testcab link table description
Item Description
Table name dbo.testcab link table
Table description
Table 94 dbo.testcab link table items
Item Data type Key Not null Description
cabinetid varchar(50) N null id
route varchar(50) N null route
mp varchar(50) N null milepost
startmp varchar(50) N null start milepost
endmp varchar(50) N null end milepost
lat varchar(50) N null latitude
lon varchar(50) N null longitude
direction varchar(50) N null Direction
73
dbo.TrapData table
Table 95 dbo.TrapData description
Item Description
Table name dbo.TrapData
Table description
Table 96 dbo.TrapData items
Item Data type Key Not null Description
LOOPID smallint Y Not null Loopid
STAMP datetime2(3) Y Not null time stamp
FLAGS tinyint N Not null flag
FLAG2 tinyint N Not null flag2
SPEED tinyint N Not null speed
LENGTH smallint N Not null length
BIN1 tinyint N Not null
BIN2 tinyint N Not null
BIN3 tinyint N Not null
BIN4 tinyint N Not null
dbo.TTSecondData table
Table 97 dbo.TTSecondData description
Item Description
Table name dbo.TTSecondData
Table description
74
Table 98 dbo.TTSecondData items
Item Data type Key Not null Description
stamp datetime N null time stamp
loopid smallint N null Loopid
Voloc int N null
Volume int N null volume
VolocBound float N null
VolumeBound float N null
Error smallint N null
missVoloc tinyint N null
missVolume tinyint N null
7.4 Table Migration from TRACFLOW
The structure and relationship of LOOP, Loopgroup, cabinet, region, and edge work well in
TRACFLOW and will also be migrated into DRIVENet.
The routable function in DRIVENet works well, so that it will be used continually in new
project.
75
76
77
78
Americans with Disabilities Act (ADA) Information: This material can be made available in an alternate format by emailing the Office of Equal Opportunity at [email protected] or by calling toll free, 855-362-4ADA(4232). Persons who are deaf or hard of hearing may make a request by calling the Washington State Relay at 711.
Title VI Statement to Public: It is the Washington State Department of Transportation’s (WSDOT) policy to assure that no person shall, on the grounds of race, color, national origin or sex, as provided by Title VI of the Civil Rights Act of 1964, be excluded from participation in, be denied the benefits of, or be otherwise discriminated against under any of its federally funded programs and activities. Any person who believes his/her Title VI protection has been violated, may file a complaint with WSDOT’s Office of Equal Opportunity (OEO). For additional information regarding Title VI complaint procedures and/or information regarding our non-discrimination obligations, please contact OEO’s Title VI Coordinator at (360) 705-7082.