HackerTube
HomeLongsLikedHistoryWatch laterCategoriesPlaylistsSettings

H3: Tiling the Earth with Hexagons

Uber Engineering1 HN recommender · recommended in 1 month, 2018-2025
YouTube
53K views · 8 years ago · talk · evergreen

Uber Engineering's Joseph Gilley explains why Uber uses hexagons for geospatial indexing and introduces H3, its open source hierarchical grid system. He covers use cases and how distortion is handled.

HN points to it as the detailed explanation of why hexagons suit map grids, in threads about H3.

Databases & storageData visualization & information designAlgorithms & data structures#h3#hexagonalgrid#uber#spatialindex#maps

3 comments from Hacker News

@poeticLLama2025 · in “H3: For indexing geographies into a hexagonal grid, by Uber”

Key reasons for the choice of hexagons in h3 - hexagons have have low distortion as compared to squares when you attempt tessellation of a spherical shape. You just require 12 pentagons to complete this tessellation. - all six neighboring cells are equidistant from the center of a cell. One of the use case Uber was trying to solve here, was to show which regions had surge pricing - on the uber app for the drivers. With h3 and hexagons you can argue it looks a teensy bit better with smoother gradients link . I am not sure whether Uber uses h3 for other use cases like - finding the closest drivers next to a location. See this presentation from Uber on this: ▶ this video

CitesView on HN
@mtrovo2019 · in “H3: Uber’s Hexagonal Hierarchical Spatial Index (2018)”

They go into some detail on this talk ▶ this video . What I get from their explanation is that hexagon is a better shape for map grids because they are the most complex shape that can tesselate (the other two are triangles and squares). As they are more close to a circle, distances within a cell are more stable, also computing the distance from a cell center to its neighbours is stable in hexagons as well. I think the reason hex is not more common is that subdivisions are hard to create compared to triangles or squares. Uber solved this by subdividing in 7 smaller hex and tilting it so they cover the bigger shape with some small overlap. Also a big problem is distortion, I never thought this would be that huge of a problem but it makes sense. They go into a lot of the details later on the same video.

RecommendsView on HN
@notroot2018 · in “H3: Uber’s Hexagonal Hierarchical Spatial Index”

Why hexagons? * Neighbor traversal simplicity of neighbors; triangles 3 classes of neighbors, squares 2 classes of neighbors, hexagons only one class of neighbor! * Subdivisions Squares obviously do this pretty well but by alternating cw, cww rotations and allowing not quite perfect coverage they get to shard with different resolutions/hex sizes. * Distortion "most important" Basically the use case here is visualizations that maintain basic unit appearance. They even pick the location of their vertices to be over water minimizing land distortions. source: ▶ this video p.s. as `contravariant` said you can't tessellate a sphere with hexagons so they project onto a icosohedron with pentagons at each of the twelve vertices (positioned over water) ▶ this video

CitesView on HN
Pentagons Are Terrible at One Thing9:27

Pentagons Are Terrible at One Thing

CGP Grey
20.6M views • 6 years ago
REcon 2013 - The Future of RE : Dynamic Binary Visualization (Christopher Domas)1:03:22

REcon 2013 - The Future of RE : Dynamic Binary Visualization (Christopher Domas)

Sébastien Duquette
9K views • 12 years ago
I Solved Klotski12:20

I Solved Klotski

2swap
2.1M views • 1 year ago
GoRuCo 2012 Hexagonal Rails by Matt Wynne29:23

GoRuCo 2012 Hexagonal Rails by Matt Wynne

Confreaks
17K views • 14 years ago
Rich Hickey: Deconstructing the Database1:06:24

Rich Hickey: Deconstructing the Database

InfoQ
106K views • 14 years ago
Three Beautiful Quicksorts53:56

Three Beautiful Quicksorts

Google TechTalks
45K views • 19 years ago
Google Earth’s Incredible 3D Imagery, Explained8:09

Google Earth’s Incredible 3D Imagery, Explained

Nat and Friends
3.1M views • 9 years ago
Rich Hickey rants about HttpServletRequest in 1080p: Death By Specificity from Clojure Made Simple4:57

Rich Hickey rants about HttpServletRequest in 1080p: Death By Specificity from Clojure Made Simple

Fred Overflow
43K views • 6 years ago
15 Sorting Algorithms in 6 Minutes5:50

15 Sorting Algorithms in 6 Minutes

Timo Bingmann
29.4M views • 13 years ago
Lenses, Folds, and Traversals1:54:46

Lenses, Folds, and Traversals

Edward Kmett
54K views • 13 years ago
A Deep Dive into Nanite Virtualized Geometry1:10:00

A Deep Dive into Nanite Virtualized Geometry

SIGGRAPH Advances in Real-Time Rendering
278K views • 5 years ago
Superpositions, Sudoku, the Wave Function Collapse algorithm.14:28

Superpositions, Sudoku, the Wave Function Collapse algorithm.

Martin Donald
764K views • 6 years ago
Visualizing Data Using t-SNE55:10

Visualizing Data Using t-SNE

Google TechTalks
204K views • 13 years ago
Thesis: Partial State in Dataflow-Based Materialized Views45:50

Thesis: Partial State in Dataflow-Based Materialized Views

Jon Gjengset
17K views • 6 years ago
Breakout Session Presented by Dan Robinson of Heap at PGConf Silicon Valley 201554:54

Breakout Session Presented by Dan Robinson of Heap at PGConf Silicon Valley 2015

Citus Data
14K views • 10 years ago
SYMBOLICS S-PACKAGES 3D GRAPHICS AND ANIMATION DEMO29:16

SYMBOLICS S-PACKAGES 3D GRAPHICS AND ANIMATION DEMO

Red Martian
14K views • 13 years ago
Succinct Data Structures1:26:11

Succinct Data Structures

Edward Kmett
9K views • 12 years ago
4 2 1 Christopher Domas   The future of RE Dynamic Binary Visualization48:39

4 2 1 Christopher Domas The future of RE Dynamic Binary Visualization

Adrian Crenshaw
59K views • 14 years ago
Coding Adventure: Ant and Slime Simulations17:54

Coding Adventure: Ant and Slime Simulations

Sebastian Lague
2.2M views • 5 years ago
The Maximal Graph - Wilker Silva39:15

The Maximal Graph - Wilker Silva

ClojureTV
8K views • 6 years ago