Repolode
opengeos

opengeos/terrio

纯 Rust 实现的地理空间栅格、矢量与点云数据读写转换库和命令行工具,无 C 依赖。

可替代:GDAL

Star
130
Fork
12
未关闭 Issue
1
最近提交
1小时前

这是什么?

terrio 是一个用纯 Rust 编写的地理空间数据读写工具包,可以读取、写入和转换常见的栅格、矢量及点云格式,包括 GeoTIFF、Cloud Optimized GeoTIFF、GeoPackage、Shapefile、FlatGeobuf、LAS/LAZ/COPC 和 Zarr。它还支持坐标参考系之间的重投影,并提供一组类似 GDAL 的操作,如 translate、warp、mosaic、rasterize 以及 DEM 处理工具。

该项目面向需要类 GDAL 功能、但不希望引入 C 依赖的场景,可在 Rust 支持的任何平台构建,也包括 WebAssembly。它同时提供命令行工具、Rust 库、Python 绑定(支持 NumPy、Arrow,并提供类 rasterio 和 xarray 的接口)以及可用于浏览器和 Node.js 的 npm 包。HTTP、S3、GCS、Azure 等远程数据和 zip 压缩包可以直接读取。

项目目前处于早期开发阶段,读取、写入和格式转换已可用,处理类操作仍在完善中。坐标转换结果与 GDAL 和 PROJ 进行了对比测试。

核心功能

  • 01读写 GeoTIFF、COG、GeoPackage、Shapefile、FlatGeobuf 等栅格和矢量格式。
  • 02支持 LAS、LAZ、COPC 点云读写,并支持 EPT 与 E57。
  • 03在 EPSG 及自定义坐标参考系之间进行重投影。
  • 04可直接读取 HTTP、S3、GCS、Azure 上的远程数据以及 zip 压缩包内的文件。
  • 05提供类 GDAL 的 translate、warp、mosaic、rasterize 及 DEM 处理命令。
  • 06无 C 依赖,可编译到 WebAssembly,并可按格式通过 cargo feature 裁剪。

适用场景

  • 在脚本或 CI 流程中转换矢量或栅格数据格式,无需安装 GDAL。
  • 通过 HTTP 或对象存储读取 Cloud Optimized GeoTIFF,只获取所需的瓦片。
  • 借助 WebAssembly 包在浏览器或 Node.js 中处理地理空间数据。
  • 将激光雷达点云过滤并栅格化为 DEM。

快速上手

  1. 1

    从 PyPI 安装 terrio 包

    pip install terrio
  2. 2

    使用命令行查看数据集摘要

    terrio info countries.gpkg

使用前须知

  • 该项目处于早期开发阶段,数据处理相关操作仍在开发中。

标签

常见问题

terrio 是什么?
纯 Rust 实现的地理空间栅格、矢量与点云数据读写转换库和命令行工具,无 C 依赖。 terrio 是一个用纯 Rust 编写的地理空间数据读写工具包,可以读取、写入和转换常见的栅格、矢量及点云格式,包括 GeoTIFF、Cloud Optimized GeoTIFF、GeoPackage、Shapefile、FlatGeobuf、LAS/LAZ/COPC 和 Zarr。它还支持坐标参考系之间的重投影,并提供一组类似 GDAL 的操作,如 translate、warp、mosaic、rasterize 以及 DEM 处理工具。
terrio 可以免费使用吗?用的什么许可证?
terrio 以 MIT 许可证开源。用于商业产品前,请先确认许可证条款。
terrio 还在维护吗?
活跃维护中。terrio 最近一次提交是在 2026年10月22日。
terrio 适合用来做什么?
在脚本或 CI 流程中转换矢量或栅格数据格式,无需安装 GDAL。 通过 HTTP 或对象存储读取 Cloud Optimized GeoTIFF,只获取所需的瓦片。 借助 WebAssembly 包在浏览器或 Node.js 中处理地理空间数据。 将激光雷达点云过滤并栅格化为 DEM。
terrio 怎么安装和运行?
从 PyPI 安装 terrio 包: pip install terrio 使用命令行查看数据集摘要: terrio info countries.gpkg
在哪里获取 terrio?
源代码和安装说明在 GitHub 上:https://github.com/opengeos/terrio

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目