Implementing the Routine Computation and Use of Roadway ...1. REPORT NO. 2. GOVERNMENT ACCESSION NO....

96
Office of Research & Library Services WSDOT Research Report Implemenng the Roune Computaon and Use of Roadway Performance Measures within WSDOT WA-RD 873.2 August 2017 17-10-0425 Weibin Zhang Appendix A: TRACFLOW Migraon: Architecture and Implementaon

Transcript of Implementing the Routine Computation and Use of Roadway ...1. REPORT NO. 2. GOVERNMENT ACCESSION NO....

Page 1: Implementing the Routine Computation and Use of Roadway ...1. REPORT NO. 2. GOVERNMENT ACCESSION NO. 3. RECIPIENT'S CATALOG NO. WA-RD 873.2 4. TITLE AND SUBTITLE 5. REPORT DATE Implementing

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

Page 2: Implementing the Routine Computation and Use of Roadway ...1. REPORT NO. 2. GOVERNMENT ACCESSION NO. 3. RECIPIENT'S CATALOG NO. WA-RD 873.2 4. TITLE AND SUBTITLE 5. REPORT DATE Implementing

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

Page 3: Implementing the Routine Computation and Use of Roadway ...1. REPORT NO. 2. GOVERNMENT ACCESSION NO. 3. RECIPIENT'S CATALOG NO. WA-RD 873.2 4. TITLE AND SUBTITLE 5. REPORT DATE Implementing
Page 4: Implementing the Routine Computation and Use of Roadway ...1. REPORT NO. 2. GOVERNMENT ACCESSION NO. 3. RECIPIENT'S CATALOG NO. WA-RD 873.2 4. TITLE AND SUBTITLE 5. REPORT DATE Implementing

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

Page 5: Implementing the Routine Computation and Use of Roadway ...1. REPORT NO. 2. GOVERNMENT ACCESSION NO. 3. RECIPIENT'S CATALOG NO. WA-RD 873.2 4. TITLE AND SUBTITLE 5. REPORT DATE Implementing
Page 6: Implementing the Routine Computation and Use of Roadway ...1. REPORT NO. 2. GOVERNMENT ACCESSION NO. 3. RECIPIENT'S CATALOG NO. WA-RD 873.2 4. TITLE AND SUBTITLE 5. REPORT DATE Implementing

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.

Page 7: Implementing the Routine Computation and Use of Roadway ...1. REPORT NO. 2. GOVERNMENT ACCESSION NO. 3. RECIPIENT'S CATALOG NO. WA-RD 873.2 4. TITLE AND SUBTITLE 5. REPORT DATE Implementing

iv

Page 8: Implementing the Routine Computation and Use of Roadway ...1. REPORT NO. 2. GOVERNMENT ACCESSION NO. 3. RECIPIENT'S CATALOG NO. WA-RD 873.2 4. TITLE AND SUBTITLE 5. REPORT DATE Implementing

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

Page 9: Implementing the Routine Computation and Use of Roadway ...1. REPORT NO. 2. GOVERNMENT ACCESSION NO. 3. RECIPIENT'S CATALOG NO. WA-RD 873.2 4. TITLE AND SUBTITLE 5. REPORT DATE Implementing

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

Page 10: Implementing the Routine Computation and Use of Roadway ...1. REPORT NO. 2. GOVERNMENT ACCESSION NO. 3. RECIPIENT'S CATALOG NO. WA-RD 873.2 4. TITLE AND SUBTITLE 5. REPORT DATE Implementing

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

Page 11: Implementing the Routine Computation and Use of Roadway ...1. REPORT NO. 2. GOVERNMENT ACCESSION NO. 3. RECIPIENT'S CATALOG NO. WA-RD 873.2 4. TITLE AND SUBTITLE 5. REPORT DATE Implementing

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 

Page 12: Implementing the Routine Computation and Use of Roadway ...1. REPORT NO. 2. GOVERNMENT ACCESSION NO. 3. RECIPIENT'S CATALOG NO. WA-RD 873.2 4. TITLE AND SUBTITLE 5. REPORT DATE Implementing

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

