Whitebox Geospatial News

Sign up for the WhiteboxTools newsletter

Whitebox Workflows for Python v1.1 released

We have just released version 1.1.0 of Whitebox Workflows for Python (WbW) and WbW-Pro. WbW/WbW-Pro are advanced geoprocessing Python libraries that enable you to leverage the Whitebox platform tools and to manipulate geospatial data objects to create powerful yet easy-to-write geoprocessing scripts. This release of WbW includes the ability to read COPC LiDAR files (read-only at present), as well as the addition of several new tool functions, including extract_by_attribute, deviation_from_regional_direction, topographic_hachures, and otsu_thresholding.

Posted on on 2023-06-18

WhiteboxTools v2.3 Released

  • Added the new Whitebox Runner v2.0. This is a whole new program with many advancements over the previous version of the WbRunner. It is now written in pure Rust (compared with the old PythonTkInter app) using the egui user-interface library. It has a more modern feel, is cross-platform, and has no dependencies (including Python). You can now open multiple tools simultaneously

  • Added the IndividualTreeDetection tool for intensifying points in a LiDAR point cloud that are associated with the tops of individual trees.

  • Added the NormalizeLidar tool for normalizing LiDAR point clouds, i.e., converting their z-values from elevation to height-above-ground.

  • Added the LaunchWbRunner and InstallWbExtension tools so that the Whitebox Runner will be more accessible from other Whitebox frontends. This way users will always have a good fall-back if the frontend is not up-to-date with the WBT backend, since WbRunner is always current with the installed version of WBT. Also, the WbRunner is the preferred way now for installing Whitebox extensions.

  • Fixed a bug with the LidarShift tool. The tool was calculating the shift in transformed coordinates incorrectly leading to very strange outputs.

  • The MultiscaleTopographicPositionImage tool now takes an optional hillshade image as input.

  • Lowered the peak memory requirement of the D8FlowAccumulation tool.

  • Fixed a bug with the location of the settings.json file when running plugin tools, that sometimes led to the file being located in a top-level directory, and therefore sometimes yielding a permissions error when running on systems without admin rights.

  • Fixed a bug with the vector attribute table reader that caused issue with the VectorPolygonsToRaster tool.

  • Fixed a bugs in the HorizonAngle and ExposureTowardsWindFlux tools

  • Added a point time interpolation parameter to the LidarNearestNeighbourGridding tool.

  • Added the ListUniqueValuesRaster tool.

  • Fixed a bug with the SetNodataValue tool, where the raster data type is updated to a signed integer if the background value is negative and the input image has an unsigned data type.

  • Added a ‘mean’ option to the VectorPointsToRaster tool.

Posted on on 2023-03-28
WhiteboxTools v2.3 logo

December 2022 Newsletter: Whitebox Geospatial Updates

In the last month, Whitebox Geospatial has been working hard to improve our software, provide more accessible means to using/interacting with our software and creating novel functionality. 

This December’s newsletter features 3 new tools, updates to existing tools, and the release of floating-licenses for Whitebox Workflows for Python (WBW). Read all about our December updates in this month’s newsletter. 

Posted on on 2022-04-11

RiverCenterlines tool now avilable in the Whitebox Toolset Extension

WhiteboxTools v2.2 Released

  • Added the HeatMap tool for performing kernel density estimation (KDE) from vector points.
  • Added the MultiplyOverlay tool.
  • Added the MaxUpslopeValue tool.
  • Added the ConditionedLatinHypercube tool for stratified random sampling (credit Dr. Dan Newman).
  • Added the HighPassBilateralFilter tool, useful for emphasizing image texture.
  • Fixed a bug with the DirectDecorrelationStretch tool.
  • Fixed a bug in the automatic install of the Whitebox extensions that affected Windows users.
  • Fixed a bug with the persistence of the compress_rasters parameter. Python users were unable to turn off the compress flag previously.
  • Added the option to set and get the maximum number of processors (–max_procs flag) used by WBT in the Whitebox Python API.
  • Added the option to output average point density and nominal point spacing to the LidarInfo tool.
  • Updated the ClassifyOverlapPoints and FlightlineOverlap tools to use information contained within the Point Source ID property, rather than a hard-coded time difference threshold previously used.
  • Fixed an issue that affected many tools when input rasters use either NaN or Inf as NoData values.
  • Fixed an issue with the way that NoData values are handled during the euclidean distance transform that impacted the EuclideanDistance, EuclideanAllocation, BufferRaster, and ElevationAboveStreamEuclidean tools.
  • Fixed a bug with the LidarInfo tool that occurred when the user did not specify the mandatory output parameter along with a non LAS input file.
  • Fixed a bug with the Truncate tool; the output image was always integer, and therefore it did not work as expected when using more than zero significant digits.
  • Fixed a bug with the ConstructVectorTIN tool that resulted in an error when no field data are used.
  • Modified the code for writing to the settings.json file so that rather than issuing an error when the app doesn’t have write permission, it simply prints a warning and carries on.
  • Fixed bugs in the Geomorphons tool (submitted by Dr. Dan Newman).
  • Fixed a bug with the writing of PolyLineZ vectors.
  • Updated the Hillshade, MultidirectionalHillshade, and RelativeAspect tools to use the more robust 5×5 3rd order bivariate  polynomial method of Florinsky (2016) for rectangular grid DEMs, and the 3×3 method, also described by Florinsky (2016), for DEMs in geographic coordinates. This is a large improvement in accuracy for calculating these surface morphology parameters on geographic coordinates compared with the ‘z-conversion fudge factor’ method used previously. Added support for Apple Silicon; you can now download WhiteboxTools binaries compiled on an M1 Mac
