IoT solutions developers using location data from thousands of devices usually end up with large data sets, presenting them with particular issues. First, when map data is displayed, users have trouble seeing it because there is too much data: pins will be hidden by other pins, overlays will overlay each other, literally. Secondly, large data sets may cause performance issues: you must have experienced slow maps rendering on some platforms when trying to display too much data. The most common way to address these two issues is by clustering—or aggregating data.
Azure Maps offers the ability to cluster large data sets in many different ways so that end users can quickly extract insights from their maps while IoT developers can avoid spending long hours deciphering, filtering and displaying data.
Watch the Channel 9 IoT Show, Point clustering map data with Azure Maps, for some great live demos of Azure Maps clustering capabilities using the SDK samples:
Read on for the basics of how to enable clustering in Azure Maps and for highlights of useful clustering techniques.
To use clustering in Azure Maps, you will want to
//Create a data source and enable clustering.
var datasource = new atlas.source.DataSource(null, {
//Tell the data source to cluster point data.
cluster: true,
//The radius in pixels to cluster points together.
clusterRadius: 45,
//The maximum zoom level in which clustering occurs.
//If you zoom in more than this, all points are rendered as symbols.
clusterMaxZoom: 15
});
Full documentation for radius-based clustering.
A bubble layer is a great way to render clustered points. You can easily scale the radius and change the color theme based on the number of points in the cluster by using an expression.
Full documentation and demo sample for clustering in a bubble layer.
You can also use a symbol layer to display data. Again, the goal is surface insights more easily for the user.
Full documentation and demo sample for clustering in a symbol layer.
Sometimes you will want to customize the style of clusters based on some metric, like the total revenue of all points within a cluster. Azure Maps offers a cluster aggregates custom properties feature that can be created and populated using an aggregate expression calculation.
The following sample uses an aggregate expression to calculate a count based on the entity type property (grocery store, restaurant, school, etc.) of each data point in a cluster.
Full documentation and demo sample for using cluster aggregates.
Heat maps are a great way to display the density of data on the map. This visualization can handle a large number of data points on its own, but it can handle even more data if the data points are clustered and the cluster size is used as the weight of the heat map
Full documentation and demo sample for clustered heat maps.
Clustered Pie Chart HTML Markers use cluster aggregates to surface useful information to the user without them having to even click on them. In this example, pie charts are used to show the number of gas stations, grocery stores, restaurants, and schools.
Demo sample for using clustered Pie Chart HTML Markers.
You can find even more ways to cluster data in Azure Maps in the documentation and on the SDK samples site.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.