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算法

Download history 3421/week @ 2024-05-01 7413/week @ 2024-05-08 6032/week @ 2024-05-15 4589/week @ 2024-05-22 4364/week @ 2024-05-29 4204/week @ 2024-06-05 3908/week @ 2024-06-12 5658/week @ 2024-06-19 4777/week @ 2024-06-26 4676/week @ 2024-07-03 5288/week @ 2024-07-10 3715/week @ 2024-07-17 5662/week @ 2024-07-24 4674/week @ 2024-07-31 5412/week @ 2024-08-07 4637/week @ 2024-08-14

21,069 每月下载量
11 个crate中使用 (通过 geos)

MIT 协议

1MB
34K SLoC

C++ 18K SLoC // 0.2% comments Rust 15K SLoC // 0.0% comments C 240 SLoC // 0.3% comments Shell 47 SLoC // 0.4% comments Batch 9 SLoC Perl 2 SLoC

geos-sys

为GEOS >= 3.6.0提供低级GEOS C API绑定。

它提供与C接口相同的接口。如果您想使用更符合Rust的crate,请使用 georust/geos crate。

您也可以在 crates.io 上找到它。

构建

默认情况下,如果可用,构建将使用系统安装的GEOS

  • pkg-config 用于自动检测GEOS >= 3.9
  • geos-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创建新的绑定。

依赖关系