Page 13: Implementing the Routine Computation and Use of Roadway ...1. REPORT NO. 2. GOVERNMENT ACCESSION NO. 3. RECIPIENT'S CATALOG NO. WA-RD 873.2 4. TITLE AND SUBTITLE 5. REPORT DATE Implementing

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

Page 14: Implementing the Routine Computation and Use of Roadway ...1. REPORT NO. 2. GOVERNMENT ACCESSION NO. 3. RECIPIENT'S CATALOG NO. WA-RD 873.2 4. TITLE AND SUBTITLE 5. REPORT DATE Implementing

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

Page 15: Implementing the Routine Computation and Use of Roadway ...1. REPORT NO. 2. GOVERNMENT ACCESSION NO. 3. RECIPIENT'S CATALOG NO. WA-RD 873.2 4. TITLE AND SUBTITLE 5. REPORT DATE Implementing

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

Page 16: Implementing the Routine Computation and Use of Roadway ...1. REPORT NO. 2. GOVERNMENT ACCESSION NO. 3. RECIPIENT'S CATALOG NO. WA-RD 873.2 4. TITLE AND SUBTITLE 5. REPORT DATE Implementing

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

Page 17: Implementing the Routine Computation and Use of Roadway ...1. REPORT NO. 2. GOVERNMENT ACCESSION NO. 3. RECIPIENT'S CATALOG NO. WA-RD 873.2 4. TITLE AND SUBTITLE 5. REPORT DATE Implementing

xiv

Page 18: Implementing the Routine Computation and Use of Roadway ...1. REPORT NO. 2. GOVERNMENT ACCESSION NO. 3. RECIPIENT'S CATALOG NO. WA-RD 873.2 4. TITLE AND SUBTITLE 5. REPORT DATE Implementing

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.

Page 19: Implementing the Routine Computation and Use of Roadway ...1. REPORT NO. 2. GOVERNMENT ACCESSION NO. 3. RECIPIENT'S CATALOG NO. WA-RD 873.2 4. TITLE AND SUBTITLE 5. REPORT DATE Implementing

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

Page 20: Implementing the Routine Computation and Use of Roadway ...1. REPORT NO. 2. GOVERNMENT ACCESSION NO. 3. RECIPIENT'S CATALOG NO. WA-RD 873.2 4. TITLE AND SUBTITLE 5. REPORT DATE Implementing

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.

Page 21: Implementing the Routine Computation and Use of Roadway ...1. REPORT NO. 2. GOVERNMENT ACCESSION NO. 3. RECIPIENT'S CATALOG NO. WA-RD 873.2 4. TITLE AND SUBTITLE 5. REPORT DATE Implementing

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

Page 22: Implementing the Routine Computation and Use of Roadway ...1. REPORT NO. 2. GOVERNMENT ACCESSION NO. 3. RECIPIENT'S CATALOG NO. WA-RD 873.2 4. TITLE AND SUBTITLE 5. REPORT DATE Implementing

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

Page 23: Implementing the Routine Computation and Use of Roadway ...1. REPORT NO. 2. GOVERNMENT ACCESSION NO. 3. RECIPIENT'S CATALOG NO. WA-RD 873.2 4. TITLE AND SUBTITLE 5. REPORT DATE Implementing

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

Page 24: Implementing the Routine Computation and Use of Roadway ...1. REPORT NO. 2. GOVERNMENT ACCESSION NO. 3. RECIPIENT'S CATALOG NO. WA-RD 873.2 4. TITLE AND SUBTITLE 5. REPORT DATE Implementing

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

Page 25: Implementing the Routine Computation and Use of Roadway ...1. REPORT NO. 2. GOVERNMENT ACCESSION NO. 3. RECIPIENT'S CATALOG NO. WA-RD 873.2 4. TITLE AND SUBTITLE 5. REPORT DATE Implementing

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

Page 26: Implementing the Routine Computation and Use of Roadway ...1. REPORT NO. 2. GOVERNMENT ACCESSION NO. 3. RECIPIENT'S CATALOG NO. WA-RD 873.2 4. TITLE AND SUBTITLE 5. REPORT DATE Implementing

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).

