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) in Canada. WhiteboxTools was created by John Lindsay, who is a co-founder of Whitebox Geospatial, a company committed to developing open-source geospatial software and sustaining and better innovating WhiteboxTools.
The WhiteboxTools software contains two categories of tools: The WhiteboxTools Open Core, and the Whitebox Extensions that enhance the functionality of the open core tools. The first category contains more than 450 tools for processing various types of geospatial data, while Whitebox Extensions contains tools for DEM processing, lidar data analysis, spatial hydrology, Machine Learning, and more.
How should WhiteboxTools be used?
The software is intended as an analytical backend for other GIS, which means it can be used as an extension to GIS software such as QGIS, ArcMap/ArcGIS Pro, or R Studio, among others. Whitebox Geospatial developed a frontend for Whitebox Tools, called Whitebox Runner and is also available through the company’s website. Python users can download a Python Scripting Interface that gives access to the geospatial tools as a small stand-alone application with no external dependencies. There’s also a conda package for Jupyter Notebooks, a browser-based Python coding environment for data science.
How is WhiteboxTools different from other GIS?
The software is interesting for GIS users for multiple reasons. First of all, it offers many tools not found in other geospatial software. Oftentimes, these tools were created by request from a user community where someone had a specific problem or use case and were developed for that specific user. However, being open source, making the solution available to a wider community enables others to use such solutions too. Second, the tools cover a wide range of geospatial applications, including hydrological applications, terrain analysis, lidar processing, remote sensing, specific types of GIS analysis and agriculture. The WhiteboxTools web page shows examples of deliverables that can be created using the tools, such as patch shape analysis or lidar stats distribution modeling.
The most interesting thing about WhiteboxTools, from a software architectural perspective, is that it can be integrated with different geospatial applications as a backend. Additionally, a permissive MIT open-source license allows for ready integration with other software. The downside of all these different possible configurations is that there’s probably more than a single install to be done before you can use the tools. For example, when using the software inside QGIS as a plugin, you need to install the plugin and perform an additional install of the software to be able to have the plugin access the tools inside of QGIS.
New geospatial tools in WhiteboxTools Open Core v2.3
The latest release of WhiteboxTools, v2.3, adds multiple new tools, features and bug fixes. Probably the most important feature is a new version of Whitebox Runner, which was previously written in Python but now using Rust. This means it can now run without any dependencies (as is common with Python packages, requiring additional Python package installations on a local machine), as well as open multiple tools simultaneously. Also of interest is a tool for intensifying points in a lidar point cloud that are associated with the tops of individual trees, a tool for normalizing lidar point clouds (for example, converting their z-values from elevation to height-above-ground), and two tools that make the Whitebox Runner more accessible from other Whitebox front ends, so that users will always have a good fall-back if the frontend is not up-to-date with the WhiteboxTools backend.