# Generate global grid of circles with minimum overlap with PostGIS

I want to generate a table of geometry points in PostGIS which represent the centers of circles, each with the same radius of X meters, that together form a "grid" that covers the entire earth's surface (ie every point on the earth is covered by at least one circle), and with minimal circle overlap.

On a plane, I imagine this pattern is pretty efficient in terms of minimal overlap. If there is a better pattern, please suggest.

I imagined an approach like this, first generating squares and using those to create circles, but such a grid ends up with much more circle overlap.

However, then I found that the circle centres can be described by the vertices of a grid of equilateral triangles.

I thought that because of that, a geodesic Discrete Global Grid System (DGGS) which used Class I triangle subdivisions would achieve the desired circle overlap pattern.

However, I ran into this problem: due to the way regular shapes become distorted when projected onto a sphere, the DGGS made by this method is completely irregular.

First level Class I subdivisions with this method have >10% differences in the lengths of triangle sides... no longer remotely equilateral, creating a pattern where the same radius circles can not guarantee complete coverage and minimum overlap.

Here's an example of 136km circles at level 5 subdivisions over part of Australia. They're nice and regular where I start recording, but move to the right and there are large gaps.

So my question is how can I create such a DGGS that is regular? By "regular", a maximum 1% variance in distances between circles would be acceptable, but >10% in my mind is too much to achieve the aims of coverage completeness and minimal circle overlap.

• Do you want to do this in a geographic or a projected coordinate system (globe, or flat map)?
– CL.
Nov 11, 2020 at 11:03
• @CL I'm new to GIS so I'm not 100% certain. I want to use these coordinates to poll a WGS84-based mapping API (ie projected, right?) which uses query parameters lat/lon + radius, hence the circles. It seems to me that a "circle" plotted on any projected system would yield increasingly squashed circles on the actual globe the closer one gets to the poles. Nov 11, 2020 at 12:03
• So you want to do this on a globe. A regular grid is not possible. See Covering Earth with Hexagonal Map Tiles.
– CL.
Nov 11, 2020 at 16:19
• @CL oh that sucks. What about if I exclude the top, above ~71 degrees and bottom, below about ~-55 degrees? Ie just grid out the middle doughnut? Does that make it any more possible? I guess suggested pattern has the problem of the circles bunching together the further they are from the equator. Nov 11, 2020 at 22:12
• That part is not flat either. If you take the curvature into account, you might as well cover the entire globe. (Does that API actually cover the poles?)
– CL.
Nov 12, 2020 at 8:40