Fast visualization of large spatiotemporal datasets

The Nanocubes™ technology provides you with real-time visualization of large datasets. Slice and dice your data with respect to space, time, or some of your data attributes, and view the results in real-time on a web browser over heatmaps, bar charts, and histograms. We've used it for tens of billions of data points: maybe you can push it even farther!

How does it work

The main Nanocubes program is a command-line utility that processes your data and starts a web server to answer query requests. We provide Javascript APIs for visualization. But the Nanocubes program can be used for fast analysis of your data as well: you can think of it as a very fast (if somehow limited) database query engine. As an illustrative example, we have used anomaly detection routines to query the Nanocubes engine and output potential outliers and hotspots.


Live Demos

Interested? Try the live demos! All of these datasets are running off of a single machine with 16GB of RAM. For the demos not tagged as "tablet-friendly", you will need a WebGL capable browser. We have tested it on Chrome and Firefox, but ourselves use Chrome and OS X for development.

Open Source

Download our implementation of the Nanocubes technology here.

Full source code is hosted on GitHub, and join the discussion by subscribing to the mailing list.


Lauro Lins, James Klosowski, Carlos Scheidegger, Horace Y. Ip.

Why the strange name?

The Nanocubes technology builds on data cube technology. Until recently, data cubes took a very large amount of space. This means they could not be stored in main memory, so their computation and access for large datasets did not mix well with interactive visualization. Our main innovation is an algorithm for hierarchical data cubes that has very modest memory requirements. So it is just like a data cube, but it's tiny! We thought "Nanocubes" sounded better than "tiny cubes".


In the News


This project uses a litany of open-source projects and software, for which we are incredibly grateful. In no particular order, we want to acknowledge our use of: Bootstrap, Bootstrap Tour, jQuery, Underscore.js, d3, OpenStreetMap, Leaflet.js, and Lux.

In addition, we wish to acknowledge the comments, suggestions and help of Stephen North, Drew Skau, Hadley Wickham, Luiz Scheidegger, Chris Volinsky, Simon Urbanek, Robert Kosara, John Moeller, David Kormann, T.J. Jankun-Kelly and Steve Haroz.