WhiteboxTools – A Toolset for Geospatial Analysis
Our guest on the show today is John Lindsay, the creator of Whitebox Tools, a toolset which contains over 500 geospatial analysis tools. John is a professor of Geomatics who got into geospatial in the early 2000s. Many of the tools in Whitebox have novel functionality that are not found in any other software and are free to use.
An Overview of WhiteboxTools
Whitebox Tools is a package for geospatial analysis that can be embedded into other software in order to facilitate building other types of applications. The journey of creating WhiteboxTools began with the development of a Terrain Analysis System (TAS). This was a full-blown desktop GIS that was fairly widely used at the time of its creation. Following further developments and tools additions, Whitebox GAT (Geospatial Analysis Tools) was created, from which WhiteboxTools emerged.
WhiteboxTools evolved from Whitebox GAT after a shift in focus from the frontend to the backend, with the aim of creating a portable toolset that could easily be embedded in other software applications.
This includes desktop GIS like QGIS and ArcGIS; as well as scripting languages like Python, R and NEM, which enable users to integrate any tool in Whitebox into their larger workflows involving other geospatial packages. Whitebox is also embedded in other geospatial applications, such as the open LIDAR toolbox, geemap, and Leafmap, and many other applications that harness the analytical power of Whitebox Tools in their analyses.
WhiteboxTools Is Open
White box is an open source software with open access. Here, the notion of open access means to remove barriers for the users of the software so that they may examine, inspect, and understand the source code itself. Users can view the source code of any of the open core tools in Whitebox, using any frontend that has the functionality to view code.
Users can also port the toolset and translate the tools into another programming language that they are more comfortable with.
Whitebox Tools Is a Standalone Software
No prerequisites are required to be able to use WhiteboxTools. Whitebox is designed to have zero dependencies. It is a standalone executable that users can download and use in their platforms.
How Many Tools Are in Whitebox Tools?
There are about 465 tools in the WhiteboxTools Open Core, and approximately 63 tools in the Whitebox Extensions. All these tools have been developed in the RUST language. RUST is a low-level programming language that was picked by Whitebox with the aim of making the tools as fast as possible, while using the least amount of memory possible.
What Can You Use Whitebox For?
Whitebox contains a broad set of tools that are useful across a variety of applications. Generally, these tools are for use in solving spatial problems. Some of the tools are intended specifically for certain applications, for example, LiDAR Toolbox contains a collection of tools which can take a typical LIDAR dataset from raw point clouds all the way to the end product needed, such as an interpolated digital elevation model (DEM).
Some geospatial applications that make use of WhiteboxTools include: Wetland mapping projects, Geological resource inventorying, Digital archaeology, Soil mapping applications, Landslide modeling, Geomorphological modeling, Forestry, Spatial hydrology, and Modelling.
Where Do the Tools in Whitebox Come From?
Most of the tools in Whitebox come from research and experience. Whenever a cutting-edge tool for a certain type of process is developed during research, Whitebox becomes the platform to disseminate the information about that innovative tool. Some tools are also developed from user requests.
If there are multiple users requesting the same feature, then Whitebox will make it a priority. At the same time, if it’s just a single request, but it’s a really interesting spatial problem that had not been thought about before, a unique solution can be built then it may result in a tool as well.
A number of tools are also a result of helping people solve problems they encountered. Whenever a person has a geospatial problem and emails Whitebox to see if there could be something that can be done about it, if a tool is built that solves their problem, it is published on Whitebox in the open core where everyone else can use.
This is one of the reasons why there are a number of very niche-specific tools in Whitebox, which solve a very specific need. They are usually inspired by a very specific need, by a certain user.
Environments to Use WhiteboxTools
WhiteboxTools can be used in desktops as well as high computing environments like supercomputers, web-based environments, and even mobile environments. Although it is currently not being used in mobile environments, there is no reason it couldn’t be.
At the moment, mobile GIS is still much more focused on front end data visualisation for people in the field than it is for raw data analysis, but we could easily see this change in the future.
How Should WhiteboxTools Be Used?
Users may use WhiteboxTools in whatever capacity they can envision. If a tool is intended to perform a certain task in a particular application, but its capabilities may be applied in a creative way in very different scenario, then users are encouraged to explore that capability.
Whitebox fully supports the idea of users using their capacity to apply WhiteboxTools in different ways, as evidenced by their responsiveness to user input.
Turning Science into Practice
Whitebox is a platform that communicates usable implementations of cutting-edge geospatial solutions to geospatial practitioners. In many areas of research, the ideas and solutions developed are usually published in journals within academia.
While this is fairly accessible, many practitioners may still not have access to it, or may have access to it but not to the software artifacts that implement the solutions. WhiteboxTools bridges this gap and brings science (ideas and solutions) into practice by making usable implementations accessible to the whole community, rather than just the academic community.
Does Whitebox Accept Tool Contributions from Users?
The concept of Whitebox was developed with the goal of allowing user contributions to the toolset. One way is by suggesting ways to improve and optimise the existing tools.
This is why the source code is open access. The other way is by developing a new tool and presenting it to be published in WhiteboxTools. The new tool should be developed in RUST language, and will of course be subject to review.
Who Is WhiteboxTools Designed For?
In many fields today, people are leaning towards niche solutions. If something is for everyone, then it is also for no one since it does not differentiate itself in the market.
WhiteboxTools brings a new twist to this. It has a broad set of tools cutting across different applications, but what stands out is that these tools are very niche specific. Many of these tools are developed to perform a certain task in a particular application – novel tools that provide unique solutions that cannot be found elsewhere. Whitebox tools are not niche in terms of their applications but in terms of their solution.