Viewing entries tagged

Array of Things Releases APIs for Chicago Data, Enabling Applications

Array of Things Releases APIs for Chicago Data, Enabling Applications

Earlier this year, we released the first data from Array of Things Chicago in the form of bulk CSV downloads through our beta file browser site. While a bit unwieldy and updated just once per day, we knew that researchers would want data in the richest possible detail to study the climate, air quality, and other measurements currently available from the over one hundred nodes installed around the city.

But scientists are just one of the audiences for AoT data, and we are happy to announce that AoT Chicago data can now also be accessed via API, making it easier for developers to start using near real time data in applications.

Through the API and its documentation, users can access both proven and raw data from the Chicago nodes. These measurements include calibrated temperature, humidity, pressure data, as well as raw air quality data, including for various gases and particulate matter, that are still under evaluation. Measurements extracted from image processing, such as pedestrian and vehicle counts, will be available in the future.

Unlike the bulk downloads, which provide data in daily, weekly, or monthly installments back to early 2017, the API data is focused only on recent data, going back one week. However, the data are updated more frequently, within five minutes of collection.

“The older data is mainly for people who are really more interested in larger analysis on more powerful machines,” said Vince Forgione, lead engineer for the Urban Center for Computation and Data, which runs the Array of Things project. “The API is definitely more geared for application developers and other people who want near real-time information.”

To help those users, Forgione and colleague Jesse Bracho also created a number of functions to do analysis within the API. Whether within direct requests or by using client libraries for Python, Javascript, and R, programmers can isolate specific observations by node or by sensor type and aggregate or filter data before retrieving it. The API also sports an implementation for GraphQL, an increasingly popular API language and framework.

“These libraries enable you to just drill down and grab exactly what you want through a really expressive set of parameters,” Forgione said.

On the horizon are changes to the Plenario data portal, where users can work with AoT data alongside other public data sets, and possibly an additional way to access AoT data, through web sockets. Ultimately, the goal is to make data both thorough and accessible for a variety of audiences, from scientists to app developers to the general public.

For more on AoT data engineering, visit the UrbanCCD Github page.