What is WhiteboxTools?
WhiteboxTools is an advanced geospatial software package and a data analysis platform developed at the University of Guelph’s Geomorphometry and Hydrogeomatics Research Group (GHRG). The project began in January 2017 and quickly evolved in terms of its analytical capabilities. Some of WhiteboxTools features include:
- Contains more than 445 tools for processing various types of geospatial data
- Many tools operate in parallel, taking full advantage of your multi-core processor.
- Written in the safe and cross-platform systems programming language Rust and compiled to highly efficient native code. No virtual machine or interpreter required is needed to run WhiteboxTools.
- Small stand-alone application with no external dependencies, making installation as easy as downloading the small zip file and decompressing it.
- Simple yet powerful Python scripting interface that allows users to develop custom scripted workflows
- Embed WhiteboxTools functions into hetergeneous scripting environments along with ArcPy, GDAL, and other geoprocessing libraries.
- Serves as an analytical back-end for other GIS, remote sensing, and geospatial software (e.g. the QGIS Whitebox for Processing plugin). See more on the many front-ends developed for WhiteboxTools here.
- Permissive MIT open-source license allows for ready integration with other software.
What can WhiteboxTools do?
WhiteboxTools contains advanced tooling for spatial hydrological analysis (e.g. flow-accumulation, watershed delineation, stream network analysis, sink removal)
WhiteboxTools contains tools for terrain analysis for calculating common terrain indices such as slope, curvatures, wetness index, hillshading; hypsometric analysis; multi-scale topographic position analysis.
LiDAR point clouds can be interrogated (LidarInfo, LidarHistogram), segmented, tiled and joined, analyzed for outliers, interpolated to rasters (DEMs, intensity images), and ground-points can be classified or filtered.
WhiteboxTools is capable of preforming remote sensing and image processing tasks include image enhancement, image mosaicing, filtering operations, simple classification (k-means), and common image transformations.
WhiteboxTools can be used to perform common geographical information systems (GIS) analysis operations, such as cost-distance analysis, distance buffering, raster reclassification and many others.
WhiteboxTools contains tools to process, clean, and map yield data.
Take a look at what it can do
Here are some outputs from a few tools in the WhiteboxTools
Interested in our Whitebox Toolset Extensions?
Read more about the tools and see what they can do
Integrating into your workflow
Many front-ends have been developed by open-source developers within the wider WBT community that have allowed for the seamless integration of WhiteboxTools into common GIS software. Note: with the exception of the Python scripting interface, Whitebox Geospatial Inc. is not responsible for developing these front-ends and are unable to comment on the working condition.
Whitebox Runner is Whitebox Geospatial's tier-one front end for running all tools contained within the WhiteboxTools library. The user-interface uses Python's TkInter GUI library and is cross-platform. Runner is the only front end maintained by Whitebox Geospatial.
Python Scripting Interface
Python users are able to create powerful stand-alone geospatial applications and workflow-automation scripts using WhiteboxTools functionality.
Nim Scripting Interface
A Nim-based API for using the WhiteboxTools geospatial data analysis library.
The WhiteboxTools library is accessible from an R language package called WhiteboxR.
WhiteboxTools functionality is also accessed conveniently through the ArcGIS Python Toolbox for WhiteboxTools.
The whiteboxgui Python package is a Jupyter frontend for WhiteboxTools
The whitebox Python package is built on WhiteboxTools.