Adopt `wkb`
- Dominant language
- Shell
- Stars
- 1
- Forks
- 0
- PR merge metrics
- No merged PRs in 30d
Description
There's no freely-licensed, standalone WKB crate in the georust ecosystem. https://crates.io/crates/wkb exists but is AGPL3. geozero has a WKB parser and encoder, but it presents access as a stream, instead of by random access, which can be harder for downstream packages to use.
I propose that we move https://github.com/kylebarron/wkb into the georust org. It has:
- Reading and write without copying to an intermediate representation, thanks to `geo_traits`.
- Full support for Z, M, and ZM dimension data.
- Full support for little-endian and big-endian data, in both reading and writing.
- MIT and Apache 2 license.
In terms of benchmarks, a simple benchmark showed that it's 2.8x faster than Shapely for reading and 11x faster than Shapely for writing (ref https://github.com/kylebarron/wkb/pull/37 and https://github.com/kylebarron/wkb/pull/38). This isn't a _full_ apples to apples comparison because Shapely is a wrapper of GEOS to Python, but I think for WKB reading and writing the amount of Python overhead should be quite small. So I think it's safe to say this is at least as fast as GEOS, if not faster.
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.