Belarus Trylinka Grid Map

The hex tile grid map shows the population density of Belarus by districts through a hexagonal uniform size tiles.

A tile grid map is not an exact geographical projection, but a conceptual scheme where regions are represented by tiles in relative layout close to the original. On the map below, each tile is filled with a dot pattern directly pointing to the population density value in the region: the more dots, the higher the density.

Hover over regions for details.

Placeholder image for interactive data visualization Belarus Trylinka Grid Map Population Density

So it seems that Belarus has enough space to live without the need to see many people around. The average population density here is 46 people per km2 (and median by districts is 17 people/km2), which is lower than the European average (72 people/km2).

Placeholder image for interactive data visualization Hexagonal Tile Grid Map of Population Density in European Countries

Tile Grid Map

Tile Grid Map, also referred as TGM, is a popular method to show aggregated data distributed between spacial units equal in value. A useful feature of tile grid maps, regardless of the tile shape, is one size for each tile. This provides equal visual weight for each region. It can be helpful when you need to compare some values for regions that vary greatly in size.

On the other hand, in many cases there is no way to provide an accurate relative position of the tiles according to the original regions geographic location. As a result, such a map will look strange to an uninitiated reader and it will cost extra effort to figure out how to read it.

What about Hex TGM, for me this visualization method should be called not otherwise than Trylinka Grid Map (applicable at least for the particular region including Belarus, Poland and Ukraine) following the name of the local construction artefact from the 1930s.

Trylinka, hexagonal tile

Trylinka is a hexagonal tile, literally.

The road from Pinsk to Yanava paved with trylinka, photo by Бандык Паляшуцкі
The road from Pinsk to Yanava paved with trylinka,
photo by Бандык Паляшуцкі via X

Building this visualization

I've wanted to build a density dot map for a long time. So, moving forward with my Graphing Belarus series I finally made something similar. On the technical side, in addition to hexagonal binning, I've also played a bit with Canvas API — one more new thing for me.

1. Designing hex tile grid layout

First I looked for prior hexagon tile maps of Belarus. No luck to find any, I build a grid in Illustrator and played around with it until I was happy with the location of regions.

In addition, I have placed cities with special status separately, because sometimes it's nice to have this option for analysis.

You can download my version of the hex tile grid map of Belarus in a vector format for further manipulations.

Download SVG
Belarus Hex Tile (Trylinka) Grid Map by districts

2. Generating hex tile grid map

Well, It's good to have a vector layout, but I wanted to build the tile map from scratch. This approach has obvious advantages: you can filter regions and leave only those you need for now, plot appropriate value to each tile, add interactivity.

I prepared a CSV file with the tile coordinates so that the map could be generated by the script. After Nadia Bremer's brilliant tutorials, I got some insight into the math and logic behind creating a hexagonal pattern and how to add boundaries between hexagons where I needed them. So after a couple of hours of despair and struggle I had a working code generating my hexagonal grid map.

3. Plotting dots pattern

Moving on, I was about to plot dot pattern for regions. But it was clear that this task was not for SVG.

That's when I took a break to get to know the Canvas API from MDN Docs. I found everything I needed there to create dotted patterns inside hexagonal clips.

(the visualization itself doesn't impress me much, but I'm happy with the process)

4. Adding a European context

Finally, I wondered if 46 people per square kilometer is a lot. So I decided to compare Belarus population density with other European countries.

The process with the map was almost the same as in the first stage, except that I found the ready-made hexagon tile grid map of Europe. It was the work by David Taylor I found in The Eurosearch Song Contest making-of article by Maarten Lambrechts. I made only some minor corrections by adding a few countries.

This time I've coded values with color and made a beeswarm plot, which also serves as a color legend. In order not to search for Belarus for a long time among other countries, I highlighted it in yellow.

Also to make mousehover effect smooth and nice, I added a top transparent interactive layer with a Voronoi diagram.

Schema shows Voronoi diagram polygons plotted over the beeswarm plot to provide better interaction experience

Notebooks Force-directed Beeswarm by Harry Stevens and Hover Voronoi by Mike Bostock were excellent reference for me at this stage.

Hex Tile Grid Map of Europe in two layouts: the version of David Taylor and the updated one with Monaco, Vatican City, San Marino, Liechtenstein, Andorra and Kazakhstan added
David Taylor's hexagon tile grid map of Europe compared to the updated version: Monaco, Vatican City, San Marino, Liechtenstein, Andorra and Kazakhstan tiles were added.

This data visualization is as a part of Graphing Belarus series, a personal project to explore Belarus with data.

The hexagonal tile grid map is built with D3.js using d3-hexbin module.

Data sources:
Belarus population on Jan. 1, 2024. National Statistical Committee of the Republic of Belarus.
Area and population of European countries. Wikipedia, as of 29 October 2024, at 11:44 (UTC).