s2geometry
S2 geometry
Our great sponsors
s2geometry | S2 geometry | |
---|---|---|
26 | 4 | |
2,181 | 1,638 | |
2.5% | 1.0% | |
5.8 | 2.0 | |
26 days ago | 10 months ago | |
C++ | Go | |
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.
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.
S2 geometry
-
I wrote a package to compute the distance between two geographic latitude, longitude coordinates
I could be mistaken, but https://github.com/golang/geo does it already...
-
Get Coordinates Within Maps Bound Box
s2 a geo library from google can do exactly that, and has an implementation in Go. https://github.com/golang/geo
- Looking for a library to perform boolean operations on polygons
-
Protocol buffers database, a Key-Value database on the wire
There's a Java port and bindings for Python. The go port has been a work in progress for a while and the claimed to be at about 40% done. There's a rust port but it is based off of the go port and thus not complete either.
What are some alternatives?
h3 - Hexagonal hierarchical geospatial indexing system
0.30000000000000004 - Floating Point Math Examples
S2 geojson - Draw a polygon on the map or paste a geoJSON and explore how the s2.RegionCoverer covers it with S2 cells depending on the min and max levels
s2 - Node.js JavaScript / TypeScript bindings for Google S2
h3-go - Go bindings for H3, a hierarchical hexagonal geospatial indexing system
Kyrix - Interactive details-on-demand data visualizations at scale
osm - General purpose library for reading, writing and working with OpenStreetMap data
sled - the champagne of beta embedded databases
mbtileserver - Basic Go server for mbtiles
protoc-gen-star - protoc plugin library for efficient proto-based code generation
simplefeatures - Simple Features is a pure Go Implementation of the OpenGIS Simple Feature Access Specification