WhiteboxTools v2.2 Logo
Geomorphons Landform Classification, available in WhiteboxTools v2.2

September Newsletter: Whitebox Workflows For Python

We’re thrilled to announce the official release of Whitebox Workflows for Python (WbW) v1.0. 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 is an advanced geoprocessing library for manipulating and analyzing raster, vector and LiDAR geospatial data using Python scripting environments. WBW provides more powerful and natural Python-Whitebox interaction

Posted on on 2022-09-25

MapScaping Podcast: Monetizing an Open-Source Geospatial Podcast

Check out the second instalment of our podcast series hosted by the Mapscaping Podcast: A podcast for the geospatial community. 

In this podcast titled “Monetizing an Open-Source Geospatial Podcast“, Dr. John Lindsay discuses the trials and tribulations of turning a large open-source project into a sustainable business.

Download the podcast here or download it where you listen to your podcasts. Dont forget to like and subscribe to the MapScaping podcast to find more great geospatial projects and topics.

Posted on on 2022-07-29

MapScaping Podcast: WhiteboxTools is the Backend to many Frontends

Check out the first of two podcast series hosted by the Mapscaping Podcast: A podcast for the geospatial community

In this podcast titled “Whitebox Tools is the Backend to many Frontends”, Dr. John Lindsay discuses the evolution of the WhiteboxTools platform, the various tools available for use and the multiple frontends WBT can interact with it. 

Download the podcast here or download it where you listen to your podcasts. 

Don’t forget to like and subscribe to the Mapscaping podcast to hear more about the WhiteboxTools project and the more great Geospatial projects/topics. 

Posted on on 2022-07-20

Support WhiteboxTools Open Core Development

You can now support the development of WhiteboxTools Open Core by purchasing a Whitebox binary executable when you download the platform. You can pay whatever amount you feel comfortable with and every purchase goes a long way in ensuring the continued development and long-term viability of the Whitebox platform. You can also support our efforts by purchasing some of the great Whitebox merchandise or the powerful Whitebox extension product.

April Newsletter: Whitebox Geospatial Updates

In the last month, Whitebox Geospatial has been working hard to improve our software, provide more accessible means to using/interacting with our software and creating novel functionality. 

This April newsletter features five new tools, updates to existing tools, and the creation of the Official Whitebox Geospatial QGIS plugin : WhiteboxTools for QGIS. Read all about our April updates in this month’s newsletter. 

Posted on on 2022-04-11

WhiteboxTools v2.1 Released

  • The Geomorphons tool for landform classification is now available.
  • Added the MeanCurvature, GaussianCurvature, MinimalCurvature and MaximalCurvature tools.
  • Added GaussianScaleSpace tool, which uses the fast Gaussian approximation algorithm to produce scaled land-surface parameter measurements from an input DEM.
  • Added LocalQuadraticRegression tool, which is an implementation of the constrained quadratic regression algorithm using a flexible window size described in Wood (1996).
  • Added the MaxUpslopeElevChange tool, the upslope equivalent of the MaxDownslopeElevChange tool.
  • Updated the Slope, Aspect, ProfileCurvature, TangentialCurvature, PlanCurvature, and TotalCurvature tools to use the more robust 5×5 3rd order bivariate polynomial method of Florinsky (2016) for rectangular grid DEMs, and the 3×3 method, also described by Florinsky (2016), for DEMs in geographic coordinates. This is a large improvement in accuracy for calculating these surface morphology parameters on geographic coordinates compared with the ‘z-conversion fudge factor’ method used previously.
  • Added the LidarShift tool for applying a simple shift to point x,y,z coordinates.
  • Added the ability to automatically install the Whitebox extensions using the Python API.
  • Fixed a bug in the lower quartile valley mapping method of the ExtractValleys tool.
  • Fixed a bug in the PennockLandformCass tool.
  • Fixed a bug in the Shapefile reader that affected files of the PointZ ShapeType.
  • Fixed a bug with the CsvPointsToVector tool.
  • Reduced the peak memory usage of the D8Pointer and Rho8Pointer tools by about 37.5%.
  • Several other minor bugs have been fixed.
