WhiteboxTools
WhiteboxTools is an advanced geospatial data analysis platform.
https://github.com/jblindsay/whitebox-tools
Category: Natural Resources
Sub Category: Water Supply and Quality
Keywords
geomorphology geomorphometry geoprocessing geospatial gis hydrology remote-sensing
Keywords from Contributors
geospatial-data arcgis spatial-analysis cloud-computing open-science climate qt spec-0 budget spec-1
Last synced: about 14 hours ago
JSON representation
Repository metadata
An advanced geospatial data analysis platform
- Host: GitHub
- URL: https://github.com/jblindsay/whitebox-tools
- Owner: jblindsay
- License: mit
- Created: 2018-04-09T22:39:18.000Z (about 7 years ago)
- Default Branch: master
- Last Pushed: 2025-02-07T23:43:08.000Z (3 months ago)
- Last Synced: 2025-04-21T10:05:54.789Z (6 days ago)
- Topics: geomorphology, geomorphometry, geoprocessing, geospatial, gis, hydrology, remote-sensing
- Language: Rust
- Homepage: https://www.whiteboxgeo.com/
- Size: 163 MB
- Stars: 1,016
- Watchers: 37
- Forks: 168
- Open Issues: 151
- Releases: 21
-
Metadata Files:
- Readme: README.md
- License: LICENSE.txt
README.md
Note: Compiled WhiteboxTools binaries for Windows, macOS, and Linux can be found at: https://www.whiteboxgeo.com/download-whiteboxtools/
*This page is related to the stand-alone command-line program and Python scripting API for geospatial analysis, WhiteboxTools.
The official WhiteboxTools User Manual can be found at this link.
Contents
1 Description
WhiteboxTools is an advanced geospatial data analysis platform developed by Prof. John Lindsay (webpage; jblindsay) at the University of Guelph's Geomorphometry and Hydrogeomatics Research Group. WhiteboxTools can be used to perform common geographical information systems (GIS) analysis operations, such as cost-distance analysis, distance buffering, and raster reclassification. Remote sensing and image processing tasks include image enhancement (e.g. panchromatic sharpening, contrast adjustments), image mosaicing, numerous filtering operations, classification, and common image transformations. WhiteboxTools also contains advanced tooling for spatial hydrological analysis (e.g. flow-accumulation, watershed delineation, stream network analysis, sink removal), terrain analysis (e.g. common terrain indices such as slope, curvatures, wetness index, hillshading; hypsometric analysis; multi-scale topographic position analysis), and LiDAR data processing. LiDAR point clouds can be interrogated (LidarInfo, LidarHistogram), segmented, tiled and joined, analyized for outliers, interpolated to rasters (DEMs, intensity images), and ground-points can be classified or filtered. WhiteboxTools is not a cartographic or spatial data visualization package; instead it is meant to serve as an analytical backend for other data visualization software, mainly GIS.
2 Getting help
WhiteboxToos possesses extensive help documentation. Users are referred to the User Manual located on www.whiteboxgeo.com.
3 Pre-compiled binaries
WhiteboxTools is a stand-alone executable command-line program with no actual installation. If you intend to use the Python programming interface for WhiteboxTools you will need to have Python 3 (or higher) installed. Pre-compiled binaries can be downloaded from the Whitebox Geospatial Inc. website with support for various operating systems.
4 Building from source code
It is likely that WhiteboxTools will work on a wider variety of operating systems and architectures than the distributed binary files. If you do not find your operating system/architecture in the list of available WhiteboxTool binaries, then compilation from source code will be necessary. WhiteboxTools can be compiled from the source code with the following steps:
-
Install the Rust compiler; Rustup is recommended for this purpose. Further instruction can be found at this link.
-
Download the WhiteboxTools from this GitHub repo.
3. Decompress the zipped download file.
4. Open a terminal (command prompt) window and change the working directory to the `whitebox-tools` folder:
cd /path/to/folder/whitebox-tools/
5. Finally, use the Python build.py script to compile the code:
python build.py
Read the notes in the `build.py` file for detailed information about customizing the build. In particular, the `do_clean`,
`exclude_runner` and `zip` arguments can be used to add or remove functionality during the build process. Running the build
script requires a Python environment. (Note, WhiteboxTools itself is pure Rust code.)
Depending on your system, the compilation may take several minutes. Also depending on your system, it may be necessary to use the `python3` command instead. When completed, the script will have created a new `WBT` folder within `whitebox-tools`. This folder will contain all of the files needed to run the program, including the main Whitebox executable file (whitebox_tools.exe), the Whitebox Runner GUI application, and the various plugins.
Be sure to follow the instructions for installing Rust carefully. In particular, if you are installing on MS Windows, you must have a linker installed prior to installing the Rust compiler (rustc). The Rust webpage recommends either the **MS Visual C++ 2015 Build Tools** or the GNU equivalent and offers details for each installation approach. You should also consider using **RustUp** to install the Rust compiler.
Owner metadata
- Name: John Lindsay
- Login: jblindsay
- Email:
- Kind: user
- Description: Geomorphometrist. Whitebox Developer. Works at University of Guelph. Co-founder of Whitebox Geospatial Inc.
- Website: https://jblindsay.github.io/ghrg/index.html
- Location: Canada
- Twitter: whiteboxgeo
- Company: University of Guelph
- Icon url: https://avatars.githubusercontent.com/u/8441542?u=d5203eae437d818354246743870bb332201d0dba&v=4
- Repositories: 16
- Last ynced at: 2024-06-11T15:49:38.861Z
- Profile URL: https://github.com/jblindsay
GitHub Events
Total
- Issues event: 20
- Watch event: 61
- Issue comment event: 17
- Push event: 1
- Pull request review event: 2
- Pull request event: 3
- Fork event: 8
Last Year
- Issues event: 20
- Watch event: 61
- Issue comment event: 17
- Push event: 1
- Pull request review event: 2
- Pull request event: 3
- Fork event: 8
Committers metadata
Last synced: 7 days ago
Total Commits: 788
Total Committers: 19
Avg Commits per committer: 41.474
Development Distribution Score (DDS): 0.071
Commits in past year: 29
Committers in past year: 2
Avg Commits per committer in past year: 14.5
Development Distribution Score (DDS) in past year: 0.034
Name | Commits | |
---|---|---|
John Lindsay | j****y@u****a | 732 |
Timofey Samsonov | t****v@g****u | 14 |
jfbourdon | j****n@g****m | 11 |
Dharhas Pothina | d****s@g****m | 10 |
Qiusheng Wu | g****s@g****m | 4 |
luz paz | l****z | 2 |
Duncan Hornby | d****h@g****k | 2 |
Alexander Bruy | a****y@g****m | 2 |
Afrancioni | a****o@u****a | 1 |
Kim Lindgren | k****n@s****e | 1 |
Marco Bettini | m****i@s****t | 1 |
Andrew Gene Brown | b****g@g****m | 1 |
Dan K | d****k@g****m | 1 |
Doug | d****1@g****m | 1 |
Fabrizio Guglielmino | g****o@g****m | 1 |
Katrin Leinweber | 9****r | 1 |
Yvan Le Bras | y****s@i****r | 1 |
iwismer | i****c@i****a | 1 |
Souleymane Maman Nouri Souley | s****y@u****v | 1 |
Committer domains:
- uoguelph.ca: 2
- uta.cv: 1
- iwismer.ca: 1
- irisa.fr: 1
- synthesis3.it: 1
- slu.se: 1
- geodata.soton.ac.uk: 1
- geogr.msu.ru: 1
Issue and Pull Request metadata
Last synced: 1 day ago
Total issues: 339
Total pull requests: 83
Average time to close issues: 3 months
Average time to close pull requests: 3 months
Total issue authors: 203
Total pull request authors: 22
Average comments per issue: 3.05
Average comments per pull request: 1.27
Merged pull request: 28
Bot issues: 0
Bot pull requests: 17
Past year issues: 43
Past year pull requests: 4
Past year average time to close issues: 3 days
Past year average time to close pull requests: 16 minutes
Past year issue authors: 36
Past year pull request authors: 2
Past year average comments per issue: 1.63
Past year average comments per pull request: 0.75
Past year merged pull request: 1
Past year bot issues: 0
Past year bot pull requests: 0
Top Issue Authors
- jfbourdon (26)
- cefect (13)
- CarlosGrohmann (11)
- InsolublePancake (10)
- mlavy (9)
- Hornbydd (8)
- giswqs (6)
- geotom (5)
- alexbruy (5)
- fluviotect (5)
- brownag (5)
- zdila (5)
- jfprieur (4)
- williamlidberg (4)
- jonschwenk (3)
Top Pull Request Authors
- jfbourdon (32)
- dependabot[bot] (17)
- giswqs (5)
- tsamsonov (4)
- mholling (3)
- seahawks8 (3)
- Hornbydd (2)
- brownag (2)
- halieute (2)
- mbettini-topcon (1)
- dharhas (1)
- iwismer (1)
- Atreyagaurav (1)
- dankovacek (1)
- guglielmino (1)
Top Issue Labels
- bug (53)
- feature request (40)
- feedback (8)
- QGIS plugin (5)
- documentation (4)
- question (3)
- windows (3)
- Rust (2)
- high priority (2)
- Linux (2)
- unix (1)
- R repo (1)
- wontfix (1)
Top Pull Request Labels
- dependencies (17)
Package metadata
- Total packages: 1
- Total downloads: unknown
- Total dependent packages: 1
- Total dependent repositories: 1
- Total versions: 4
conda-forge.org: whitebox_tools
WhiteboxTools is an advanced geospatial data analysis platform developed by Prof. John Lindsay at the University of Guelph's Geomorphometry and Hydrogeomatics Research Group. WhiteboxTools can be used to perform common geographical information systems (GIS) analysis operations, such as cost-distance analysis, distance buffering, and raster reclassification. Remote sensing and image processing tasks include image enhancement (e.g. panchromatic sharpening, contrast adjustments), image mosaicing, numerous filtering operations, simple classification (k-means), and common image transformations. WhiteboxTools also contains advanced tooling for spatial hydrological analysis (e.g. flow-accumulation, watershed delineation, stream network analysis, sink removal), terrain analysis (e.g. common terrain indices such as slope, curvatures, wetness index, hillshading; hypsometric analysis; multi-scale topographic position analysis), and LiDAR data processing. LiDAR point clouds can be interrogated (LidarInfo, LidarHistogram), segmented, tiled and joined, analyized for outliers, interpolated to rasters (DEMs, intensity images), and ground-points can be classified or filtered. WhiteboxTools is not a cartographic or spatial data visualization package; instead it is meant to serve as an analytical backend for other data visualization software, mainly GIS.
- Homepage: https://github.com/jblindsay/whitebox-tools
- Licenses: MIT
- Latest release: 2.2.0 (published over 2 years ago)
- Last Synced: 2025-04-25T12:11:07.086Z (1 day ago)
- Versions: 4
- Dependent Packages: 1
- Dependent Repositories: 1
-
Rankings:
- Stargazers count: 14.824%
- Forks count: 15.708%
- Average: 20.897%
- Dependent repos count: 24.103%
- Dependent packages count: 28.954%
Dependencies
- 113 dependencies
- alga 0.9.3
- approx 0.3.2
- autocfg 0.1.7
- autocfg 1.0.1
- bitflags 1.2.1
- byteorder 1.4.2
- cfg-if 1.0.0
- cloudabi 0.0.3
- fuchsia-cprng 0.1.1
- generic-array 0.12.3
- getrandom 0.1.16
- libc 0.2.86
- libm 0.2.1
- matrixmultiply 0.2.4
- nalgebra 0.18.1
- num-complex 0.2.4
- num-integer 0.1.44
- num-rational 0.2.4
- num-traits 0.2.14
- pdqselect 0.1.0
- ppv-lite86 0.2.10
- rand 0.6.5
- rand 0.7.3
- rand_chacha 0.1.1
- rand_chacha 0.2.2
- rand_core 0.3.1
- rand_core 0.4.2
- rand_core 0.5.1
- rand_hc 0.1.0
- rand_hc 0.2.0
- rand_isaac 0.1.1
- rand_jitter 0.1.4
- rand_os 0.1.3
- rand_pcg 0.1.2
- rand_pcg 0.2.1
- rand_xorshift 0.1.1
- rawpointer 0.2.1
- rdrand 0.4.0
- rstar 0.7.1
- typenum 1.12.0
- wasi 0.9.0+wasi-snapshot-preview1
- winapi 0.3.9
- winapi-i686-pc-windows-gnu 0.4.0
- winapi-x86_64-pc-windows-gnu 0.4.0
- adler 0.2.3
- adler32 1.2.0
- alga 0.9.3
- alloc-no-stdlib 2.0.1
- alloc-stdlib 0.2.1
- approx 0.3.2
- autocfg 0.1.7
- autocfg 1.0.1
- bitflags 1.2.1
- brotli 3.3.0
- brotli-decompressor 2.3.1
- byteorder 1.4.2
- bzip2 0.3.3
- bzip2-sys 0.1.10+1.0.8
- cc 1.0.66
- cfg-if 1.0.0
- chrono 0.4.19
- cloudabi 0.0.3
- crc32fast 1.2.1
- flate2 1.0.20
- fuchsia-cprng 0.1.1
- generic-array 0.12.3
- getrandom 0.1.16
- hermit-abi 0.1.18
- late-static 0.3.0
- libc 0.2.86
- libm 0.2.1
- lzw 0.10.0
- matrixmultiply 0.2.4
- miniz_oxide 0.3.7
- miniz_oxide 0.4.3
- msdos_time 0.1.6
- nalgebra 0.18.1
- num-complex 0.2.4
- num-integer 0.1.44
- num-rational 0.2.4
- num-traits 0.2.14
- num_cpus 1.13.0
- pdqselect 0.1.0
- pkg-config 0.3.19
- podio 0.1.7
- ppv-lite86 0.2.10
- rand 0.6.5
- rand 0.7.3
- rand_chacha 0.1.1
- rand_chacha 0.2.2
- rand_core 0.3.1
- rand_core 0.4.2
- rand_core 0.5.1
- rand_hc 0.1.0
- rand_hc 0.2.0
- rand_isaac 0.1.1
- rand_jitter 0.1.4
- rand_os 0.1.3
- rand_pcg 0.1.2
- rand_pcg 0.2.1
- rand_xorshift 0.1.1
- rawpointer 0.2.1
- rdrand 0.4.0
- rstar 0.7.1
- time 0.1.44
- typenum 1.12.0
- wasi 0.9.0+wasi-snapshot-preview1
- wasi 0.10.0+wasi-snapshot-preview1
- winapi 0.3.9
- winapi-i686-pc-windows-gnu 0.4.0
- winapi-x86_64-pc-windows-gnu 0.4.0
- zip 0.3.3
- adler32 1.2.0
- alga 0.9.3
- approx 0.3.2
- autocfg 0.1.7
- autocfg 1.0.1
- bitflags 1.2.1
- byteorder 1.4.2
- cfg-if 1.0.0
- chrono 0.4.19
- cloudabi 0.0.3
- fuchsia-cprng 0.1.1
- generic-array 0.12.3
- getrandom 0.1.16
- hermit-abi 0.1.18
- late-static 0.3.0
- libc 0.2.86
- libm 0.2.1
- lzw 0.10.0
- matrixmultiply 0.2.4
- miniz_oxide 0.3.7
- nalgebra 0.18.1
- num-complex 0.2.4
- num-integer 0.1.44
- num-rational 0.2.4
- num-traits 0.2.14
- num_cpus 1.13.0
- pdqselect 0.1.0
- ppv-lite86 0.2.10
- rand 0.6.5
- rand 0.7.3
- rand_chacha 0.1.1
- rand_chacha 0.2.2
- rand_core 0.3.1
- rand_core 0.4.2
- rand_core 0.5.1
- rand_hc 0.1.0
- rand_hc 0.2.0
- rand_isaac 0.1.1
- rand_jitter 0.1.4
- rand_os 0.1.3
- rand_pcg 0.1.2
- rand_pcg 0.2.1
- rand_xorshift 0.1.1
- rawpointer 0.2.1
- rdrand 0.4.0
- rstar 0.7.1
- time 0.1.44
- typenum 1.12.0
- wasi 0.9.0+wasi-snapshot-preview1
- wasi 0.10.0+wasi-snapshot-preview1
- winapi 0.3.9
- winapi-i686-pc-windows-gnu 0.4.0
- winapi-x86_64-pc-windows-gnu 0.4.0
- 256 dependencies
- alga 0.9.3
- approx 0.3.2
- autocfg 0.1.7
- autocfg 1.0.1
- bitflags 1.2.1
- byteorder 1.4.2
- cfg-if 1.0.0
- chrono 0.4.19
- cloudabi 0.0.3
- fuchsia-cprng 0.1.1
- generic-array 0.12.3
- getrandom 0.1.16
- libc 0.2.86
- libm 0.2.1
- matrixmultiply 0.2.4
- nalgebra 0.18.1
- num-complex 0.2.4
- num-integer 0.1.44
- num-rational 0.2.4
- num-traits 0.2.14
- pdqselect 0.1.0
- ppv-lite86 0.2.10
- rand 0.6.5
- rand 0.7.3
- rand_chacha 0.1.1
- rand_chacha 0.2.2
- rand_core 0.3.1
- rand_core 0.4.2
- rand_core 0.5.1
- rand_hc 0.1.0
- rand_hc 0.2.0
- rand_isaac 0.1.1
- rand_jitter 0.1.4
- rand_os 0.1.3
- rand_pcg 0.1.2
- rand_pcg 0.2.1
- rand_xorshift 0.1.1
- rawpointer 0.2.1
- rdrand 0.4.0
- rstar 0.7.1
- time 0.1.44
- typenum 1.12.0
- wasi 0.9.0+wasi-snapshot-preview1
- wasi 0.10.0+wasi-snapshot-preview1
- winapi 0.3.9
- winapi-i686-pc-windows-gnu 0.4.0
- winapi-x86_64-pc-windows-gnu 0.4.0
Score: 10.699777792012942