We've downloaded and reviewed the latest Highway Performance Monitoring System (HPMS) national highway dataset provided by the Federal Highway Administration with an eye toward how it can be used with and for OpenStreetMap.

The dataset has been open and available since the August, 2012 requirement for all states to annually report a measured spatial file of all public roads. The files available for download are limited to the highways that are part of the Federal Aid program (basically, local roads are not included).

Here is what we found:

  • Highway coverage overall is sparser in HPMS than in OpenStreetMap, since OpenStreetMap has the larger ambition of mapping all roads.
  • The spatial accuracy of roads is comparable between HPMS and OpenStreetMap, with OpenStreetMap generally having a slight edge over HPMS. HPMS relies on ARNOLD for road geometry and typically maps one carriageway or the other of divided roads rather than both or the overall centerline.
  • The fields that provide data that is already frequently tagged in OpenStreetMap are THROUGH_LA for lane count, HOV_LANES_ for carpool lanes, and TOLL_CHARG for tolls.
  • The AADT_VN field for daily vehicle count is not normally tagged in OpenStreetMap but is interesting for routing engines.

You can download the data from the DOT web site, which also provides contact information for Thomas Roff, the data's steward. We've heard from him that an update is in the works, and we're looking forward to it!

Take a look at the map comparing HPMS (yellow) with OpenStreetMap (blue). You can see that the geographical alignment between the two datasets is on par. The coverage of OpenStreetMap is better, but full road coverage is not the goal of HPMS. We've visualized the traffic density attribute in HPMS as line thickness to highlight the regional and national significance of different roads. Thicker yellow lines are more traffic and thinner yellow lines are less traffic. Zoom in to see the numbers for average vehicles per day.

If you would like to use this map for editing OpenStreetMap, you can use the following ZXY URL for adding a custom layer to iD or to JOSM:

https://a.tiles.mapbox.com/v4/enf.ee407c6a/{z}/{x}/{y}.png?access_token=pk.eyJ1IjoibWFwYm94IiwiYSI6ImNpejdueG92YjAwZHUzMnA5ZWIyMW1zcDQifQ.acDRLVcqW0LZfWQXvC3-pw