Geomorphons Landform Classification, available in WhiteboxTools v2.1

Whitebox Geospatial Release's the Machine Learning Library

We are immensely pleased to announce the release of 8 new machine learning tools. These tools exist within the Whitebox Toolset Extension (WTE) and require a software license from Whitebox Geospatial to use. You can read more about our extension pricing here

These extension tools include:

Each of these tools are as easy to use as they are powerful. Simply specify your predictor raster and training polygon data inputs, adjust the parameters as needed, and examine your output raster. Simplify your ML-based distribution modelling workflow with the new WTE today!

k-NN classified image from Whitebox Geospatial Machine Learning
This is an example output from the k-NN classification tool. The image on the left is a colour composite derived from a Landsat image for an area surrounding Guelph, Ontario Canada. The image on the right is a land-cover raster derived using the new k-NN classification tool in the Whitebox General Toolset Extension.
Randorm Forest Regression Whitebox Geospatial Machine Learning
This output is an example of percent sand content modelled with the RandomForestRegression Tool in the Whitebox General Toolset extension for a location in Ontario Canada. In total nine predictor variables were used to create this model.

WhiteboxTools v2.0 released

The most important feature in this release is the addition of support for reading and writing the LAZ compressed LiDAR format for all of the LiDAR tools in WBT.

  • Added the RasterCalculator tool for performing complex mathematical operations on input rasters.
  • Added the ConditionalEvaluation tool for performing an if-then-else operation on an input raster.
  • Added the EdgeContamination tool to identify grid cells for which the upslope area extends beyond the data extent.
  • Added the ExposureTowardsWind tool.
  • Added the QuinnFlowAccumulation tool to perform a Quinn et al. (1995) flow accumulation operation.
  • Added the QinFlowAccumulation tool to perform a Qin et al. (2007) flow accumulation operation.
  • Added the Rho8FlowAccumulation tool to perform a Fairfield and Leymarie (1991) flow accumulation operation.
  • LidarHistogram now allows a GPS time parameter, which can be useful for determining the number of flightlines in a LiDAR tile.
  • Fixed a bug with the Resample tool that created an artifact when resampling to resolutions less than one meter.
  • Fixed a bug that prevented plugin tools from being discovered by the open-core when run from the command line on PATH when the working directory was something other than WBT.
  • Fixed several bugs in the ContoursFromPoints tool.
  • Fixed the z_factor calculation for large-extent DEMs in geographic coordinates for the geomorphometric shape metric tools, e.g., slope, aspect, hillshade, and curvatures. The new approach calculates a different z_factor conversion value for each row in the raster, rather than using a single value based on the raster mid-point latitude. This should help improve the accuracy of these shape indices on large-extent rasters in geographic coordinate systems.
  • Fixed several bugs in the Isobasins and D8FlowAccumulation tool.
  • The NewRasterFromBase tool now accepts a vector base file (and grid cell size) as well as a raster.
  • The WhiteboxTools User Manual has had a refresh and is now hosted at: https://www.whiteboxgeo.com/manual/wbt_book/intro.html.
  • We have added numerous tools to the WhiteboxTools Extensions. 

Download WhiteboxTools v2.0.0 here.

Posted on on 2021-08-31

WhiteboxTools 2.0 Whitebox Geospatial Inc Whitebox Extensions WhiteboxTools Logo
WhiteboxTools v2.0 logo. Underneath is the output of the QinFlowAccumulation Tool available in WBT v2.0
This is an example of our new RasterCalculator Tool in a Python script.

We are on Youtube: Follow our Channel

In the latest instalment of Whitebox Geospatial news, we are excited to announce that Whitebox Geospatial has created a youtube channel, called WhiteboxGeospatial. Over the years we have received numerous comments from our users asking us to create a  series of short video tutorials on how to use and interact with WhiteboxTools and our tool library. It may have taken us a bit, but we are happy to start this endeavour. 

We have big plans and ideas for the type of videos and content we will be releasing t. If you are interesting in learning more, please show us some love and like/subscribe to our channel here. here.

Posted on on 2021-06-16

Whitebox Geospatial Inc Officially Launches

We are very pleased to announce the creation of WhiteboxTools Geospatial Inc., a new company based on providing extension services around the open-source WBT platform. It is our vision that this company will provide a way of making the ongoing development of the WBT open-core more sustainable in the future, by enabling developers to work full-time on the project. Our plan is to maintain, and continue development of, the open-core of WBT, while providing plugin extensions that enhance the core capabilities.

To begin with, we are launching the Whitebox Toolset Extension, a set of (currently) 19 tools to help GIS professionals with their everyday workflows.  If you have been interested in supporting the WBT project in the past and haven’t known how, buying a license for the Whitebox Toolset Extension is a wonderful way of doing so.