Page 27: Implementing the Routine Computation and Use of Roadway ...1. REPORT NO. 2. GOVERNMENT ACCESSION NO. 3. RECIPIENT'S CATALOG NO. WA-RD 873.2 4. TITLE AND SUBTITLE 5. REPORT DATE Implementing

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

Page 28: Implementing the Routine Computation and Use of Roadway ...1. REPORT NO. 2. GOVERNMENT ACCESSION NO. 3. RECIPIENT'S CATALOG NO. WA-RD 873.2 4. TITLE AND SUBTITLE 5. REPORT DATE Implementing

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

Page 29: Implementing the Routine Computation and Use of Roadway ...1. REPORT NO. 2. GOVERNMENT ACCESSION NO. 3. RECIPIENT'S CATALOG NO. WA-RD 873.2 4. TITLE AND SUBTITLE 5. REPORT DATE Implementing

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?)

Page 30: Implementing the Routine Computation and Use of Roadway ...1. REPORT NO. 2. GOVERNMENT ACCESSION NO. 3. RECIPIENT'S CATALOG NO. WA-RD 873.2 4. TITLE AND SUBTITLE 5. REPORT DATE Implementing

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.

Page 31: Implementing the Routine Computation and Use of Roadway ...1. REPORT NO. 2. GOVERNMENT ACCESSION NO. 3. RECIPIENT'S CATALOG NO. WA-RD 873.2 4. TITLE AND SUBTITLE 5. REPORT DATE Implementing

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

Page 32: Implementing the Routine Computation and Use of Roadway ...1. REPORT NO. 2. GOVERNMENT ACCESSION NO. 3. RECIPIENT'S CATALOG NO. WA-RD 873.2 4. TITLE AND SUBTITLE 5. REPORT DATE Implementing

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

Page 33: Implementing the Routine Computation and Use of Roadway ...1. REPORT NO. 2. GOVERNMENT ACCESSION NO. 3. RECIPIENT'S CATALOG NO. WA-RD 873.2 4. TITLE AND SUBTITLE 5. REPORT DATE Implementing

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.

Page 34: Implementing the Routine Computation and Use of Roadway ...1. REPORT NO. 2. GOVERNMENT ACCESSION NO. 3. RECIPIENT'S CATALOG NO. WA-RD 873.2 4. TITLE AND SUBTITLE 5. REPORT DATE Implementing

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

Page 35: Implementing the Routine Computation and Use of Roadway ...1. REPORT NO. 2. GOVERNMENT ACCESSION NO. 3. RECIPIENT'S CATALOG NO. WA-RD 873.2 4. TITLE AND SUBTITLE 5. REPORT DATE Implementing

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

Page 36: Implementing the Routine Computation and Use of Roadway ...1. REPORT NO. 2. GOVERNMENT ACCESSION NO. 3. RECIPIENT'S CATALOG NO. WA-RD 873.2 4. TITLE AND SUBTITLE 5. REPORT DATE Implementing

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.

Page 37: Implementing the Routine Computation and Use of Roadway ...1. REPORT NO. 2. GOVERNMENT ACCESSION NO. 3. RECIPIENT'S CATALOG NO. WA-RD 873.2 4. TITLE AND SUBTITLE 5. REPORT DATE Implementing

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

Page 38: Implementing the Routine Computation and Use of Roadway ...1. REPORT NO. 2. GOVERNMENT ACCESSION NO. 3. RECIPIENT'S CATALOG NO. WA-RD 873.2 4. TITLE AND SUBTITLE 5. REPORT DATE Implementing

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

Page 39: Implementing the Routine Computation and Use of Roadway ...1. REPORT NO. 2. GOVERNMENT ACCESSION NO. 3. RECIPIENT'S CATALOG NO. WA-RD 873.2 4. TITLE AND SUBTITLE 5. REPORT DATE Implementing

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.

Page 40: Implementing the Routine Computation and Use of Roadway ...1. REPORT NO. 2. GOVERNMENT ACCESSION NO. 3. RECIPIENT'S CATALOG NO. WA-RD 873.2 4. TITLE AND SUBTITLE 5. REPORT DATE Implementing

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

