I have the following regions marked up over map
Each region has assicated statistical data.
The problem is that sizes of these regions are very different. Some regions are very big and another ones are very small.
Obvious idea is to hierarchically merge regions so that at each zoom we will approximately same size of aggregated regions.
Are there any algorithms for this task?
The problem is that regions are not adjacing ideally, they can slightly overlap or have gaps between them.
I tried the followng approach:
I considered a grid (the same grid as web merkator use for tiles) at given zoom and assigned each region to closest grid point (closest to each centroid). Then I grouped region by grid points and joined them at some zoom.
Unfortunately, this produced bad results. A lot of regions of strange shapes and with holes appeared.
What can be suggested as better approach?