h3
Oat++
Our great sponsors
h3 | Oat++ | |
---|---|---|
21 | 21 | |
4,588 | 7,410 | |
2.1% | 1.7% | |
7.1 | 8.4 | |
17 days ago | 17 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.
Oat++
-
Experience using crow as web server
I looked at oatpp and drogon, which are both great, but feel too high-level for my purposes. I tried drogon and got something working, but it feels like too much for my requirements, as in particular I'd like to slot in my choice of Json and message-body handling. C.f. the simple approach in Crow, which I easily understand and build on.
-
What isn't cpp used on web servers as much as other languages?
With the right libraries, C++ could be a good fit for applications that want to expose a fast web API to things that need lots of compute (simulators, for instance) or I/O (interactive editing of large datasets). Projects like Oat++ and Crow give me hope that we might see such an ecosystem develop.
-
REST APIs using C++. (Is this even done much?)
Lots of other options have been mentioned, but I'll throw Oat++ into the mix. I used it for this purpose and it was reasonably painless.
- C/C++ framework for REST API implementation
-
People talking about C++ and Java as bad languages. Let me introduce to you: Java++
https://github.com/oatpp/oatpp +WASM ;)
-
Server with oat++. Installation. CmakeLists.txt
cd "some/temp/path/for/repositories" git clone https://github.com/oatpp/oatpp.git cd oatpp mkdir build && cd build cmake .. (sudo) make install
-
How to use C++ as the backend for web dev?
Maybe use something like https://oatpp.io to create a REST API: C++ in the backend with this library to create a REST server, and the JavaScript/TypeScript frontend to ask for the information.
-
making a web server in c++?
I've used OATPP ( https://github.com/oatpp/oatpp ) which worked nicely for setting up simple rest interfaces. Supports things like swagger & websockets out of the box. It's also on Conan which is nice if you use cmake. I can't speak to it's performance but it has about a 1mb binary size footprint.
- Not mine but the pain of c++
-
learning c++: looking for structured project tutorial (web app/api? or other?)
As for your web problem, I have only used https://oatpp.io/ in the past but I'm sure there are more frameworks like that on the internet.
What are some alternatives?
S2 geometry - S2 geometry library in Go
drogon - Drogon: A C++14/17 based HTTP web application framework running on Linux/macOS/Unix/Windows [Moved to: https://github.com/drogonframework/drogon]
Leaflet - 🍃 JavaScript library for mobile-friendly interactive maps 🇺🇦
Crow - Crow is very fast and easy to use C++ micro web framework (inspired by Python Flask)
mapbox-gl-js - Interactive, thoroughly customizable maps in the browser, powered by vector tiles and WebGL
Pistache - A high-performance REST toolkit written in C++
starlink-coverage - Calculating some statistics about Starlink satellites
Boost.Asio - Asio C++ Library
s2geometry - Computational geometry and spatial indexing on the sphere
Crow - A Fast and Easy to use microframework for the web.
maplibre-gl-js - MapLibre GL JS - Interactive vector tile maps in WebGL2
Wt - Wt, C++ Web Toolkit