Page 41: Implementing the Routine Computation and Use of Roadway ...1. REPORT NO. 2. GOVERNMENT ACCESSION NO. 3. RECIPIENT'S CATALOG NO. WA-RD 873.2 4. TITLE AND SUBTITLE 5. REPORT DATE Implementing

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.

Page 42: Implementing the Routine Computation and Use of Roadway ...1. REPORT NO. 2. GOVERNMENT ACCESSION NO. 3. RECIPIENT'S CATALOG NO. WA-RD 873.2 4. TITLE AND SUBTITLE 5. REPORT DATE Implementing

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

Page 43: Implementing the Routine Computation and Use of Roadway ...1. REPORT NO. 2. GOVERNMENT ACCESSION NO. 3. RECIPIENT'S CATALOG NO. WA-RD 873.2 4. TITLE AND SUBTITLE 5. REPORT DATE Implementing

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

Page 44: Implementing the Routine Computation and Use of Roadway ...1. REPORT NO. 2. GOVERNMENT ACCESSION NO. 3. RECIPIENT'S CATALOG NO. WA-RD 873.2 4. TITLE AND SUBTITLE 5. REPORT DATE Implementing

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

Page 45: Implementing the Routine Computation and Use of Roadway ...1. REPORT NO. 2. GOVERNMENT ACCESSION NO. 3. RECIPIENT'S CATALOG NO. WA-RD 873.2 4. TITLE AND SUBTITLE 5. REPORT DATE Implementing

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.

Page 46: Implementing the Routine Computation and Use of Roadway ...1. REPORT NO. 2. GOVERNMENT ACCESSION NO. 3. RECIPIENT'S CATALOG NO. WA-RD 873.2 4. TITLE AND SUBTITLE 5. REPORT DATE Implementing

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.

Page 47: Implementing the Routine Computation and Use of Roadway ...1. REPORT NO. 2. GOVERNMENT ACCESSION NO. 3. RECIPIENT'S CATALOG NO. WA-RD 873.2 4. TITLE AND SUBTITLE 5. REPORT DATE Implementing

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.

Page 48: Implementing the Routine Computation and Use of Roadway ...1. REPORT NO. 2. GOVERNMENT ACCESSION NO. 3. RECIPIENT'S CATALOG NO. WA-RD 873.2 4. TITLE AND SUBTITLE 5. REPORT DATE Implementing

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.

Page 49: Implementing the Routine Computation and Use of Roadway ...1. REPORT NO. 2. GOVERNMENT ACCESSION NO. 3. RECIPIENT'S CATALOG NO. WA-RD 873.2 4. TITLE AND SUBTITLE 5. REPORT DATE Implementing

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.

Page 50: Implementing the Routine Computation and Use of Roadway ...1. REPORT NO. 2. GOVERNMENT ACCESSION NO. 3. RECIPIENT'S CATALOG NO. WA-RD 873.2 4. TITLE AND SUBTITLE 5. REPORT DATE Implementing

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

Page 51: Implementing the Routine Computation and Use of Roadway ...1. REPORT NO. 2. GOVERNMENT ACCESSION NO. 3. RECIPIENT'S CATALOG NO. WA-RD 873.2 4. TITLE AND SUBTITLE 5. REPORT DATE Implementing

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

Page 52: Implementing the Routine Computation and Use of Roadway ...1. REPORT NO. 2. GOVERNMENT ACCESSION NO. 3. RECIPIENT'S CATALOG NO. WA-RD 873.2 4. TITLE AND SUBTITLE 5. REPORT DATE Implementing

35

Figure 20 Edit/change role to user

Figure 21 Edit/change permission to role

Page 53: Implementing the Routine Computation and Use of Roadway ...1. REPORT NO. 2. GOVERNMENT ACCESSION NO. 3. RECIPIENT'S CATALOG NO. WA-RD 873.2 4. TITLE AND SUBTITLE 5. REPORT DATE Implementing

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.

Page 54: Implementing the Routine Computation and Use of Roadway ...1. REPORT NO. 2. GOVERNMENT ACCESSION NO. 3. RECIPIENT'S CATALOG NO. WA-RD 873.2 4. TITLE AND SUBTITLE 5. REPORT DATE Implementing

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.

