25个稳定版本
2.0.6 | 2024年2月7日 |
---|---|
2.0.5 | 2023年4月8日 |
2.0.4 | 2022年3月23日 |
2.0.1 | 2020年7月25日 |
1.0.12 | 2019年4月30日 |
#955 在 算法
21,069 每月下载量
在 11 个crate中使用 (通过 geos)
1MB
34K SLoC
geos-sys
为GEOS >= 3.6.0提供低级GEOS C API绑定。
它提供与C接口相同的接口。如果您想使用更符合Rust的crate,请使用 georust/geos crate。
您也可以在 crates.io 上找到它。
构建
默认情况下,如果可用,构建将使用系统安装的GEOS
pkg-config
用于自动检测GEOS >= 3.9geos-config
用于自动检测GEOS < 3.9
如果GEOS在自定义位置,您可以使用环境变量来配置GEOS检测(两者都必须设置)
GEOS_LIB_DIR
GEOS_VERSION
如果 GEOS_LIB_DIR
也不在您的系统标准动态库搜索路径中,您可能需要在运行测试或由 cargo build
产生的可执行文件之前将其添加到动态库搜索路径中。
Linux
LD_LIBRARY_PATH=<path to GEOS>/lib GEOS_LIB_DIR=<path to GEOS>/lib GEOS_VERSION=<version> cargo test
MacOS
DYLD_FALLBACK_LIBRARY_PATH=<path to GEOS>/lib GEOS_LIB_DIR=<path to GEOS>/lib GEOS_VERSION=<version> cargo test
您可以使用 static
功能构建包含的GEOS版本,这将还将libgeos静态链接到这个crate。为了构建GEOS,您需要具有 cmake
和一个C++编译器。构建GEOS可能需要几分钟。
绑定
所有支持的GEOS版本都提供了预构建的绑定。
使用版本功能为目标GEOS版本;您的GEOS安装版本必须大于或等于此版本。
示例
cargo build --features v3_8_0
可以使用同级的 geos-sys-bind
crate创建新的绑定。