25 个版本
新增 0.11.4 | 2024 年 8 月 17 日 |
---|---|
0.11.2 | 2024 年 6 月 2 日 |
0.10.5 | 2024 年 3 月 18 日 |
0.10.3 | 2023 年 12 月 6 日 |
0.4.0 | 2023 年 3 月 26 日 |
#268 in 地理空间
每月 412 次下载
用于 e57-to-las
235KB
5K SLoC
E57 Rust 库
一个用于读取和写入 E57 文件的纯 Rust 库。无不安全代码,无冗余依赖。
查看 工具文件夹,其中包含一些代码示例,展示了如何使用此库。
E57 文件格式
E57 文件格式用于存储点云和相关图像数据。它是一个中立的文件格式,不受任何特定供应商或设备类型的限制,因此通常用作不同应用程序和组织之间的交换格式。通常用于由地面和手持式激光扫描仪生成的数据。它还可以处理由机载激光扫描仪生成的数据,但对于这种情况,LAS/LAZ 文件格式更常用。
变更日志
阅读 CHANGELOG.md 文件,以获取所有已发布版本及其对应更改的列表。
已知限制
- 不支持点分组
- 忽略索引数据包
- 不支持字符串类型的点属性
请报告不兼容的文件!
如果您发现一个 E57 文件可以用其他软件读取,但在此软件包中产生错误,请通知我并在 Github 上创建一个 issue。同样适用于由此库创建且无法由此库或任何其他软件正确读取的 E57 文件。我希望此库能与尽可能多的文件和应用一起工作!
理想情况下,您可以提供文件本身的链接。如果不可能,请包括完整的错误信息和生成文件的软件名称。如果可能,请还包括文件的XML部分。
动机
E57文件格式已被广泛应用于交换地面激光扫描仪产生的数据。然而,能够读写此文件格式的实现并不多。大多数应用程序使用原始的C++参考实现(见http://www.libe57.org/)或由Andy Maloney维护的分支(见https://github.com/asmaloney/libE57Format)。
我认为有一个没有不安全代码的纯Rust解决方案会很好。在我看来,Rust是解析不受信任数据的绝佳选择,尤其是如果您计划在云后端等地方使用代码。
如果您想在Rust项目中处理E57文件,这个crate也将避免所有与集成C++代码相关的问题。
代码覆盖率
此存储库中包含的Visual Studio Code任务包含一些代码覆盖率测量的任务。要运行它们,您需要使用以下命令安装grcov
和LLVM工具:cargo install grcov
以及rustup component add llvm-tools
。
依赖关系
~175KB