Introduction

What is Whitebox Workflows for Python?

Whitebox Workflows (WbW) is a Python library for advanced geoprocessing, including more than 400 functions for GIS and remote sensing analysis operations and for for manipulating common types of raster, vector and LiDAR geospatial data.

WbW allows you to write Python scripts for automated data processing in areas such as geographical information systems (GIS), remote sensing (image processing and LiDAR point cloud processing), digital elevation model (DEM) analysis, spatial hydrology, stream network analysis, and many related spatial analysis fields. WbW is developed at Whitebox Geospatial Inc, a Canadian based geomatics company with deep roots in the geospatial industry.

The WbW codebase is based on the open-source project WhiteboxTools Open Core (WbOC), also developed at Whitebox Geospatial Inc. Compared with WbOC, WbW has a number of advantages for Python based geoprocessing. The largest difference between the two projects is that WbW is compiled as a Python native extension module, much like NumPy and SciPy, whereas WbOC is a command-line application. Because WbW is a Python extension module, it affords a much deeper level of interaction with geospatial data, allowing users to manipulate raster, vector, and lidar data objects directly. This reduces the need to read/write files considerably, significantly improving the performance of complex workflows with many intermediate steps and reducing the wear on system hardware.

Interacting directly with spatial objects also means that WbW has a more natural scripting style, providing a much richer geoprocessing environment. For example, you can use Python directly for raster map algebra, rather than a raster calculator or individual tools (e.g. add, divide, etc.):
result = (raster1 + raster2) / 2.0

WbW also has an improved memory model for raster data. With WbOC, raster data are always stored in memory as 64-bit floats, which can lead to large memory requirements. WbW, however, stores rasters in computer memory using their native data format; a raster storing 16-bit integers or 32-bit floating point values will require substantially less memory.

However, WbW is proprietary, unlike the open-source WbOC. WbW requires a license to use, which can be purchased from www.whiteboxgeo.com. Annual licenses are only about US$10 per seat.