whitebox-tools

An advanced geospatial data analysis platform

https://github.com/jblindsay/whitebox-tools

Science Score: 23.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
  • DOI references
  • Academic publication links
  • Committers with academic emails
    1 of 20 committers (5.0%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (13.7%) to scientific vocabulary

Keywords

geomorphology geomorphometry geoprocessing geospatial gis hydrology remote-sensing
Last synced: 6 months ago · JSON representation

Repository

An advanced geospatial data analysis platform

Basic Info
Statistics
  • Stars: 1,052
  • Watchers: 37
  • Forks: 176
  • Open Issues: 161
  • Releases: 21
Topics
geomorphology geomorphometry geoprocessing geospatial gis hydrology remote-sensing
Created almost 8 years ago · Last pushed about 1 year ago
Metadata Files
Readme License

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
  2. Getting Help
  3. Downloads and Installation
  4. Building From Source Code

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:

  1. Install the Rust compiler; Rustup is recommended for this purpose. Further instruction can be found at this link.

  2. 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/ ```

  1. 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

  • Name: John Lindsay
  • Login: jblindsay
  • Kind: user
  • Location: Canada
  • Company: University of Guelph

Geomorphometrist. Whitebox Developer. Works at University of Guelph. Co-founder of Whitebox Geospatial Inc.

GitHub Events

Total
  • Issues event: 25
  • Watch event: 95
  • Issue comment event: 23
  • Push event: 1
  • Pull request review event: 2
  • Pull request event: 4
  • Fork event: 15
Last Year
  • Issues event: 25
  • Watch event: 95
  • Issue comment event: 23
  • Push event: 1
  • Pull request review event: 2
  • Pull request event: 4
  • Fork event: 15

Committers

Last synced: 6 months ago

All Time
  • Total Commits: 788
  • Total Committers: 20
  • Avg Commits per committer: 39.4
  • Development Distribution Score (DDS): 0.071
Past Year
  • Commits: 1
  • Committers: 1
  • Avg Commits per committer: 1.0
  • Development Distribution Score (DDS): 0.0
Top Committers
Name Email Commits
John Lindsay j****y@u****a 732
Timofey Samsonov t****v@g****u 14
Dharhas Pothina d****s@g****m 10
jfbourdon j****n@g****m 7
Jean-François Bourdon 3****n@u****m 4
Qiusheng Wu g****s@g****m 4
Alexander Bruy a****y@g****m 2
Duncan Hornby d****h@g****k 2
luz paz l****z@u****m 2
Afrancioni a****o@u****a 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@u****m 1
Kim Lindgren k****n@s****e 1
Marco Bettini m****i@s****t 1
Souleymane Maman Nouri Souley s****y@u****v 1
Yvan Le Bras y****s@i****r 1
iwismer i****c@i****a 1
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 344
  • Total pull requests: 86
  • Average time to close issues: 3 months
  • Average time to close pull requests: 3 months
  • Total issue authors: 207
  • Total pull request authors: 23
  • Average comments per issue: 3.01
  • Average comments per pull request: 1.23
  • Merged pull requests: 29
  • Bot issues: 0
  • Bot pull requests: 17
Past Year
  • Issues: 27
  • Pull requests: 5
  • Average time to close issues: 5 days
  • Average time to close pull requests: 16 minutes
  • Issue authors: 24
  • Pull request authors: 2
  • Average comments per issue: 0.48
  • Average comments per pull request: 0.8
  • Merged pull requests: 2
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • jfbourdon (26)
  • cefect (12)
  • CarlosGrohmann (11)
  • InsolublePancake (10)
  • mlavy (9)
  • Hornbydd (8)
  • giswqs (6)
  • alexbruy (5)
  • fluviotect (5)
  • brownag (5)
  • zdila (5)
  • geotom (5)
  • jfprieur (4)
  • williamlidberg (4)
  • csmemoe-aquaveo (3)
Pull Request Authors
  • jfbourdon (34)
  • dependabot[bot] (17)
  • giswqs (5)
  • halieute (4)
  • tsamsonov (4)
  • mholling (3)
  • seahawks8 (3)
  • Hornbydd (2)
  • brownag (2)
  • dharhas (1)
  • iwismer (1)
  • Atreyagaurav (1)
  • dankovacek (1)
  • Afrancioni (1)
  • glebpinigin (1)
Top Labels
Issue Labels
bug (52) feature request (37) feedback (7) QGIS plugin (5) documentation (4) windows (3) Rust (2) question (2) high priority (2) Linux (2) unix (1) R repo (1) wontfix (1)
Pull Request Labels
dependencies (17)

Packages

  • Total packages: 2
  • Total downloads: unknown
  • Total dependent packages: 1
    (may contain duplicates)
  • Total dependent repositories: 1
    (may contain duplicates)
  • Total versions: 20
proxy.golang.org: github.com/jblindsay/whitebox-tools
  • Versions: 16
  • Dependent Packages: 0
  • Dependent Repositories: 0
Rankings
Dependent packages count: 5.4%
Average: 5.6%
Dependent repos count: 5.8%
Last synced: 6 months ago
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.

  • Versions: 4
  • Dependent Packages: 1
  • Dependent Repositories: 1
Rankings
Stargazers count: 14.8%
Forks count: 15.7%
Average: 20.9%
Dependent repos count: 24.1%
Dependent packages count: 29.0%
Last synced: 6 months ago

Dependencies

Cargo.lock cargo
  • 113 dependencies
whitebox-common/Cargo.lock cargo
  • 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
whitebox-lidar/Cargo.lock cargo
  • 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
whitebox-raster/Cargo.lock cargo
  • 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
whitebox-runner/Cargo.lock cargo
  • 256 dependencies
whitebox-vector/Cargo.lock cargo
  • 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
Cargo.toml cargo
whitebox-common/Cargo.toml cargo
whitebox-lidar/Cargo.toml cargo
whitebox-plugins/Cargo.toml cargo
whitebox-raster/Cargo.toml cargo
whitebox-runner/Cargo.toml cargo
whitebox-tools-app/Cargo.toml cargo
whitebox-vector/Cargo.toml cargo