Show HN: A5
Can you give some examples of when this might be better to use than H3?
The ones that seem obvious:
- You need very high resolution. H3 is also 64 bit I think, but it seems like A5 highest resolution is about 4 orders of magnitude higher.
- Equal cell size: are the cells exactly equal in size (in m2)? H3 they vary by up to ~2x.
What are the downsides? The shapes are irregular, distances between centroids are not uniform...
What's the advantage of this over HEALPix projection? https://en.wikipedia.org/wiki/HEALPix
I once made a DGG without knowing that it was called a DGG so I could look up how to actually do it in the literature.
I ended up making it an icosahedron and recursively subdividing each face into four new ones by inscribing a new triangle. The project went nowhere for different reasons, so I never figured out if it would have worked, and given this isn’t one of the examples I suspect it wouldn’t have.
So if I've understood correctly:
Google's S2 is all about performance and prefix-matching.
Uber's H3 makes the math a bit more complex to prioritize less variation in centerpoint-to-centerpoint distances (because they care most about driving times).
This makes the math even more complex to prioritize less variation in area covered by far away tiles (most applicable to e.g. analyzing density of something).
For a visual explanation of how the system works, as well as interactive examples, check out the project website at https://a5geo.org/examples/
A5 uses pentagons, Uber's H3 uses hexagons:
H3: Uber’s Hexagonal Hierarchical Spatial Index https://www.uber.com/en-DE/blog/h3/
Is it primarily useful just for data visualization? Would there be an potential performance benefits for something like searching a database for nearby data?
H3 and S2 are supported out of the box in ClickHouse and have reference libraries in C and C++. But it looks like A5 only has a reference implementation in TypeScript. Porting would not be a problem, though...
> The benefit of choosing a dodecahedron is that it is the platonic solid with the lowest vertex curvature, and by this measure it is the most spherical of all the platonic solids. This is key for minimizing cell distortion as the process of projecting a platonic solid onto a sphere involves warping the cell geometry to force the vertex curvature to approach zero. Thus, the lower the original vertex curvature, the less distortion will be introduced by the projection.
This feels like an uncommon need to optimize for. Can't think of a reason I would reach for this over S2 or H3
[dead]
Please please please include a description in your title. Just a couple of words will do.