HackerReposA FIELD GUIDE TO OPEN SOURCE
ProSponsor the shelf♧ 0
← Back to top all-time
uber
h3
C2018–2022
uber / h3

h3

Hexagonal hierarchical geospatial indexing system

14Distinct people
14Mentions
0Explicit recommenders
6.7KGitHub stars
REPOSITORY AT A GLANCE

What to know before exploring

What it is

Hexagonal hierarchical geospatial indexing system

GitHub

Where it is used

No documented product use was verified in the last source check.

What people are saying

No recommendation phrase was found in the indexed comments.

No classified warning is attached to this page. Read the discussions before treating silence as approval.

Also in these discussions

No other repository is repeatedly linked in the same discussions.

This week on Hacker News

Nov 7–Nov 14 UTC · Direct repository links and separately labeled related project stories. Indexed through 11/14/2026, 1:49:46 PM UTC.

No direct repository links were found in the indexed HN discussions over the past seven days. Older discussions are available below.

Mentions over time

HN mentions by year14 dated mentions

Observed mentions: 2018-01-12 18:54:36 UTC to 2022-06-22 10:12:06 UTC.

02462018-01-01 00:00:00 UTC to 2019-01-01 00:00:00 UTC (exclusive): 7 mentions; 1 submissions, 6 comments20182019-01-01 00:00:00 UTC to 2020-01-01 00:00:00 UTC (exclusive): 2 mentions; 0 submissions, 2 comments2020-01-01 00:00:00 UTC to 2021-01-01 00:00:00 UTC (exclusive): 2 mentions; 0 submissions, 2 comments20202021-01-01 00:00:00 UTC to 2022-01-01 00:00:00 UTC (exclusive): 2 mentions; 0 submissions, 2 comments2022-01-01 00:00:00 UTC to 2023-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2022

Counts come from the repository’s dated source evidence. Index cutoff: 2026-11-02 08:16:59 UTC.

View mention counts and date ranges
UTC ranges include their start and exclude their end. Select a period to filter the source evidence.
PeriodStart (UTC)End (exclusive, UTC)MentionsSubmissionsComments
20182018-01-01 00:00:00 UTC2019-01-01 00:00:00 UTC716
20192019-01-01 00:00:00 UTC2020-01-01 00:00:00 UTC202
20202020-01-01 00:00:00 UTC2021-01-01 00:00:00 UTC202
20212021-01-01 00:00:00 UTC2022-01-01 00:00:00 UTC202
20222022-01-01 00:00:00 UTC2023-01-01 00:00:00 UTC101

What Hacker News says

14 sources
> What an amazing tool that can completely change function names when it converts from C to Go. How can one read the code of the benchmark, then switch into virulent sarcasm mode without trying to understand the code? And seeing "+1" comments without any effort to understand is also disheartening. The blog post had a link about the Go helper functions the author used. It lands on https://github.com/akhenakh/goh3/blob/main/h3.go This shows that the `FromGeo()` function used by the Go benchmark is a helper that calls transpiled functions. The benchmark code itself was of course not transpiled, so the sarcasm was unneeded and wrong. If anyone wants to dig in deeper, the C function `latLngToCell()` calls 2 functions, see https://github.com/uber/h3/blob/master/src/h3lib/lib/h3Index... The Go function `XgeoToH3()` allocates a TLS then calls the
Read the rest
same functions, see https://github.com/akhenakh/goh3/blob/main/ch3/a_linux_amd64... The C and Go code may not be strictly identical, but they seem pretty close. Enough to suppose the blog post was sincere. I believe the right thing to do is to ask the author why they used a custom rewrite of `latLngToCell()` in Go instead of calling the transpiled function.
In Surprising result while transpiling C to Go
Looks really awesome! Very quick responses. I would be interested in seeing the implementation of the service, interesting choice going with Swift. I'm guessing your using something like Vapor for hosting the API? How are the files designed? I'm guessing you have some cheap way of mapping (lat, long) into a file location? Maybe just by truncating the coordinates to your precision and mapping them onto the file? Using some fancy-pants Uber Hexagons[0]. How is the forecast delivered? Hmm! Many questions :-). I've been thinking lately of similar (but not for weather) "geographical" API's, and how to store/query data cheaply, so this interested me :-) [0]: https://github.com/uber/h3
In Show HN: Weather API for non-commercial use
Hexagons. There's a library available at https://github.com/uber/h3 that lets you partition the earth into hexagons (minus the required 12 pentagons) at various resolutions. It's spiffy. I had the hardest (read impossible) time when I first took a look at it getting it to compile into a mobile game. It worked fine in desktop, but not on mobile. So I punted and converted the whole thing into C#. It's a hot mess currently, but it works. However, the folks who created H3 added functionality and some optimizations that I want, so I'm rebuilding it, partly with dealing with some of the issues that have come up with my game during development. It's coming along smoothly, though the unit tests are what's slowing me down at this moment. Once that's done, I'm going back to my game. Covering the world in brightly colored hexagons as reality st
Read the rest
arts to crumble around you. So, still... Hexagons. That's what I'm working on.
In Ask HN: What are you working on?
The dual of a geodesic polyhedron, e.g. an icosahedron whose faces have been subdivided is in fact a common and excellent choice for geospatial applications, with https://github.com/uber/h3 being a good implementation. You can also subdivide the faces of a cube into smaller squares with a quadtree, e.g. https://s2geometry.io/ The Disdyakis triacontahedron's faces are probably too long and skinny for most geospatial applications though.
In The largest city in each 10x10 degree latitude/longitude box
Yep, Dr. Sahr came to the office a few times when we were first getting the original version done. He implemented the core of the algorithm and we took on many of the utility methods, most of them in https://github.com/uber/h3/blob/master/src/h3lib/lib/algos.c Then we dug in on code formatting, performance tuning (we've removed almost all of the H3IndexFat struct representation usage and switched most things to bitwise operations), and testing coverage. As for the bindings, I don't know which will be open sourced, so I can't say more, but we had asked Dr. Sahr to make sure the API itself never allocates memory, it must be passed in allocated memory, so it's not too hard to make bindings that work with both manual memory management and garbage-collected languages. Making the emscripten-compiled front-end Javascript "binding" was a lot of f
Read the rest
un, though. :)
In H3: A Hexagonal Hierarchical Geospatial Indexing System

MAKE YOURSELF AT HOME

A few shortcuts

/
Search the collection
?
Open this guide
Esc
Close dialogs and navigation

Your saved repositories and interests stay in this browser.