georust / georust/meta

Adopt `wkb`

Open
#37 0 comments 0 reactions 0 assignees View on GitHub
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.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.