Skip to content

Acknowledgements

RustGIS stands on the work of many projects and their authors. Thank you to all of them. If your work is missing here, please open an issue.

Disclaimer

RustGIS is primarily built with Claude Opus 5.5, an AI model by Anthropic, working under human direction and review. Its results are tested, but check them for your own use, and please report anything that looks wrong.

The GIS that came before

QGIS and ArcGIS Pro set the expectations of a desktop GIS that RustGIS is measured against, and GDAL those of reading geospatial formats. MapLibre defines the style specification RustGIS implements a subset of for vector tiles, and PROJ the coordinate operations it follows. Zarr defines the chunked-array format read by RustGIS's raster provider.

Geoprocessing

The optional GeoLibre tool suite (geolibre-rust, built on whitebox-wasm) brings more than 1,000 raster, vector, LiDAR and hydrology tools, after John Lindsay's WhiteboxTools.

The suite runs separately from RustGIS: through an optional downloaded geolibre program on the desktop and command line, or a WebAssembly runner loaded on demand in the browser.

Data

ATTRIBUTION.md lists every asset with its source and licence.

Rust crates

RustGIS is written in Rust, built on these crates, among others:

Crate For
egui and eframe, wgpu The interface, natively and in the browser, and the GPU map
tiny-skia, lyon, ab_glyph, image, epaint_default_fonts CPU drawing, tessellation, text, images and fallback interface fonts
geo, geozero, shapefile, a5 Geometry, formats and the A5 grid
proj4rs, crs-definitions Coordinate systems
tiff, laz GeoTIFF and LAZ
Apache Parquet and Arrow, flatgeobuf, rusqlite (SQLite), calamine, csv, roxmltree GeoParquet (Arrow writes test fixtures), FlatGeobuf, GeoPackage, spreadsheets, CSV and XML
postgres, mysql, tiberius, rustls PostgreSQL/PostGIS, MySQL/MariaDB, SQL Server and TLS
miniz_oxide, brotli-decompressor, ruzstd, zstd, lz4_flex, weezl, zip Compression for rasters, Zarr chunks, map tiles, GeoParquet and plugin packages
wasmi Sandboxed WebAssembly plugins
ureq, serde HTTP and JSON
PyO3, wasm-bindgen, rfd The Python package, the web app and file dialogs

The full dependency list is in Cargo.toml, the crate and application manifests, and Cargo.lock. Dependency licences and copyright notices are collected in THIRD-PARTY-LICENSES.txt, with a separate list for Python.