4.2 Using a Map Visualization
Spatial Studio supports several types of map visualizations.
The following types of map visualizations are supported:
- Geometry Data Visualization:
- Point type
- Line type
- Polygon / Area type
- GeoRaster Data Visualization
- Hexagonal Data Visualization using H3 Aggregations
The following sections describe how to get started on these visualizations:
- Visualizing a Point Map
- About GeoRaster Data Visualization
- About Hexagonal Data Visualization Using H3 Aggregations
- About Custom Map Regions Visualization
- Visualizing Spatiotemporal Datasets
Starting from Oracle Spatial Studio Release 23.2.0, you can visualize spatiotemporal datasets using the Cesium Timeline widget. - Visualizing OGC WMS Maps as a Dataset
You can visualize an OGC (Open Geospatial Consortium) WMS (Web Map Service) dataset on a map. - About Wind Animation
Starting from Oracle Spatial Studio Release 24.2.0, you can create and visualize wind animations that depict the direction of flow between various locations.
Parent topic: Visualization in Oracle Spatial Studio
4.2.1 Visualizing a Point Map
Parent topic: Using a Map Visualization
4.2.2 About GeoRaster Data Visualization
Oracle Spatial Studio allows you to visualize GeoRaster data stored in spatial GeoRaster type in Oracle Database.
Geo-referenced raster data, including satellite imagery, aerial photos from drones, and gridded data, is very useful for mapping applications. It can be directly analyzed, or layered with vector data as a background map for additional context. See Spatial GeoRaster Developer's Guide for more information on GeoRaster data.
Parent topic: Using a Map Visualization
4.2.2.1 Visualizing GeoRaster Data on a Map
Parent topic: About GeoRaster Data Visualization
4.2.3 About Hexagonal Data Visualization Using H3 Aggregations
Oracle Spatial Studio allows you to visualize point-type map data using hexagons with H3 (Hexagonal Hierarchical Spatial Index) aggregations.
- It helps you to identify patterns or clusters in a larger point dataset
- Easier interpretation of data, as in a hexagonal cell, all the points are equidistant from the hexagon center-point
- Hexagonal cells are color coded based on the number of datapoints they hold, which enables you to easily understand data patterns
The following sections describe how you can use H3 aggregations in Spatial Studio:
Parent topic: Using a Map Visualization
4.2.3.1 Preparing an H3 Aggregation Dataset
Parent topic: About Hexagonal Data Visualization Using H3 Aggregations
4.2.3.2 Visualizing Data With H3 Aggregations
To prepare a dataset for H3 aggregation, see Preparing an H3 Aggregation Dataset for more information.
Parent topic: About Hexagonal Data Visualization Using H3 Aggregations
4.2.4 About Custom Map Regions Visualization
Oracle Spatial Studio allows you to create custom map regions on map layers that support polygon type geometry.
You can create a new map region by selecting multiple polygon shapes and combining them with a new key-value. You can then append or insert this new map region with the new key-value into a target dataset containing all of your other custom map regions, or save it as a new dataset.
These newly created custom shapes are persisted on the underlying database table of the target dataset, and therefore can be used for data visualization or reporting just like any other dataset.
- The source dataset, that is the dataset whose polygon shapes you
will be selecting and then combining into a custom map region, must always be
based on an Oracle Database table.
Datasets from Oracle views and Studio's Analyses are not currently supported.
- The new regions may or may not be contiguous.
- The target dataset, that is the dataset on which you want to store the newly created custom map regions, will store them in its geo-reference system.
- The target dataset can be a new dataset or an existing dataset in the current project. For a new dataset, you need to specify the connection, the table name, the dataset name, the key-column name of the table, and provide the key value for the new region.
- Only the key value and new geometry value are inserted into the newly created target table. For inserting the new region into an existing dataset, you may provide values for all of the dataset's attributes, or only the required ones.
- An existing targets dataset must meet the following
requirements:
- The geometry metadata information for the target dataset must be available in the SDO_GEOM_METADATA view.
- A spatial index must exist on the geometry column. Note that if a spatial index is not created on the geometry column, then the target data layer cannot be dragged on to the map visualization canvas.
Note:
Prior to Release 22.3, these target dataset requirements were implemented using SQL statements. However, from Release 22.3 onwards, if a new dataset is created to store the regions, then Spatial Studio automatically takes care of updating the geometry metadata and creating a spatial index. - For a new target dataset, once it is created and the first region is inserted, then the dataset can be manually added to the current active project and added as a layer to the map visualization. For subsequent processing, this new target dataset is treated as an existing target dataset.
Parent topic: Using a Map Visualization
4.2.4.1 Creating Custom Regions for Visualization
Parent topic: About Custom Map Regions Visualization
4.2.4.2 Creating a Target Dataset
- By Spatial Studio: Refer to the Create New Target Dataset option in the earlier section. Note that you must specify the key column name for the target dataset as the key values are stored in the key column names for the corresponding geometries (custom map regions).
- By manual process: Perform the following steps to create a dataset manually:
Parent topic: About Custom Map Regions Visualization
4.2.5 Visualizing Spatiotemporal Datasets
Starting from Oracle Spatial Studio Release 23.2.0, 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 starting from Release 23.2. - Configuring the 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. - Visualizing Live Moving Objects Dataset
You can visualize live moving objects on a map in Spatial Studio. - Visualizing 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. - Visualizing Non-Live Moving Objects Dataset
You can visualize moving objects with historic timestamp values on a map in Spatial Studio. - Visualizing 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. - Visualizing Spatiotemporal Data in OGC WMS Datasets
You can visualize OGC WMS datasets that contain spatiotemporal data. - Visualizing GeoJSON URL Datasets with Spatiotemporal Data
You can visualize GeoJSON URL based datasets that contain spatiotemporal data. - Configuring 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.
Parent topic: Using a Map Visualization
4.2.5.1 Overview of the Cesium Timeline Widget
Spatial Studio provides a new standalone Cesium Timeline widget starting from Release 23.2.
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
x
seconds. - 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.
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.
Parent topic: Visualizing Spatiotemporal Datasets
4.2.5.2 Configuring the Cesium Timeline Settings
You can configure custom settings for the Cesium timeline.
Parent topic: Visualizing Spatiotemporal Datasets
4.2.5.3 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 Enabling 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
ON
the 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:
Figure 4-13 Adding a Map Layer to the Timeline
Description of "Figure 4-13 Adding a Map Layer to the Timeline"The 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
500ms
tick 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.
-
Parent topic: Visualizing Spatiotemporal Datasets
4.2.5.4 Visualizing Live Moving Objects Dataset
You can visualize live moving objects on a map in Spatial Studio.
Parent topic: Visualizing Spatiotemporal Datasets
4.2.5.5 Visualizing 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.
Parent topic: Visualizing Spatiotemporal Datasets
4.2.5.6 Visualizing Non-Live Moving Objects Dataset
You can visualize moving objects with historic timestamp values on a map in Spatial Studio.
Parent topic: Visualizing Spatiotemporal Datasets
4.2.5.7 Visualizing 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.
Parent topic: Visualizing Spatiotemporal Datasets
4.2.5.8 Visualizing Spatiotemporal Data in OGC WMS Datasets
You can visualize OGC WMS datasets that contain spatiotemporal data.
Parent topic: Visualizing Spatiotemporal Datasets
4.2.5.9 Visualizing GeoJSON URL Datasets with Spatiotemporal Data
You can visualize GeoJSON URL based datasets that contain spatiotemporal data.
Parent topic: Visualizing Spatiotemporal Datasets
4.2.5.10 Configuring Animation for Moving Objects Dataset
You can animate a spatiotemporal map layer of a moving objects dataset based on Cesium map events.
Parent topic: Visualizing Spatiotemporal Datasets
4.2.5.11 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
N
seconds of data is fetched by filtering the records based on theTIMESTAMP
column. - 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.
Parent topic: Visualizing Spatiotemporal Datasets
4.2.6 Visualizing OGC WMS Maps as a Dataset
You can visualize an OGC (Open Geospatial Consortium) WMS (Web Map Service) dataset on a map.
To overcome this limitation, Spatial Studio allows you to use a regular background map, while adding the WMS map images as a dataset layer on top. As the WMS images are just another dataset, which can be displayed as another layer on the map, you can easily reorder the layers, or toggle the visibility of the WMS images just like with any other map layer.
- The OGC WMS dataset is created using an OGC WMS connection and exists in Spatial Studio. See Creating an OGC WMS Dataset for more information.
- The required OGC WMS dataset is added to the project in the Active Project page.
Related Topics
Parent topic: Using a Map Visualization
4.2.7 About Wind Animation
Starting from Oracle Spatial Studio Release 24.2.0, you can create and visualize wind animations that depict the direction of flow between various locations.
Although commonly referred to as wind animation, this visualization applies for any movement-based visualization. For instance, it can be used to render wind speeds, depict tectonic plate movements, or other vector-based simulations. The following figure shows a sample wind animation in Spatial Studio:
These visualizations rely on wind velocities along the x
(u)
and y (v)
axes as input. These
velocities are encoded within an image, where the red (R) and green (G)
channels represent the x
and y
velocities,
respectively. The values are scaled and mapped to an integer range of 0–255,
with the R channel holding the u
velocities and the G
channel holding the v
velocities.
The base image thus serves as a grid of u
and
v
velocities at each integral longitude and
latitude point within the specified bounding box (bbox). With this setup,
the visualization generates random particles on the map, which are then
animated according to the wind velocities, creating dynamic flowing
visuals.
Figure 4-21 Sample Base Image for Wind Animation
The base image for the wind animation can be generated from a NOAA dataset or from any other supported data providers (see Generating a Base Wind Image From a NOAA Dataset for an example). You can then load this image as GeoRaster to Oracle Database and create a wind animation dataset for visualization.
- Generating a Base Wind Image From a NOAA Dataset
This section provides the steps for generating a base wind image using a NOAA provider. - Visualizing a Wind Animation Dataset
You can create a wind animation visualization in Spatial Studio.
Parent topic: Using a Map Visualization
4.2.7.1 Generating a Base Wind Image From a NOAA Dataset
This section provides the steps for generating a base wind image using a NOAA provider.
Parent topic: About Wind Animation
4.2.7.2 Visualizing a Wind Animation Dataset
You can create a wind animation visualization in Spatial Studio.
Parent topic: About Wind Animation