Page 55: Implementing the Routine Computation and Use of Roadway ...1. REPORT NO. 2. GOVERNMENT ACCESSION NO. 3. RECIPIENT'S CATALOG NO. WA-RD 873.2 4. TITLE AND SUBTITLE 5. REPORT DATE Implementing

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.

Page 56: Implementing the Routine Computation and Use of Roadway ...1. REPORT NO. 2. GOVERNMENT ACCESSION NO. 3. RECIPIENT'S CATALOG NO. WA-RD 873.2 4. TITLE AND SUBTITLE 5. REPORT DATE Implementing

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

Page 57: Implementing the Routine Computation and Use of Roadway ...1. REPORT NO. 2. GOVERNMENT ACCESSION NO. 3. RECIPIENT'S CATALOG NO. WA-RD 873.2 4. TITLE AND SUBTITLE 5. REPORT DATE Implementing

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

Page 58: Implementing the Routine Computation and Use of Roadway ...1. REPORT NO. 2. GOVERNMENT ACCESSION NO. 3. RECIPIENT'S CATALOG NO. WA-RD 873.2 4. TITLE AND SUBTITLE 5. REPORT DATE Implementing

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).

Page 59: Implementing the Routine Computation and Use of Roadway ...1. REPORT NO. 2. GOVERNMENT ACCESSION NO. 3. RECIPIENT'S CATALOG NO. WA-RD 873.2 4. TITLE AND SUBTITLE 5. REPORT DATE Implementing

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.

Page 60: Implementing the Routine Computation and Use of Roadway ...1. REPORT NO. 2. GOVERNMENT ACCESSION NO. 3. RECIPIENT'S CATALOG NO. WA-RD 873.2 4. TITLE AND SUBTITLE 5. REPORT DATE Implementing

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.

Page 61: Implementing the Routine Computation and Use of Roadway ...1. REPORT NO. 2. GOVERNMENT ACCESSION NO. 3. RECIPIENT'S CATALOG NO. WA-RD 873.2 4. TITLE AND SUBTITLE 5. REPORT DATE Implementing

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

Page 62: Implementing the Routine Computation and Use of Roadway ...1. REPORT NO. 2. GOVERNMENT ACCESSION NO. 3. RECIPIENT'S CATALOG NO. WA-RD 873.2 4. TITLE AND SUBTITLE 5. REPORT DATE Implementing

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

Page 63: Implementing the Routine Computation and Use of Roadway ...1. REPORT NO. 2. GOVERNMENT ACCESSION NO. 3. RECIPIENT'S CATALOG NO. WA-RD 873.2 4. TITLE AND SUBTITLE 5. REPORT DATE Implementing

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

Page 64: Implementing the Routine Computation and Use of Roadway ...1. REPORT NO. 2. GOVERNMENT ACCESSION NO. 3. RECIPIENT'S CATALOG NO. WA-RD 873.2 4. TITLE AND SUBTITLE 5. REPORT DATE Implementing

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

Page 65: Implementing the Routine Computation and Use of Roadway ...1. REPORT NO. 2. GOVERNMENT ACCESSION NO. 3. RECIPIENT'S CATALOG NO. WA-RD 873.2 4. TITLE AND SUBTITLE 5. REPORT DATE Implementing

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

Page 66: Implementing the Routine Computation and Use of Roadway ...1. REPORT NO. 2. GOVERNMENT ACCESSION NO. 3. RECIPIENT'S CATALOG NO. WA-RD 873.2 4. TITLE AND SUBTITLE 5. REPORT DATE Implementing

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

Page 67: Implementing the Routine Computation and Use of Roadway ...1. REPORT NO. 2. GOVERNMENT ACCESSION NO. 3. RECIPIENT'S CATALOG NO. WA-RD 873.2 4. TITLE AND SUBTITLE 5. REPORT DATE Implementing

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

Page 68: Implementing the Routine Computation and Use of Roadway ...1. REPORT NO. 2. GOVERNMENT ACCESSION NO. 3. RECIPIENT'S CATALOG NO. WA-RD 873.2 4. TITLE AND SUBTITLE 5. REPORT DATE Implementing

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

