[GIS] Cesium.js time series data visualization

cesiumtime series

I have to show time series data with Cesium. Is it possible to implement it with ImageryProvider? (it fits my needs, because I already have a component which can render needed data on canvas. This component supports tiling and other features I need.) I did test the approach and it seems that it can be used to display single animation frame, but if I have to update data on each cesium clock tick, I have to update whole imagery layer and it doesn't work well. Generally speaking ImageryProvider was designed to display static data, am I right? I've read about CZML, it looks promising, but CZMLDataSource doesn't support tiling and styling features I have in my existing component.

So my questions are:

  1. Is it possible to implement time series data visualization with ImageryProvider? If so, are there any examples?

  2. Are there any other options to visualize time series data with Cesium or CZML is the only one?

Best Answer

  1. You are correct that ImageryProvider is currently designed only for static image data. Its implementation leverages the idea that the image tiles don't change once loaded. For example, it shows lower-resolution tiles for several animation frames while waiting for higher-resolution tiles to come down from the server. If all those tiles are changing every animation frame, the network won't be able to keep up at all. It would be megabytes of altered images every 1/30th second.

  2. CZML simply feeds into Cesium's "Entity" API, which can also be driven by client-side JavaScript from any sort of time-dynamic data source. Cesium can display a lot of points simultaneously (see the Hurricane Demo) and with some JS code the styling could be user-selectable without even a round-trip back to the server. I don't know if this fits your particular case. You may need to edit your question to include more of the nature of the data you're trying to visualize.

Related Question