Making Open Data Accessible

The Environmental Protection Agency (EPA) released an innovative Request for Information which asked vendors to provide prototypes instead of paper. STSI responded, and decided to make some of the EPA’s environmental data more accessible.

STSI focused on the National Lakes Assessment – a statistical survey of the condition of our nation’s lakes, ponds, and reservoirs. The EPA had made raw data available as a set of CSV files. However, this raw data was spread across dozens of CSV files, with over 1,000 columns. It requires an expert to even browse through the data.

STSI released the NLA Data Explorer prototype, which improves how EPA shares the National Lakes Assessment dataset. This prototype allows would-be users of the data a chance to “kick the tires” and understand the contents of the dataset.

Screenshot of the NLA Data Explorer home page

Screenshot of the NLA Data Explorer home page

The prototype application allows you to explore that data.A type-ahead search allow users to quickly find a lake. You can view the data for a given lake, and can gain context about the data (e.g. Is 69 hectares big or small?). By clicking on a field, you get a definition of what it contains, as well as some descriptive statistics as to how the lake compares to others.

Screenshot showing example data point drill down with comparative context, including a bar chart showing the distribution of the data value across other lakes

Screenshot showing example data point drill down with comparative context

Under the hood

We followed an API-first development approach. In order to build the human-usable site, we first built a robust API. This approach means that other developers can build even better interfaces on top of that same API, or otherwise use the data without downloading and parsing CSV files.

This application allowed STSI staff to dig in and get hands-on experience with GraphQL, a specification for creating web APIs published by Facebook. Part of the power of this approach, is that we can leverage tools like GraphiQL, which provides a rich interface for developers to test and refine queries against the API.

Screenshot of GraphiQL user interface

Screenshot of GraphiQL user interface

Video Walkthrough

If you’d like to see a bit more, check out the prototype via the links above, or view the walkthrough video.