Page 69: Implementing the Routine Computation and Use of Roadway ...1. REPORT NO. 2. GOVERNMENT ACCESSION NO. 3. RECIPIENT'S CATALOG NO. WA-RD 873.2 4. TITLE AND SUBTITLE 5. REPORT DATE Implementing

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

Page 70: Implementing the Routine Computation and Use of Roadway ...1. REPORT NO. 2. GOVERNMENT ACCESSION NO. 3. RECIPIENT'S CATALOG NO. WA-RD 873.2 4. TITLE AND SUBTITLE 5. REPORT DATE Implementing

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

Page 71: Implementing the Routine Computation and Use of Roadway ...1. REPORT NO. 2. GOVERNMENT ACCESSION NO. 3. RECIPIENT'S CATALOG NO. WA-RD 873.2 4. TITLE AND SUBTITLE 5. REPORT DATE Implementing

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

Page 72: Implementing the Routine Computation and Use of Roadway ...1. REPORT NO. 2. GOVERNMENT ACCESSION NO. 3. RECIPIENT'S CATALOG NO. WA-RD 873.2 4. TITLE AND SUBTITLE 5. REPORT DATE Implementing

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

Page 73: Implementing the Routine Computation and Use of Roadway ...1. REPORT NO. 2. GOVERNMENT ACCESSION NO. 3. RECIPIENT'S CATALOG NO. WA-RD 873.2 4. TITLE AND SUBTITLE 5. REPORT DATE Implementing

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

Page 74: Implementing the Routine Computation and Use of Roadway ...1. REPORT NO. 2. GOVERNMENT ACCESSION NO. 3. RECIPIENT'S CATALOG NO. WA-RD 873.2 4. TITLE AND SUBTITLE 5. REPORT DATE Implementing

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

Page 75: Implementing the Routine Computation and Use of Roadway ...1. REPORT NO. 2. GOVERNMENT ACCESSION NO. 3. RECIPIENT'S CATALOG NO. WA-RD 873.2 4. TITLE AND SUBTITLE 5. REPORT DATE Implementing

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

Page 76: Implementing the Routine Computation and Use of Roadway ...1. REPORT NO. 2. GOVERNMENT ACCESSION NO. 3. RECIPIENT'S CATALOG NO. WA-RD 873.2 4. TITLE AND SUBTITLE 5. REPORT DATE Implementing

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

Page 77: Implementing the Routine Computation and Use of Roadway ...1. REPORT NO. 2. GOVERNMENT ACCESSION NO. 3. RECIPIENT'S CATALOG NO. WA-RD 873.2 4. TITLE AND SUBTITLE 5. REPORT DATE Implementing

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

Page 78: Implementing the Routine Computation and Use of Roadway ...1. REPORT NO. 2. GOVERNMENT ACCESSION NO. 3. RECIPIENT'S CATALOG NO. WA-RD 873.2 4. TITLE AND SUBTITLE 5. REPORT DATE Implementing

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

Page 79: Implementing the Routine Computation and Use of Roadway ...1. REPORT NO. 2. GOVERNMENT ACCESSION NO. 3. RECIPIENT'S CATALOG NO. WA-RD 873.2 4. TITLE AND SUBTITLE 5. REPORT DATE Implementing

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

Page 80: Implementing the Routine Computation and Use of Roadway ...1. REPORT NO. 2. GOVERNMENT ACCESSION NO. 3. RECIPIENT'S CATALOG NO. WA-RD 873.2 4. TITLE AND SUBTITLE 5. REPORT DATE Implementing

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

Page 81: Implementing the Routine Computation and Use of Roadway ...1. REPORT NO. 2. GOVERNMENT ACCESSION NO. 3. RECIPIENT'S CATALOG NO. WA-RD 873.2 4. TITLE AND SUBTITLE 5. REPORT DATE Implementing

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

Page 82: Implementing the Routine Computation and Use of Roadway ...1. REPORT NO. 2. GOVERNMENT ACCESSION NO. 3. RECIPIENT'S CATALOG NO. WA-RD 873.2 4. TITLE AND SUBTITLE 5. REPORT DATE Implementing

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

