1 / 35

Counting Trucks in PORTAL

Counting Trucks in PORTAL. Truck Count Estimates from Loop Detector Volume and Occupancy Data. Objective:. Obtain vehicle class data with high time and space resolution on Portland metro freeways. Why?. “ Green ” performance measures for PORTAL require VMT by class.

winola
Download Presentation

Counting Trucks in PORTAL

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Counting Trucks inPORTAL Truck Count Estimates from Loop Detector Volume and Occupancy Data

  2. Objective: • Obtain vehicle class data with high time and space resolution on Portland metro freeways

  3. Why? • “Green” performance measures for PORTAL require VMT by class. • Emission rates, fuel consumption, and value of time all vary significantly with vehicle class. For example, cost of delay in 2007: Autos: $17.58/hr Heavy Trucks: $30.93

  4. Use of Truck Counts More Precise Green Measures

  5. Estimation Methods • 3 papers by Wang and Nihan (U. of Washington) • Truck counts from single-loop detector volume and occupancy data • 2000: regression model for effective vehicle lengths • 2001: 2-step method • 2003: 3-step method that includes period speed • (Used in previous PORTAL project)

  6. Assumptions • Two very important assumptions: • Vehicle speeds constant for each period • At least 2 intervals per period have no LV’s SV = Short Vehicle (under 12 meters) LV = Long Vehicle (over 12 meters) *Both assumptions affected by period length

  7. Plan

  8. Raw Data from PORTAL • Raw data for multiple days and stations not easily available through PORTAL web interface • Direct access to PORTAL data possible through R (Thanks to Dr. Monsere for your help!) • Wiki page to guide you: http://wiki.cecs.pdx.edu/bin/view/ItsWeb/PORTALaccessR • (also link through ITSLabAdmin > RArchive )

  9. Setup the Connection Steps: Setup driver Get to know PORTAL structure Use R scripts

  10. Browsing PORTAL

  11. R Script Establish Connection • ########################################################## • # • # Connect to PORTAL • # Need PostgreSQL ODBC driver installed on windows and configured • # Using R 2.7.1 (latest version) • # See \Equipment_Software\ODBCdrivers on Marston • # and readme.txt file • # • ########################################################## • #Set up the database connection to PORTAL • #================================= • library(RODBC) • portal <- odbcConnect("portal_ro", uid="portal_ro") # establish connection • sqlQuery(portal,"SET search_path = public, pg_catalog;") # sets the schema to public • # Extract Data • #================================= • hwy <- "I-205" • dirs <- c("NORTH","SOUTH","EAST","WEST") • dir <- dirs[1] • highwayID <- sqlQuery(portal, paste("SELECT highwayid FROM highways WHERE highwayname = '",hwy,"' AND direction = '", dir,"'", sep="")) • station <- "Stafford to I-205 NB" • query <- paste("SELECT stationid, length, milepost FROM stations WHERE highwayid = ",highwayID," AND locationtext = '",station,"'",sep="") • stationinfo <- sqlQuery(portal, query) • stationID <- stationinfo[,"stationid"] • query <- paste("SELECT detectorid, stationid, detectorclass, lanenumber FROM detectors WHERE stationid IN (",paste(stationID, collapse=", "),")",sep=" ") • detectorID <- sqlQuery(portal, query) • ramps <- detectorID[detectorID$detectorclass == 5, "detectorid"] • lanes <- detectorID[detectorID$detectorclass == 1, c("detectorid","lanenumber")] • if (!all(is.element(detectorID$detectorclass,c(1,5)))) print ("Other detector classes present!") • Data <- data.frame() • for (day in 23:23) { • year <- 2008 • month <- 1 • date <- ISOdate(day=day,year=year,month=month) • tablename <- paste("loopdata",format(date,"%Y_%m_%d"),sep="_") • fields <- "*" • query <- paste("SELECT",paste(fields, collapse=", "),"FROM",tablename,"WHERE detectorid IN (",paste(detectorID[,1], collapse=", "),")",sep=" ") • daily <- sqlQuery(portal, query) • Data <- rbind(Data,daily[daily$detectorid %in% lanes$detectorid,]) • } Defining SQL query Enacting SQL query

  12. Progress

  13. Wang Algorithm Step 1 • Separate intervals with all SV from those with possible LV • The two intervals with the lowest O/N are assumed to be all SV (EVL = SVmean) • Other interval EVLs calculated by comparing SV intervals’ O/N • Critical EVLs based on normalized distributions of SV and LV EVL = Effective Vehicle Length (per interval) O/N = Occupancy / Volume ratio

  14. Progress If EVLi > EVLcrit, then possible LV’s

  15. Wang Algorithm Step 2 • Estimate period speed (assumed constant) • From summed vol. and occ. of all SV-classified intervals in Step 1 • Uses mean SV length (5.48 meters)

  16. Progress

  17. Wang Algorithm Step 3 • Compute LV (trucks) in remaining intervals (non-SV) • Nearest-neighbor rule • Statistically closest “bin” of auto/truck distribution to match the interval’s EVL • 7-truck maximum • (if volume > 7)

  18. Progress Aggregate intervals and periods to hourly vehicle mixes.

  19. Now we have our truck counts... • ...but are they accurate?

  20. Assumption Violation • Constant vehicle speeds violated • Overestimate LV: Low speeds appear as LV • Overestimate Speed: slower SV intervals removed • At least two all-SV intervals per period violated • Underestimate Speed: LV appear as slow SV • Underestimate LV: LV appear as slow SV

  21. Modification Ideas

  22. Overnight

  23. Occupancy Resolution 70mph = 103ft/sec 60mph = 88ft/sec 50mph = 73ft/sec 18ft SV 18ft / 88ft/s = 0.20sec = 1.0%occ BUT . . . 18ft / 73ft/s = 0.25sec = 1.2%occ AND . . . 18ft / 103ft/s = 0.18sec = 0.88%occ

  24. So . . . A single short vehicle, rounding to 1 digit:

  25. Differences to Previous PORTAL Implementation • Excluded zero occ., non-zero vol. intervals • 6-ft Loop lengths (instead of 4-ft) • Assumed maximum period speed • Variable period lengths (automated) • Use of ODOT-calculated speeds

  26. Comparison With ATR

  27. Comparison With ATR Highly inaccurate during congestion (mph)

  28. Method Selection • Depending on road conditions, most accurate methods: • 70mph max speed, 5 minute periods • 70mph max speed, automated variable periods • ODOT speeds (70mph max), 5 minute periods • ODOT speeds (70mph max), variable periods But we shouldn’t need the max speeds – is something wrong with the raw data?

  29. Avg. Abs. % Diff: • 70max 22% • 70_VarPer 25% • ODOT 41% • ODOT_VarPer 38% • Prev. PORTAL 32%

  30. Conclusion • These methods are still too inaccurate. • At best, around 20% difference in truck counts, as compared to ATR and manual counts • Some hourly percent errors over 100% • Next step is to ensure accuracy and resolution in volume and occupancy raw data.

  31. Other Improvements

  32. Truck Counts in Action!

  33. Truck Counts in Action! Compared to static fleet: Average: 2% greater ($189) Max: 7% greater ($765)

  34. More Info

  35. THANK YOU! • Questions? • Comments?

More Related