Assumptions are that the respective libraries are installed with their Python bindings:
- Google S2 and https://github.com/google/s2geometry/tree/master/src/python
- Uber H3 and https://github.com/uber/h3-py
- OpenEaggr DGGS
- rHEALPix
- DGGRID and dggrid4py and https://github.com/allixender/dggrid4py
- S2 can currently only be built on Linux (potentially also MacOS/Unix)
- OpenEAGGR and DGGRID are possible to build on Windows as well
- rHEALPix and H3 are available as multiplatform Python Pypi packages
- the experiment was run on a 2-CPU Intel XEON (each 8 cores*2 threads) server with 32 GB RAM and Ubuntu 18.04.3
#> python generate_cells_parquet.py -action cells -config config.json -cpu 16 -dggrid $(which dggrid) -out results_gen
- EAGGR doesn't seem to have a predefined logic of hierarchical cell resolutions for ISEA3H
- EAGGR doesn't seem to have a region filling algorithm available, neither for ISEA4T nor ISEA3H
- rHEALPix is pure Python (with Numpy/Scipy support), but cell generation/conversion is slower than the other C/C++ based implementations
- DGGRID is a commandline tool and can predominantly only be used to generate a grid and fill with sampling data, the Python API is only a wrapper
- implement high-performance API in compiled language with C-API (C, C++, Rust, Fortran or similar) for rHEALPix
- implement region coverer/filler algorithm and fixed resolutions API for OpenEAGGR
- implement module that provides access DGGRID internal APIs for cell-wise logic (like dggridR or pydggrid), but as C compatible library, build on top and add spatial analysis functions like S2 or H3