Re:Harder, Better, Faster, Stronger Version of Uber H3 in Rust
by mattrighetti on Monday November 03, 2025 @04:04PM
(#45804406)
TIL! What are the advantages of hexagonal spatial indexing compared to e.g. quad trees, r-trees?
[ Parent
| on HN ]
Re:Harder, Better, Faster, Stronger Version of Uber H3 in Rust
by ashergill on Monday November 03, 2025 @04:24PM
(#45804628)
The main advantages of hexagons are that the distance to each neighbour is always the same, and the distortion across the globe is much less, because of the way H3 creates its grid (compared to the earlier Google S2 which uses squares and distorts a lot). There’s an excellent Uber blog post about this, I’ll see if I can find the link.
Re:Harder, Better, Faster, Stronger Version of Uber H3 in Rust
by ashergill on Monday November 03, 2025 @04:25PM
(#45804639)
(here’s the blog post: https://www.uber.com/en-GB/blog/h3/ )
Re:Harder, Better, Faster, Stronger Version of Uber H3 in Rust
by jandrewrogers on Monday November 03, 2025 @04:49PM
(#45804867)
The main advantage of hexagonal spherical tiling systems is that they are roughly equal area at a given resolution. This makes them particularly suitable for generating visualizable aggregates when you primarily care about spatial distribution rather than specific boundaries (like borders).
The main disadvantage of non-congruent tiling systems like H3 is poor scalability and performance when running analytical computations. In most cases you wouldn't want to shard your underlying data this way even if this is how you want to visualize it.
It is easy to get the best of both worlds. You can shard data models as 3-space spherical embeddings (efficient for large-scale analytic computation) and convert query results to an H3 tiling at wire speed on demand.
Re:Harder, Better, Faster, Stronger Version of Uber H3 in Rust
by pheelicks on Tuesday November 04, 2025 @02:18AM
(#45808257)
It is a common misconception that h3 is equal area. At any resolution level the cell size varies by a factor of 2, which is (roughly) the same as S2.
See the following visualizations for an illustration:
Re:Harder, Better, Faster, Stronger Version of Uber H3 in Rust
by jandrewrogers on Tuesday November 04, 2025 @11:47PM
(#45819239)
Note that I wrote “roughly equal area”. True equal area doesn’t exist. I am on record that for analytical purposes, equal area largely doesn’t matter.
Re:Harder, Better, Faster, Stronger Version of Uber H3 in Rust
by serjester on Monday November 03, 2025 @05:50PM
(#45805422)
One of the big ones that hasn't been mentioned is all of a hexagon's neighbors are equidistant. As a result, h3 is a better fit for flow modeling - stuff like telematics. This has some nice properties for ML too.
You can see one of my jupyter notebooks that dives deep into this with h3 here: https://drive.google.com/file/d/18jIVEbE_1QbwTbHdMqj0AVqguf2...