River View and HTM

The River View data service can provide a lot of near-real-time temporal data for HTM systems to analyze. It contains thousands of data streams, many of which are updated daily or hourly. These data contain both scalar and geospatial data. The scalar data streams can be easily streamed into HTM systems, because they contain both time values and scalar data. The geospatial data in River View is largely “events over time” data, not “object movement” data, which means the current CoordinateEncoder programmed for NuPIC and HTM.Java is not sufficient to encode it.

Aggregated Geospatial Data

One way to transform geospatial data is to aggregate it all over time. River View now provides a simple aggregation functionality for all Rivers with the geospatial data type (you can tell what data type a River is by looking at it’s meta page, or if you see a map on the data page).

Here are some examples of simple aggregation by specified time duration for several geospatial Rivers. Any of the data views below can be translated easily into JSON or CSV by simply changing the file extension in the URL to either .json or .csv.

The aggregation duration and and temporal starting and ending points can be manipulated by the aggregation=<duraction>, since=timestamp, and until=timestamp query parameters. See the URLs of the examples above.

Going Further

Each geospatial river could be further separated into localized geographical groupings and aggregated within these groupings, which would provide more relevant local analysis. For example, the USGS Earthquake river contains earthquakes from around the planet, but might be more meaningful if split up into continents. Likewise, rivers that contains city-wide data, like chicago-311, portland-911, and sfpd-incidents, could be broken up into geographical groups for “wards”, “boroughs”, or “villages”.