Page 83: Implementing the Routine Computation and Use of Roadway ...1. REPORT NO. 2. GOVERNMENT ACCESSION NO. 3. RECIPIENT'S CATALOG NO. WA-RD 873.2 4. TITLE AND SUBTITLE 5. REPORT DATE Implementing

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

Page 84: Implementing the Routine Computation and Use of Roadway ...1. REPORT NO. 2. GOVERNMENT ACCESSION NO. 3. RECIPIENT'S CATALOG NO. WA-RD 873.2 4. TITLE AND SUBTITLE 5. REPORT DATE Implementing

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

Page 85: Implementing the Routine Computation and Use of Roadway ...1. REPORT NO. 2. GOVERNMENT ACCESSION NO. 3. RECIPIENT'S CATALOG NO. WA-RD 873.2 4. TITLE AND SUBTITLE 5. REPORT DATE Implementing

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

Page 86: Implementing the Routine Computation and Use of Roadway ...1. REPORT NO. 2. GOVERNMENT ACCESSION NO. 3. RECIPIENT'S CATALOG NO. WA-RD 873.2 4. TITLE AND SUBTITLE 5. REPORT DATE Implementing

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

Page 87: Implementing the Routine Computation and Use of Roadway ...1. REPORT NO. 2. GOVERNMENT ACCESSION NO. 3. RECIPIENT'S CATALOG NO. WA-RD 873.2 4. TITLE AND SUBTITLE 5. REPORT DATE Implementing

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

Page 88: Implementing the Routine Computation and Use of Roadway ...1. REPORT NO. 2. GOVERNMENT ACCESSION NO. 3. RECIPIENT'S CATALOG NO. WA-RD 873.2 4. TITLE AND SUBTITLE 5. REPORT DATE Implementing

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

Page 89: Implementing the Routine Computation and Use of Roadway ...1. REPORT NO. 2. GOVERNMENT ACCESSION NO. 3. RECIPIENT'S CATALOG NO. WA-RD 873.2 4. TITLE AND SUBTITLE 5. REPORT DATE Implementing

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

Page 90: Implementing the Routine Computation and Use of Roadway ...1. REPORT NO. 2. GOVERNMENT ACCESSION NO. 3. RECIPIENT'S CATALOG NO. WA-RD 873.2 4. TITLE AND SUBTITLE 5. REPORT DATE Implementing

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

Page 91: Implementing the Routine Computation and Use of Roadway ...1. REPORT NO. 2. GOVERNMENT ACCESSION NO. 3. RECIPIENT'S CATALOG NO. WA-RD 873.2 4. TITLE AND SUBTITLE 5. REPORT DATE Implementing

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.

Page 92: Implementing the Routine Computation and Use of Roadway ...1. REPORT NO. 2. GOVERNMENT ACCESSION NO. 3. RECIPIENT'S CATALOG NO. WA-RD 873.2 4. TITLE AND SUBTITLE 5. REPORT DATE Implementing

75

Page 93: Implementing the Routine Computation and Use of Roadway ...1. REPORT NO. 2. GOVERNMENT ACCESSION NO. 3. RECIPIENT'S CATALOG NO. WA-RD 873.2 4. TITLE AND SUBTITLE 5. REPORT DATE Implementing

76

Page 94: Implementing the Routine Computation and Use of Roadway ...1. REPORT NO. 2. GOVERNMENT ACCESSION NO. 3. RECIPIENT'S CATALOG NO. WA-RD 873.2 4. TITLE AND SUBTITLE 5. REPORT DATE Implementing

77

Page 95: Implementing the Routine Computation and Use of Roadway ...1. REPORT NO. 2. GOVERNMENT ACCESSION NO. 3. RECIPIENT'S CATALOG NO. WA-RD 873.2 4. TITLE AND SUBTITLE 5. REPORT DATE Implementing

78

Page 96: Implementing the Routine Computation and Use of Roadway ...1. REPORT NO. 2. GOVERNMENT ACCESSION NO. 3. RECIPIENT'S CATALOG NO. WA-RD 873.2 4. TITLE AND SUBTITLE 5. REPORT DATE Implementing

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.