h3
s2geometry
Our great sponsors
h3 | s2geometry | |
---|---|---|
21 | 26 | |
4,593 | 2,181 | |
2.2% | 2.5% | |
7.2 | 5.8 | |
3 days ago | 25 days ago | |
C | C++ | |
Apache License 2.0 | Apache License 2.0 |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
h3
- H3: Hexagonal hierarchical geospatial indexing system
- Evaluation of Location Encoding Systems
- Not sure if this is the worst or most genius indentation I've seen
-
A population density map of the state of Pennsylvania
It looks like the base Kontur dataset uses H3 resolution 8, and there’s a lookup table here. “400m” seems to refer to the edge length (which averages to 461m).
-
[ANN] HexTree: geographical region-to-value mapping
I can speak to quadtrees, but the primary reason for using this is that you need a geographic "dictionary" (not using the word map to avoid confusion with charts), and you're perhaps already using the H3 hexagonal grid system.
-
What's everyone working on this week (34/2022)?
HexSet: is a way of storing a set of H3 cells in a tree, and doing fast (2-20 ns on my 2013 trashcan Mac Pro) membership tests. You must first convert the input data (e.g. GeoJSoN polygon) into H3 cells.
-
Surprising result while transpiling C to Go
> 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...
- Completely ignorant Newbie needing help with launching Ubers H3 Software.
-
Anyone doing geospatial queries? NoSQL? Amazon Location Service?
Uber just released their library to perform geospatial indexing - https://h3geo.org/. This might be an useful building block for you.
s2geometry
-
Hexagons and Hilbert Curves – The Horrors of Distributed Spatial Indices
I experimented with geospatial Hilbert Curves as a Postgres extension [0] for PostGIS using the S2 [1] spherical geometry library. S2 uses a scale free cell coverage pattern that is numbered using six interlocking space filling Hilbert Curves [2].
By having both high level (cell) and low level (cell id) geometries it was a very powerful library which allowed projection from the hilbert space into a Postgres spatial index (spgist) including various trees, like noted in this article. It appears to be still quite active in development.
[0] https://github.com/michelp/pgs2
[1] https://s2geometry.io/
[2] https://s2geometry.io/devguide/s2cell_hierarchy
- Show HN: TG – Fast geometry library in C
- Unum: Vector Search engine in a single file
-
Understanding Geohashes
If you check the h3geo comparison page, you should see plenty of alternatives to geohash, such as s2 or even h3 itself.
- Evaluation of Location Encoding Systems
-
Inscribed angle theorem in 3D/higher dimension
See some discussion I started at https://github.com/google/s2geometry/issues/190
-
An Interactive Explanation of Quadtrees
> It was quite hard for me to find open-source implementations of linear quadtrees.
You probably know this, but the S2 library has one: https://github.com/google/s2geometry
-
Why doesn’t my pokèstop show up?
https://s2geometry.io shows how this works
-
Needing advice to improve geodesic calculation time
If your points are distributed globally, however, I'd suggest using something like s2geometry (calculates over a sphere instead of an ellipsoid which is much faster + already has something called S2ClosestPointQuery).
-
What is the best data structure for this problem?
Some alternative solutions are S2 from Google and H3 from Uber. These don't have the same issues as geohash because they work on a 3-d model of the geoid and not a 2-d cylindrical projection like Geohash.
What are some alternatives?
S2 geometry - S2 geometry library in Go
Leaflet - 🍃 JavaScript library for mobile-friendly interactive maps 🇺🇦
0.30000000000000004 - Floating Point Math Examples
mapbox-gl-js - Interactive, thoroughly customizable maps in the browser, powered by vector tiles and WebGL
s2 - Node.js JavaScript / TypeScript bindings for Google S2
starlink-coverage - Calculating some statistics about Starlink satellites
Kyrix - Interactive details-on-demand data visualizations at scale
maplibre-gl-js - MapLibre GL JS - Interactive vector tile maps in WebGL2
sled - the champagne of beta embedded databases
Cesium - An open-source JavaScript library for world-class 3D globes and maps :earth_americas:
protoc-gen-star - protoc plugin library for efficient proto-based code generation