Spatial Cells (H3, S2, A5 and Geohash)
Icon Map Pro can render spatial grid cells on the map without you having to provide the polygons. Four grid systems are supported:
- H3 - Uber's hexagonal hierarchical grid. Resolutions 0 to 15.
- S2 - Google's spherical cell grid. Levels 0 to 30.
- A5 - a pentagonal equal-area grid. Resolutions 0 to 30.
- Geohash - the classic base-32 string grid. Precisions 1 to 12.
There are two ways that cells can be used within Icon Map Pro, and both work the same way for every grid system:
- Use Icon Map Pro to cluster up to 480000 rows of longitude and latitude data into cells, colored by the aggregated values.
- Pre-process the data before it is loaded into Power BI, to generate the cell IDs and the aggregated value for each cell. Then use Icon Map Pro to render up to 480000 cells at a time. For large numbers of cells, we recommend using WebGL rendering to improve display performance.
Reports built with earlier versions carry on working unchanged: the H3 options are the defaults, and the layer is still switched on with the same toggle in the Data Layers card.
Data Setup
Clustering performed by Icon Map Pro
The following field configuration is required for Icon Map Pro to cluster into cells:
- ID - a unique id for that location
- Longitude
- Latitude
- Cell Weight - a numeric value relating to that location. The values for the locations within each cell are aggregated within the visual (sum by default) to result in a final value for that cell.
Sample data
| ID | Longitude | Latitude | Destination Longitude | Destination Latitude | Circle Size | Cluster Group | Cell Weight | Heatmap Weight | Image / WKT / GeoJSON | Feature Reference | Feature Weight |
|---|---|---|---|---|---|---|---|---|---|---|---|
| ID1 | -2.576 | 51.481 | null | null | null | null | 62 | null | null | null | null |
| ID2 | -2.576 | 51.481 | null | null | null | null | 88 | null | null | null | null |
| ID3 | -2.955 | 51.332 | null | null | null | null | 45 | null | null | null | null |
| ID4 | -2.155 | 51.632 | null | null | null | null | 51 | null | null | null | null |
Display of pre-processed cells
- ID - the cell ID, in the format matching the Source option you choose (see the table below)
- Cell Weight - a numeric value relating to that specific cell
| Grid system | Source option | ID format | Example |
|---|---|---|---|
| H3 | H3 Indexes as ID (hex) | 15 character hex index | 85283473fffffff |
| H3 | H3 Indexes as ID (64bit integers) | the same index as a 64-bit integer | 599686042433355775 |
| S2 | S2 Cell IDs (64bit integers) | 64-bit S2 cell ID | 5221431186726846464 |
| S2 | S2 Cell tokens (hex) | S2 hex token | 48764 |
| A5 | A5 Cell IDs (64bit integers) | 64-bit A5 cell ID, or 0x-prefixed hex |
7156079070403362816 |
| Geohash | Geohashes as ID | base-32 geohash string | gcpvj0 |
Load H3 integer, S2 and A5 cell IDs into Power BI as Text columns. Power Query's default Decimal Number type rounds values above 2^53 and the cell will not be found. S2 tokens can also consist only of digits (for example 487605), so keep those as text too.
Cell IDs that cannot be parsed for the selected grid system are skipped rather than drawn.
Sample data
| ID | Longitude | Latitude | Destination Longitude | Destination Latitude | Circle Size | Cluster Group | Cell Weight | Heatmap Weight | Image / WKT / GeoJSON | Feature Reference | Feature Weight |
|---|---|---|---|---|---|---|---|---|---|---|---|
| 85283473fffffff | null | null | null | null | null | null | 62 | null | null | null | null |
| 8528347bfffffff | null | null | null | null | null | null | 88 | null | null | null | null |
Cell Configuration
Firstly Cells should be toggled to "on" in the Data Layers formatting options, which will then display the Cell Configuration and Cell Formatting cards.
Source
The Source dropdown selects both the grid system and whether Icon Map Pro should cluster your coordinates or use cell IDs from the dataset:
- H3 from Longitude and latitude coordinates
- H3 Indexes as ID (hex)
- H3 Indexes as ID (64bit integers)
- S2 from Longitude and latitude coordinates
- S2 Cell IDs (64bit integers)
- S2 Cell tokens (hex)
- A5 from Longitude and latitude coordinates
- A5 Cell IDs (64bit integers)
- Geohash from Longitude and latitude coordinates
- Geohashes as ID

