This page contains javascript content, please enable javascript in your browser.
Skip to content


Two main software products are developed in the Geomorphometry & Hydrogeomatics Research Group including the GIS Whitebox Geospatial Analysis Tools (Whitebox GAT) and the WhiteboxTools stand-alone command-line program and Python programming interface. Both of these software packages are distributed under open-source licenses.

sky line

WhiteboxTools (visit the WhiteboxTools home page)

WhiteboxTools logo

WhiteboxTools is an advanced geospatial data analysis engine developed at the University of Guelph's Geomorphometry and Hydrogeomatics Research Group using the Rust programming language. It is currently one of the flag-ship software platforms developed by the GHRG. For more information about the project, or to download the WhiteboxTools library, please visit the WhiteboxTools home page

Legacy Software

Whitebox Geospatial Analysis Tools

The Whitebox GAT project began in 2009 and was conceived as a replacement for the Terrain Analysis System (TAS). Whitebox GAT was intended to have a broader focus than its predecessor, positioning it as an open-source desktop GIS and remote sensing software package for general applications of geospatial analysis and data visualization. Whitebox GAT is intended to provide a platform for advanced geospatial data analysis with applications in both environmental research and the geomatics industry more broadly. It was envisioned from the outset as providing an ideal platform for experimenting with novel geospatial analysis methods. Equally important is the project’s goal of providing a tool that can be used for geomatics-based education.

Whitebox GAT screenshot

Do you want to cite Whitebox GAT in your work?

Lindsay JB. 2016. Whitebox GAT: A case study in geomorphometric analysis. Computers & Geosciences, 95: 75-84. DOI: 10.1016/j.cageo.2016.07.003

GoSpatial (visit the GoSpatial GitHub page)

Warning: This project was developed during a period when I was experimenting with different alternatives to Java for developing Whitebox GAT. I have now settled on the Rust programming language for future development efforts. The tools that are contained within the GoSpatial codebase have since been ported to WhiteboxTools (see above). This project is being maintained for archival purposes only.

GoSpatial is a command-line interface program for analyzing and manipulating geospatial data. It has been developed using the Go programming language and is compiled to native code. The project is experimental and is intended to provide additional analytical support for the Whitebox Geospatial Analysis Tools open-source GIS software. GoSpatial can however be run completely independent of any other software and is run from a single self-contained executable file. The source code can be accessed from the GitHub repository along with help documentation. GoSpatial is distributed under an open-source MIT License.

GoSpatial screenshot

Why GoSpatial?

GoSpatial hits some niches that I cannot get to with Whitebox GAT. It's small and lightweight. It's also compiled to native code and does not rely on the previous installation of a virtual machine (VM), whereas Whitebox GAT runs on the Java VM. You can easily call GoSpatial functions from a Python or Ruby script, which is something that can be difficult with Whitebox GAT. Whitebox GAT is very much tied to its native raster data format but GoSpatial will happily ingest and write numerous common raster formats including GeoTIFF, Esri (binary and ASCII), GRASS GIS ASCII, Whitebox GAT, SAGA binary, Golden Software ASCII, and IDRISI binary raster formats. This can be a convenient way to export a Whitebox raster to a GeoTIFF. GoSpatial is written using the Go programming language (a.k.a. Golang), which is known for its excellent concurrent programming support. This means that I am more easily able to experiment with parallel versions of geospatial analysis tools than I would be able to in Whitebox GAT. Frankly, learning Go was something that I had wanted to do for a while and GoSpatial provided an excellent excuse to do so.

GoSpatial will never replace Whitebox GAT, which will continue to be the main focus of my future development efforts. I think that GoSpatial has the potential to compliment Whitebox in ways that will improve both software packages.

Download GoSpatial (v.

  • MacOS 64-bit (1.3 MB zipped)
  • Windows 64-bit (1.4 MB zipped)
  • Windows 32-bit (1.3 MB zipped)
  • Linux 64-bit (1.3 MB zipped)
  • Linux 32-bit (1.2 MB zipped)

Do you want to cite GoSpatial in your work?

The following paper uses the GoSpatial Library and describes it briefly:

Lindsay JB. 2016. Efficient hybrid breaching-filling sink removal methods for flow path enforcement in digital elevation models. Hydrological Processes, 30(6): 846–857. DOI: 10.1002/hyp.10648

Hexagonal tessellation

Contact Information

Dr. John Lindsay
Rm. 346 Hutt Building
Department Geography, Environment & Geomatics
University of Guelph
50 Stone Rd. East
Guelph, ON, Canada, N1G 2W1

Phone: 519-824-4120 ext. 56074
Find me: LinkedIn, ResearchGate.

Recent News

No recent updates.