Visualize Spatiotemporal Datasets
You can visualize spatiotemporal datasets using the Cesium Timeline widget.
The following sections provide more information on the Cesium Timeline widget and the supported visualizations.
Overview of the Cesium Timeline Widget
Spatial Studio provides a new standalone Cesium Timeline widget.
The Cesium Timeline widget in Spatial Studio provides the following capabilities:
- Dataset filtering.
- Serves as a hub for controlling all kinds of spatiotemporal data (such
as live, historic, moving objects, and so on).
The only exception being the GeoJSON URL based datasets. These datasets do not cater to Cesium timeline as the external URLs may not have the capability to provide GeoJSON corresponding to a time value, but are rather simply refreshed to provide newer values every
xseconds. - Offers a scalable solution to add multiple layers of different dataset types at once that can be time-synced as required.
The following figure shows the Cesium Timeline Widget on a map visualization in Spatial Studio.

Description of the illustration cesium_timeline_widget.png
The key concepts of the Cesium Timeline are as follows:
- Cesium Timeline Modes: The timeline supports two modes of operation. If even one layer corresponding to a live dataset is listening to the timeline, then the mode of operation is LIVE. Otherwise, the mode of operation is always HISTORIC.
- Cesium Clock Start Time: Starting point of the current range of timeline. This is the point in time from which the Cesium clock starts ticking.
- Cesium Clock Stop Time: Ending point of the current range of
timeline. This is the point in time until which the Cesium clock ticks. However upon
reaching the end, the timeline behavior depends on the mode:
- LIVE: The timeline will move ahead by updating the start time and stop time values as per the current time.
- HISTORIC: The timeline will loop back to the start time.
- Cesium Clock Current Time: The current time frame of the clock.
It begins at the Cesium clock start time and ticks every
500ms. Optionally, you can slide the pointer on the timeline manually to set your current time.Also note the following with respect to the type of the spatiotemporal dataset:
- Live Spatiotemporal Dataset: The Cesium clock current time value for such datasets is configured to always be pointing to current UTC time (unless manually changed).
- Non-Live Spatiotemporal Dataset: If no other dataset is added to the timeline, then the Cesium clock for such a dataset automatically sets its range to minimum and maximum of the timestamp column, and the Cesium clock current time starts from the minimum value.
- Multiplier: Multiplies to the interval at which the clock ticks
(
500ms) in order to make the clock jump ahead or rewind accordingly. - Timeline Playback Controls:
- Pause: Stops the timeline from animating and throwing tick events. The timeline pauses at current timeline frame.
- Forward and Backward Play Buttons: Makes the timeline animate in the
chosen direction and includes the multiplier value (
+/- Multiplier * 500ms)
- Cesium Timeline settings: Allows you to control the timeline settings.
Configure Cesium Timeline Settings
You can configure custom settings for the Cesium timeline.
About Map Layers and the Timeline
Learn more about the spatiotemporal map layers and the Cesium timeline.
- In order to add a map layer to the timeline, you must first enable spatiotemporal in the underlying dataset for the map layer. See Enable Spatiotemporal for a Dataset for more information.
- You can then add one or more spatiotemporal map layers to the Cesium
timeline by performing the following steps:
- Click the Settings icon in your map tool bar and switch
ONthe Show timeline toggle to view the Cesium timeline widget at the bottom of the map visualization canvas. - Select the Add to Timeline option in
the context menu of the map layer as shown:

Description of the illustration add_to_timeline.pngThe map layer gets added to the timeline.
- Click the Settings icon in your map tool bar and switch
- Note the following if you add multiple map layers to the timeline:
- Each of these map layers respond to the timeline events
independently. Therefore, you can configure each map layer to have its own
properties (such as refresh time) and they then accordingly respond to the
listener events. As the timeline events are thrown at every
500mstick interval, each layer can have it own refresh time (more than500ms) as to when they want to respond to these events. - Also, in case of the map layers for datasets with historic timestamp values, all layers will loop back as per the current timeline range. This may either correspond to the first layer added to the timeline or it can be a custom range that you set in the timeline settings.
- If a layer corresponding to a live dataset is added to the timeline, then irrespective of the historic dataset layers listening to the timeline already, the timeline will never loop back and will keep moving forward.
- Each of these map layers respond to the timeline events
independently. Therefore, you can configure each map layer to have its own
properties (such as refresh time) and they then accordingly respond to the
listener events. As the timeline events are thrown at every
- If you make any changes to the underlying dataset properties of a map
layer, which is already added to the timeline, such as:
-
- Disabling the Enable Spatiotemporal toggle
- Toggling Data is Live and Moving Objects
Then, the listener gets removed from the timeline. In such cases, it is recommended that you remove the layer from the timeline and add it again after changing the properties.
- If you change the Time Unit property of a standard filtering dataset, then this will take effect immediately and the filtering on the map visualization will adhere to the new Time Unit value.
-
Visualize Live Moving Objects Dataset
You can visualize live moving objects on a map in Spatial Studio.
Visualize Live and Non-Moving Objects Dataset
You can visualize a spatiotemporal dataset having ongoing inserts of real-time data, but the locations of the data entities do not change.
Visualize Non-Live Moving Objects Dataset
You can visualize moving objects with historic timestamp values on a map in Spatial Studio.
Visualize Non-Live and Non-Moving Objects Dataset
You can visualize a spatiotemporal dataset that simply contains different timestamp values in each row which are not grouped by any entity ids.
Visualize Spatiotemporal Data in OGC WMS Datasets
You can visualize OGC WMS datasets that contain spatiotemporal data.
Visualize GeoJSON URL Datasets with Spatiotemporal Data
You can visualize GeoJSON URL based datasets that contain spatiotemporal data.
Configure Animation for Moving Objects Dataset
You can animate a spatiotemporal map layer of a moving objects dataset based on Cesium map events.
Characteristics of Spatiotemporal Map Layers for Moving Objects Dataset
This section describes the distinct characteristics of the primary and secondary map layers when visualizing a spatiotemporal dataset containing moving objects.
- The trails map layer is considered the secondary layer to the main layer. If you delete the main layer from the map, then the trails map layer is automatically deleted as well.
- The main layer which shares the same name as the dataset is always a
Point-type layer, that you can visualize using either as circle or using symbols or
icons. When you use symbols, Spatial Studio will also automatically rotate the
symbol based on the direction your object is moving.
Also note, the current release of Spatial Studio supports only those symbols that naturally point North (or point up) or those that do not represent an inherent direction or angle, such as any rounded symbols.
- The main layer will keep its animation even when you toggle the secondary layer invisible. However, if you toggle the main layer invisible, the trail layer will remain static as no new data is fetched from the backend.
- You cannot switch the main layer to Heatmap or Cluster type.
- You cannot use sticky Tooltip or popup as they cannot stick to the moving object when it moves to new locations.
- Spatial Studio drives the animation of moving objects and their trails
by constantly refreshing the main layer’s data from the backend. This implies that
the base table is queried and the last
Nseconds of data is fetched by filtering the records based on theTIMESTAMPcolumn. - If you are working in a multi-user or multi-visualization environment or both, you must take care to avoid overloading the database with many animating layer's data refresh queries. For instance, ensure a layer is not refreshing its data too frequently, or fetching too many seconds of data on each refresh, or both.