Use WebGL Rendering (not available for the "from Longitude and latitude coordinates" sources)
Use WebGL Rendering to improve performance for large numbers of cells.
Aggregation Type
Available for the "from Longitude and latitude coordinates" sources. How the Cell Weight values of the locations within each cell are combined: Sum (the default), Count, Average, Min or Max.
Resolution Method
Available for the "from Longitude and latitude coordinates" sources.
- Fixed - every cell uses the single Resolution below.
- Based on Zoom - available when WebGL Rendering Mode is enabled. Cells are generated at every resolution from the Start Resolution to the End Resolution, and the map switches between them as you zoom between the Start Resolution Zoom Level and the End Resolution Zoom Level.
Resolution
A numeric value representing the size of the cells. The valid range depends on the grid system: H3 0 to 15, S2 levels 0 to 30, A5 0 to 30 and Geohash precisions 1 to 12. A value outside the range of the selected system is clamped to it.
This can be configured as a Power BI measure using a conditional formatting field value, and can therefore be configured using a slicer or other elements in your report, such as drill-down level or data context. As the resolution is incorporated into the cell IDs, this option is only displayed for the "from Longitude and latitude coordinates" sources.

Zoom By
This option is available for the "from Longitude and latitude coordinates" sources.

- Polygons - Auto zoom will be based on the whole cell, even if the underlying longitude and latitude coordinates cover a smaller area.
- Points - Auto zoom will be based on the underlying coordinates, meaning that the edges of cells may appear off the map.
- None - The map will not include cells when auto-zooming.
Selectable
This determines whether the cells can be selected, and used to cross-highlight or filter other visuals in the report.

- For the "from Longitude and latitude coordinates" sources the underlying location IDs are used to cross-highlight.
- For the cell ID sources the cell IDs are used to cross-highlight.
Include Tooltips
Whether to show the total value in each cell as a tooltip.
Show data labels
Whether to label each cell with its aggregated value (coordinate sources) or the labels field (cell ID sources), using the shared Labels formatting.
EPSG (Coordinate Reference System)
Allows you to specify a specific reference system for your coordinates. The default used is EPSG:4326 / WGS84 and expects longitude and latitude coordinates. You can use other coordinate systems by specifying the relevant EPSG number. For example, to use British National Grid coordinates, enter 27700. Other EPSG codes can be found here.

This option is available for all of the "from Longitude and latitude coordinates" sources, and not when using cell IDs.
Cell Formatting options
To enable formatting for up to 480000 cells, and on the aggregated data, Power BI conditional formatting is not available for clustered cells.

Use Power BI Formatting
This setting is available when cells are shown based on the cell ID in the ID field. It determines whether the cells are colored using The Start, Mid and End color ranges, or whether to use Power BI conditional formatting. Enabling the setting will remove the Start, Mid and End Color pickers and value selection. Instead the Fill Color property is shown, and both the Fill Color and Outline Color can be specified using Power BI's conditional formatting functionality.
As Power BI conditional formatting does not currently work correctly when there are more than 30000 rows of data, it is recommended that this setting is only enabled when you have not extended the number of data rows beyond 30000.
Outline Color
The color of the cell outlines
Outline Transparency
The transparency of the cell outlines
Outline Width
The width of the outlines. This number can be a decimal number.
Start Color
The color to shade the cells with the lowest values
Use Mid Color
If this is enabled, then the visual will use a three color gradient to shade the cells
End Color
The color to shade the cells with the highest values
Fill Transparency
The transparency of the cell fill
Specify Values

This option allows you to specify specific numeric values for each of the three colors. You can use DAX expressions to dynamically set these based on values in your data.
Extrude Cells

This option is available when WebGL Rendering Mode is enabled. Max extrusion height sets the height of the cell with the largest value.