Posted on on 2021-06-01

Whitebox Geospatial News: WhiteboxTools v.1.5.0 released

This release does not include very many new tools. Despite this, this is probably one of the largest releases yet. We have made extensive changes to the codebase, improving functionality in many significant ways. Therefore, we’re very excited to announce the release of v1.5.

  • Introduction of plugin tools. Up until now, WBT has had a monolithic architecture, where all of the tools live within a single binary. This architecture has provided a number of benefits up until now. However, as the number of tools in WBT grows, it becomes increasingly difficult to maintain this program structure – in particular, compile times have grown significantly since the projects start. A plugin architecture provides much greater flexibility in this regard. Single tool plugins can be created, placed within the new ‘plugins’ folder within the WBT directory, and the whitebox_tools.exe binary will treat these plugins like any other tool within the monolith. This also means that WBT users can develop their own custom tools, without the required know-how of figuring out how to integrate their tool into the large WBT code-base. The user manual will be updated shortly to describe how this process works. 
  • In order to accommodate plugin tools, we have significantly changed the codebase. Most significantly we have pulled the code associated with low-level functions, the so-called ‘plumbing’ code, (e.g.code for reading and writing various data files) into separate sub-repositories. In this way, the tools in the monolith and the plugin tools can both use this code without duplication.
  • WBT now has persistent environment variables contained within a ‘settings.json’ file within the WBT folder. Currently, these settings including ‘verbose_mode’, ‘working_directory’, ‘compress_rasters’, and ‘max_procs’. More environment variables may be added in later releases. The fact that verbose mode the working directory, and the compress_rasters flag are now persistent does have implications for the Python and R front-ends and for the way these settings are used. The user manual will be updated shortly to reflect these changes.
  • We introduced the ‘max_procs’ setting. Now, all tools that run in parallel, or partially parallelize, can be restricted to a maximum number of processes. Before, WBT would simply use all of the available cores in the machine it was running on. While this is still the default (`max_procs: -1`), there are certain conditions where this behaviour is undesirable. For example, when WBT is run on large servers or cloud-computing environments where a great many cores are shared among many users, it can be problematic when a single user/program consumes all of the available cores. This setting limits the maximum number of procs.
  • Added the EmbankmentMapping tool for mapping transportation embankments (road, rail) in LiDAR DEMs.
  • Added the SplitVectorLines tool. This tool will parse an input line vector into a series of segments of a specified length. It is also an example of a WBT plugin.
  • The code has been updated to reflect the new zLidar v1.1 specification, which has significantly improved compression rates (testing shows it is between 91% and 109% of LAZ), greater flexibility (users may specify the degree of compression versus speed of reading/writing), and numerous bug fixes. The zLidar specification webpage will soon be updated to reflect the new version. Further news on this front, it has come to our attention recently that there is now a Rust-based LAZ encoder/decoder, which provides an opportunity for us to add LAZ support in a future version of WBT. We are currently evaluating this as an option.

Posted on on 2021-06-01

Embankment mapping tool WhiteboxTools
Original DEM Hillshade
Embankment mapping Tool WhiteboxTools
Hillshade from embankment removed DEM

This is an example output from the EmbankmentMapping Tool. The hillshade on the left is the original unaltered DEM, the hillshade on the right has been conditioned using the EmbankmentMapping tool in WhiteboxTools.

WhiteboxTools wins 2020 University of Guelph Research Innovation Award

WhiteboxTools has won the 2020 Research Innovation Award at the University of Guelph. This award recognizes and celebrates celebrate University of Guelph innovations that have made, or have the potential to generate value for Canada. Since 2016, eight innovations representing work conducted by researchers across a variety of university departments have been recognized. These innovations continue to have a positive influence in diverse areas including animal health, food packaging, environment and human wellness. We are extremely honoured be to be awarded this achievement. 

Posted on on 2020-10-21

Whitebox Geospatial News: WhiteboxTools v.1.4.0 released


We are pleased to announce the release of WhiteboxTools v1.4.0. This release sees the addition of several tools, bug fixes, and enhancements to the documentation. Of the new tools, I am most excited about the addition of the TimeInDaylight tool, which estimates the proportion of daytime that each cell in a digital surface model (DSM) is in an exposed location. The new LidarDigitalSurfaceModel tool can be used to create DSMs for input to the TimeInDaylight tool. Pre-compiled binaries are available for Windows (win), MacOS (Darwin), and Linux on Github and from the WhiteboxTools download page. Please report any bugs that you encounter by creating an issue on the WhiteboxTools Github site.

Posted on on 2020-04-09

Time In Daylight Tool WhiteboxTools Whitebox Geospatial
Time in Daylight image. Lighter areas depict higher areas of solar insolation. Darker areas show shadowed areas.