Whitebox Geospatial News
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
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.
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 one of 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.
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 General Toolset Extension (GTE) and require a software license from Whitebox Geospatial to use. You can read more about our extension pricing here.
These extension tools include:
- k-NN Classification
- k-NN Regression
- Logistic Regression
- Random Forest Classification
- Random Forest Regression
- Support Vector Machine Classification
- Support Vector Machine Regression
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 GTE today!
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
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.
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. Please read my Open Letter to the WBT community for more details about this exciting development. 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 General 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 General 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
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