An open-source browser globe that layers live flights, ships, satellites, quakes, traffic and public cameras on photorealistic 3D terrain, with voice control.
opengeos/terrio
Pure-Rust library and CLI for reading, writing and converting raster, vector and point cloud geospatial data without C dependencies.
Open-source alternative to:GDAL
- Stars
- 128
- Forks
- 12
- Open issues
- 1
- Last commit
- 2 hours ago
What is it?
terrio is a geospatial data I/O toolkit written in pure Rust. It reads, writes and converts common raster, vector and point cloud formats, including GeoTIFF and Cloud Optimized GeoTIFF, GeoPackage, Shapefile, FlatGeobuf, LAS/LAZ/COPC and Zarr. It also covers reprojection between coordinate reference systems, and a set of GDAL-style operations such as translate, warp, mosaic, rasterize and DEM tools.
The project is aimed at workflows that need GDAL-like behavior without C dependencies, so it can build anywhere Rust builds, including WebAssembly. It exposes the same functionality as a command-line tool, a Rust library, Python bindings (NumPy, Arrow, rasterio- and xarray-style APIs) and an npm package for browsers and Node.js. Remote and archived inputs such as HTTP, S3, GCS, Azure and zip files can be read in place.
The project is in early development: reading, writing and conversion work, while processing operations are still being built out. Coordinate transformations are tested against GDAL and PROJ.
Key features
- 01Reads and writes GeoTIFF, COG, GeoPackage, Shapefile, FlatGeobuf and other raster and vector formats.
- 02Reads and writes point clouds in LAS, LAZ and COPC, with EPT and E57 support.
- 03Reprojects data between EPSG and custom coordinate reference systems.
- 04Reads remote and archived data in place from HTTP, S3, GCS, Azure and zip files.
- 05Provides GDAL-style commands for translate, warp, mosaic, rasterize and DEM processing.
- 06Builds without C dependencies, including to WebAssembly, with optional cargo features per format.
Use cases
- Converting vector or raster datasets between formats in a script or CI pipeline without installing GDAL.
- Reading Cloud Optimized GeoTIFFs over HTTP or object storage, fetching only the tiles a window needs.
- Processing geospatial data in a browser or Node.js with the WebAssembly package.
- Filtering and gridding lidar point clouds into DEMs.
Quick start
- 1
Install the terrio package from PyPI
pip install terrio - 2
Summarize a dataset with the command line
terrio info countries.gpkg
Things to know
- The project is in early development, and processing operations are still in progress.
Topics
FAQ
- What is terrio?
- Pure-Rust library and CLI for reading, writing and converting raster, vector and point cloud geospatial data without C dependencies. terrio is a geospatial data I/O toolkit written in pure Rust. It reads, writes and converts common raster, vector and point cloud formats, including GeoTIFF and Cloud Optimized GeoTIFF, GeoPackage, Shapefile, FlatGeobuf, LAS/LAZ/COPC and Zarr. It also covers reprojection between coordinate reference systems, and a set of GDAL-style operations such as translate, warp, mosaic, rasterize and DEM tools.
- Is terrio free to use? What license does it have?
- terrio is open source under the MIT license. Check the license terms before using it in commercial products.
- Is terrio still maintained?
- Actively maintained. The last commit to terrio was on Oct 22, 2026.
- What can I use terrio for?
- Converting vector or raster datasets between formats in a script or CI pipeline without installing GDAL. Reading Cloud Optimized GeoTIFFs over HTTP or object storage, fetching only the tiles a window needs. Processing geospatial data in a browser or Node.js with the WebAssembly package. Filtering and gridding lidar point clouds into DEMs.
- How do I install terrio?
- Install the terrio package from PyPI: pip install terrio Summarize a dataset with the command line: terrio info countries.gpkg
- Where can I get terrio?
- The source code and installation instructions are on GitHub: https://github.com/opengeos/terrio
Summary generated by AI from the project's README. GitHub stats refresh daily.
Related projects
A JavaScript library for rendering interactive 3D globes and 2D maps in the browser with WebGL, without plugins.
A high-performance JavaScript library for building interactive web maps that display tiles, vector data and markers from any source.
A Redis module that adds full-text, secondary indexing, vector similarity and aggregation queries to Redis data.
Open-source Rust toolkit for logging, visualizing, querying and streaming multimodal robotics and sensor data over time.
A high-performance, multiplayer code editor written in Rust, from the creators of Atom and Tree-sitter.