Skip to content

Azure-Samples/azure-maps-gridded-data-source

Repository files navigation

page_type description languages products
sample
A module for the Azure Maps Web SDK that provides a data source that clusters data points into cells of a grid area.
javascript
typescript
azure
azure-maps

Azure Maps Gridded Data Source module

A module for the Azure Maps Web SDK that provides a data source that clusters data points into cells of a grid area.

This operation is also known by many names such as tessellations, data binning, or hex bins.

A couple of the key features of this module:

  • Generates pixel accurate cells for better visual appearance. Spatially accurate grids on a Web Mercator map are stretched and skewed which is less visually appelling.
  • Uses an index based clustering method for high performance rather than a point in polygon method.
  • Supports aggregate properties that calculates aggregate values from properties of all points within each grid cell, similar to the clustering functionality of a DataSource.
  • Grid cell polygons clipped at anti-merdian to ensure no overlapping of cells.
  • 6 different grid types:
Name Image Description
Hexagon hexagon grid A haxagon grid where the top of the hexagon is flat.
Pointy hexagon pointy hexagon grid A haxagon grid where the top of the hexagon is pointy.
Square square grid A sguare grid.
Triangle triangle grid A triangular grid.
Circle circle grid A square grid where cells are converted into circles. The circle does not cover the entire area the cell represents, but does include all points that would fall within the specified grid cell.
Hexagon circle hexagon circle grid A haxagon grid where cells are converted into circles. The circle does not cover the entire area the cell represents, but does include all points that would fall within the specified grid cell.

Credit

A lot of the hexagon grid based algorithms came from this awesome site.

Triangle grid calculations are based on this blog post

Getting started

Download the project and copy the azure-maps-gridded-data-source JavaScript file from the dist folder into your project.

See the documentation for more details on a specific feature or take a look at one of the samples below.

Samples

Extruded gridded data source

Show points of gridded data source

Gridded data source options

Ideas for enhancements

  • Use of web workers for large data sets.
  • Offloading calculations to WebGL.
  • Option for geospatially accurate grids.
  • Polygon mask to clip to.

Related Projects

Open Azure Maps Web SDK modules

Additional projects

Additional Resources

Contributing

We welcome contributions. Feel free to submit code samples, file issues and pull requests on the repo and we'll address them as we can. Learn more about how you can help on our Contribution Rules & Guidelines.

You can reach out to us anytime with questions and suggestions using our communities below:

This project has adopted the Microsoft Open Source Code of Conduct. For more information, see the Code of Conduct FAQ or contact opencode@microsoft.com with any additional questions or comments.

License

MIT

See License for full license text.