Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

print(wbt_list_tools()) prints Error #70

Closed
wiesehahn opened this issue Apr 9, 2022 · 6 comments
Closed

print(wbt_list_tools()) prints Error #70

wiesehahn opened this issue Apr 9, 2022 · 6 comments

Comments

@wiesehahn
Copy link

In the documentation it says

# List all available tools in whitebox-tools
print(wbt_list_tools())

Instead an Error is printed

> print(wbt_list_tools())
All 0 Tools containing keywords:
[1] "All 0 Tools containing keywords:"
@brownag
Copy link
Member

brownag commented Apr 9, 2022

Are you using a recent version of the package from CRAN or GitHub?
With latest version available on CRAN (2.1.2) and on GitHub (2.1.2.9001) I get the following:

library(whitebox)
packageVersion("whitebox")
#> [1] '2.1.2'
print(wbt_version())
#> [1] "WhiteboxTools v2.1.0 by Dr. John B. Lindsay (c) 2017-2022"                  
#> [2] ""                                                                           
#> [3] "WhiteboxTools is an advanced geospatial data analysis platform developed at"
#> [4] "the University of Guelph's Geomorphometry and Hydrogeomatics Research "     
#> [5] "Group (GHRG). See www.whiteboxgeo.com for more details."
wbt_verbose(TRUE)
x <- wbt_list_tools()
#> All 455 Available Tools:
#> AbsoluteValue: Calculates the absolute value of every cell in a raster.
#> AdaptiveFilter: Performs an adaptive filter on an image.
#> Add: Performs an addition operation on two rasters or a raster and a constant value.
#> AddPointCoordinatesToTable: Modifies the attribute table of a point vector by adding fields containing each point's X and Y coordinates.
#> AggregateRaster: Aggregates a raster to a lower resolution.
#> And: Performs a logical AND operator on two Boolean raster images.
#> Anova: Performs an analysis of variance (ANOVA) test on a raster dataset.
#> ArcCos: Returns the inverse cosine (arccos) of each values in a raster.
#> ArcSin: Returns the inverse sine (arcsin) of each values in a raster.
#> ArcTan: Returns the inverse tangent (arctan) of each values in a raster.
#> Arcosh: Returns the inverse hyperbolic cosine (arcosh) of each values in a raster.
#> Arsinh: Returns the inverse hyperbolic sine (arsinh) of each values in a raster.
#> Artanh: Returns the inverse hyperbolic tangent (arctanh) of each values in a raster.
#> AsciiToLas: Converts one or more ASCII files containing LiDAR points into LAS files.
#> Aspect: Calculates an aspect raster from an input DEM.
#> Atan2: Returns the 2-argument inverse tangent (atan2).
#> AttributeCorrelation: Performs a correlation analysis on attribute fields from a vector database.
#> AttributeCorrelationNeighbourhoodAnalysis: Performs a correlation on two input vector attributes within a neighbourhood search windows.
#> AttributeHistogram: Creates a histogram for the field values of a vector's attribute table.
#> AttributeScattergram: Creates a scattergram for two field values of a vector's attribute table.
#> AverageFlowpathSlope: Measures the average slope gradient from each grid cell to all upslope divide cells.
#> AverageNormalVectorAngularDeviation: Calculates the circular variance of aspect at a scale for a DEM.
#> AverageOverlay: Calculates the average for each grid cell from a group of raster images.
#> AverageUpslopeFlowpathLength: Measures the average length of all upslope flowpaths draining each grid cell.
#> BalanceContrastEnhancement: Performs a balance contrast enhancement on a colour-composite image of multispectral data.
#> Basins: Identifies drainage basins that drain to the DEM edge.
#> BilateralFilter: A bilateral filter is an edge-preserving smoothing filter introduced by Tomasi and Manduchi (1998).
#> BlockMaximumGridding: Creates a raster grid based on a set of vector points and assigns grid values using a block maximum scheme.
#> BlockMinimumGridding: Creates a raster grid based on a set of vector points and assigns grid values using a block minimum scheme.
#> BoundaryShapeComplexity: Calculates the complexity of the boundaries of raster polygons.
#> BreachDepressions: Breaches all of the depressions in a DEM using Lindsay's (2016) algorithm. This should be preferred over depression filling in most cases.
#> BreachDepressionsLeastCost: Breaches the depressions in a DEM using a least-cost pathway method.
#> BreachSingleCellPits: Removes single-cell pits from an input DEM by breaching.
#> BufferRaster: Maps a distance-based buffer around each non-background (non-zero/non-nodata) grid cell in an input image.
#> BurnStreamsAtRoads: Burns-in streams at the sites of road embankments.
#> Ceil: Returns the smallest (closest to negative infinity) value that is greater than or equal to the values in a raster.
#> Centroid: Calculates the centroid, or average location, of raster polygon objects.
#> CentroidVector: Identifies the centroid point of a vector polyline or polygon feature or a group of vector points.
#> ChangeVectorAnalysis: Performs a change vector analysis on a two-date multi-spectral dataset.
#> CircularVarianceOfAspect: Calculates the circular variance of aspect at a scale for a DEM.
#> ClassifyBuildingsInLidar: Reclassifies a LiDAR points that lie within vector building footprints.
#> ClassifyOverlapPoints: Classifies or filters LAS points in regions of overlapping flight lines.
#> CleanVector: Removes null features and lines/polygons with fewer than the required number of vertices.
#> Clip: Extract all the features, or parts of features, that overlap with the features of the clip vector.
#> ClipLidarToPolygon: Clips a LiDAR point cloud to a vector polygon or polygons.
#> ClipRasterToPolygon: Clips a raster to a vector polygon.
#> Closing: A closing is a mathematical morphology operation involving an erosion (min filter) of a dilation (max filter) set.
#> Clump: Groups cells that form discrete areas, assigning them unique identifiers.
#> CompactnessRatio: Calculates the compactness ratio (A/P), a measure of shape complexity, for vector polygons.
#> ConservativeSmoothingFilter: Performs a conservative-smoothing filter on an image.
#> ConstructVectorTIN: Creates a vector triangular irregular network (TIN) for a set of vector points.
#> ContoursFromPoints: Creates a contour coverage from a set of input points.
#> ContoursFromRaster: Derives a vector contour coverage from a raster surface.
#> ConvertNodataToZero: Converts nodata values in a raster to zero.
#> ConvertRasterFormat: Converts raster data from one format to another.
#> CornerDetection: Identifies corner patterns in boolean images using hit-and-miss pattern matching.
#> CorrectVignetting: Corrects the darkening of images towards corners.
#> Cos: Returns the cosine (cos) of each values in a raster.
#> Cosh: Returns the hyperbolic cosine (cosh) of each values in a raster.
#> CostAllocation: Identifies the source cell to which each grid cell is connected by a least-cost pathway in a cost-distance analysis.
#> CostDistance: Performs cost-distance accumulation on a cost surface and a group of source cells.
#> CostPathway: Performs cost-distance pathway analysis using a series of destination grid cells.
#> CountIf: Counts the number of occurrences of a specified value in a cell-stack of rasters.
#> CreateColourComposite: Creates a colour-composite image from three bands of multispectral imagery.
#> CreateHexagonalVectorGrid: Creates a hexagonal vector grid.
#> CreatePlane: Creates a raster image based on the equation for a simple plane.
#> CreateRectangularVectorGrid: Creates a rectangular vector grid.
#> CrispnessIndex: Calculates the Crispness Index, which is used to quantify how crisp (or conversely how fuzzy) a probability image is.
#> CrossTabulation: Performs a cross-tabulation on two categorical images.
#> CsvPointsToVector: Converts a CSV text file to vector points.
#> CumulativeDistribution: Converts a raster image to its cumulative distribution function.
#> D8FlowAccumulation: Calculates a D8 flow accumulation raster from an input DEM or flow pointer.
#> D8MassFlux: Performs a D8 mass flux calculation.
#> D8Pointer: Calculates a D8 flow pointer raster from an input DEM.
#> DInfFlowAccumulation: Calculates a D-infinity flow accumulation raster from an input DEM.
#> DInfMassFlux: Performs a D-infinity mass flux calculation.
#> DInfPointer: Calculates a D-infinity flow pointer (flow direction) raster from an input DEM.
#> Decrement: Decreases the values of each grid cell in an input raster by 1.0 (see also InPlaceSubtract).
#> DepthInSink: Measures the depth of sinks (depressions) in a DEM.
#> DevFromMeanElev: Calculates deviation from mean elevation.
#> DiffFromMeanElev: Calculates difference from mean elevation (equivalent to a high-pass filter).
#> DiffOfGaussianFilter: Performs a Difference of Gaussian (DoG) filter on an image.
#> Difference: Outputs the features that occur in one of the two vector inputs but not both, i.e. no overlapping features.
#> DirectDecorrelationStretch: Performs a direct decorrelation stretch enhancement on a colour-composite image of multispectral data.
#> DirectionalRelief: Calculates relief for cells in an input DEM for a specified direction.
#> Dissolve: Removes the interior, or shared, boundaries within a vector polygon coverage.
#> DistanceToOutlet: Calculates the distance of stream grid cells to the channel network outlet cell.
#> DiversityFilter: Assigns each cell in the output grid the number of different values in a moving window centred on each grid cell in the input raster.
#> Divide: Performs a division operation on two rasters or a raster and a constant value.
#> DownslopeDistanceToStream: Measures distance to the nearest downslope stream cell.
#> DownslopeFlowpathLength: Calculates the downslope flowpath length from each cell to basin outlet.
#> DownslopeIndex: Calculates the Hjerdt et al. (2004) downslope index.
#> EdgeDensity: Calculates the density of edges, or breaks-in-slope within DEMs.
#> EdgePreservingMeanFilter: Performs a simple edge-preserving mean filter on an input image.
#> EdgeProportion: Calculate the proportion of cells in a raster polygon that are edge cells.
#> ElevAbovePit: Calculate the elevation of each grid cell above the nearest downstream pit cell or grid edge cell.
#> ElevPercentile: Calculates the elevation percentile raster from a DEM.
#> ElevRelativeToMinMax: Calculates the elevation of a location relative to the minimum and maximum elevations in a DEM.
#> ElevRelativeToWatershedMinMax: Calculates the elevation of a location relative to the minimum and maximum elevations in a watershed.
#> ElevationAboveStream: Calculates the elevation of cells above the nearest downslope stream cell.
#> ElevationAboveStreamEuclidean: Calculates the elevation of cells above the nearest (Euclidean distance) stream cell.
#> EliminateCoincidentPoints: Removes any coincident, or nearly coincident, points from a vector points file.
#> ElongationRatio: Calculates the elongation ratio for vector polygons.
#> EmbankmentMapping: Maps and/or removes road embankments from an input fine-resolution DEM.
#> EmbossFilter: Performs an emboss filter on an image, similar to a hillshade operation.
#> EqualTo: Performs a equal-to comparison operation on two rasters or a raster and a constant value.
#> Erase: Removes all the features, or parts of features, that overlap with the features of the erase vector polygon.
#> ErasePolygonFromLidar: Erases (cuts out) a vector polygon or polygons from a LiDAR point cloud.
#> ErasePolygonFromRaster: Erases (cuts out) a vector polygon from a raster.
#> EuclideanAllocation: Assigns grid cells in the output raster the value of the nearest target cell in the input image, measured by the Shih and Wu (2004) Euclidean distance transform.
#> EuclideanDistance: Calculates the Shih and Wu (2004) Euclidean distance transform.
#> Exp: Returns the exponential (base e) of values in a raster.
#> Exp2: Returns the exponential (base 2) of values in a raster.
#> ExportTableToCsv: Exports an attribute table to a CSV text file.
#> ExtendVectorLines: Extends vector lines by a specified distance.
#> ExtractNodes: Converts vector lines or polygons into vertex points.
#> ExtractRasterValuesAtPoints: Extracts the values of raster(s) at vector point locations.
#> ExtractStreams: Extracts stream grid cells from a flow accumulation raster.
#> ExtractValleys: Identifies potential valley bottom grid cells based on local topolography alone.
#> FD8FlowAccumulation: Calculates an FD8 flow accumulation raster from an input DEM.
#> FD8Pointer: Calculates an FD8 flow pointer raster from an input DEM.
#> FarthestChannelHead: Calculates the distance to the furthest upstream channel head for each stream cell.
#> FastAlmostGaussianFilter: Performs a fast approximate Gaussian filter on an image.
#> FeaturePreservingSmoothing: Reduces short-scale variation in an input DEM using a modified Sun et al. (2007) algorithm.
#> FetchAnalysis: Performs an analysis of fetch or upwind distance to an obstacle.
#> FillBurn: Burns streams into a DEM using the FillBurn (Saunders, 1999) method.
#> FillDepressions: Fills all of the depressions in a DEM. Depression breaching should be preferred in most cases.
#> FillDepressionsPlanchonAndDarboux: Fills all of the depressions in a DEM using the Planchon and Darboux (2002) method.
#> FillDepressionsWangAndLiu: Fills all of the depressions in a DEM using the Wang and Liu (2006) method. Depression breaching should be preferred in most cases.
#> FillMissingData: Fills NoData holes in a DEM.
#> FillSingleCellPits: Raises pit cells to the elevation of their lowest neighbour.
#> FilterLidarClasses: Removes points in a LAS file with certain specified class values.
#> FilterLidarScanAngles: Removes points in a LAS file with scan angles greater than a threshold.
#> FilterRasterFeaturesByArea: Removes small-area features from a raster.
#> FindFlightlineEdgePoints: Identifies points along a flightline's edge in a LAS file.
#> FindLowestOrHighestPoints: Locates the lowest and/or highest valued cells in a raster.
#> FindMainStem: Finds the main stem, based on stream lengths, of each stream network.
#> FindNoFlowCells: Finds grid cells with no downslope neighbours.
#> FindParallelFlow: Finds areas of parallel flow in D8 flow direction rasters.
#> FindPatchOrClassEdgeCells: Finds all cells located on the edge of patch or class features.
#> FindRidges: Identifies potential ridge and peak grid cells.
#> FlattenLakes: Flattens lake polygons in a raster DEM.
#> FlightlineOverlap: Reads a LiDAR (LAS) point file and outputs a raster containing the number of overlapping flight lines in each grid cell.
#> FlipImage: Reflects an image in the vertical or horizontal axis.
#> FloodOrder: Assigns each DEM grid cell its order in the sequence of inundations that are encountered during a search starting from the edges, moving inward at increasing elevations.
#> Floor: Returns the largest (closest to positive infinity) value that is less than or equal to the values in a raster.
#> FlowAccumulationFullWorkflow: Resolves all of the depressions in a DEM, outputting a breached DEM, an aspect-aligned non-divergent flow pointer, and a flow accumulation raster.
#> FlowLengthDiff: Calculates the local maximum absolute difference in downslope flowpath length, useful in mapping drainage divides and ridges.
#> GammaCorrection: Performs a gamma correction on an input images.
#> GaussianContrastStretch: Performs a Gaussian contrast stretch on input images.
#> GaussianCurvature: Calculates a mean curvature raster from an input DEM.
#> GaussianFilter: Performs a Gaussian filter on an image.
#> Geomorphons: Computes geomorphon patterns.
#> GreaterThan: Performs a greater-than comparison operation on two rasters or a raster and a constant value.
#> HackStreamOrder: Assigns the Hack stream order to each tributary in a stream network.
#> HeightAboveGround: Normalizes a LiDAR point cloud, providing the height above the nearest ground-classified point.
#> HighPassFilter: Performs a high-pass filter on an input image.
#> HighPassMedianFilter: Performs a high pass median filter on an input image.
#> HighestPosition: Identifies the stack position of the maximum value within a raster stack on a cell-by-cell basis.
#> Hillshade: Calculates a hillshade raster from an input DEM.
#> Hillslopes: Identifies the individual hillslopes draining to each link in a stream network.
#> HistogramEqualization: Performs a histogram equalization contrast enhancement on an image.
#> HistogramMatching: Alters the statistical distribution of a raster image matching it to a specified PDF.
#> HistogramMatchingTwoImages: This tool alters the cumulative distribution function of a raster image to that of another image.
#> HoleProportion: Calculates the proportion of the total area of a polygon's holes relative to the area of the polygon's hull.
#> HorizonAngle: Calculates horizon angle (maximum upwind slope) for each grid cell in an input DEM.
#> HortonStreamOrder: Assigns the Horton stream order to each tributary in a stream network.
#> HypsometricAnalysis: Calculates a hypsometric curve for one or more DEMs.
#> HypsometricallyTintedHillshade: Creates an colour shaded relief image from an input DEM.
#> IdwInterpolation: Interpolates vector points into a raster surface using an inverse-distance weighted scheme.
#> IhsToRgb: Converts intensity, hue, and saturation (IHS) images into red, green, and blue (RGB) images.
#> ImageAutocorrelation: Performs Moran's I analysis on two or more input images.
#> ImageCorrelation: Performs image correlation on two or more input images.
#> ImageCorrelationNeighbourhoodAnalysis: Performs image correlation on two input images neighbourhood search windows.
#> ImageRegression: Performs image regression analysis on two input images.
#> ImageStackProfile: Plots an image stack profile (i.e. signature) for a set of points and multispectral images.
#> ImpoundmentSizeIndex: Calculates the impoundment size resulting from damming a DEM.
#> InPlaceAdd: Performs an in-place addition operation (input1 += input2).
#> InPlaceDivide: Performs an in-place division operation (input1 /= input2).
#> InPlaceMultiply: Performs an in-place multiplication operation (input1 *= input2).
#> InPlaceSubtract: Performs an in-place subtraction operation (input1 -= input2).
#> Increment: Increases the values of each grid cell in an input raster by 1.0. (see also InPlaceAdd)
#> InsertDams: Calculates the impoundment size resulting from damming a DEM.
#> IntegerDivision: Performs an integer division operation on two rasters or a raster and a constant value.
#> IntegralImage: Transforms an input image (summed area table) into its integral image equivalent.
#> Intersect: Identifies the parts of features in common between two input vector layers.
#> IsNoData: Identifies NoData valued pixels in an image.
#> Isobasins: Divides a landscape into nearly equal sized drainage basins (i.e. watersheds).
#> JensonSnapPourPoints: Moves outlet points used to specify points of interest in a watershedding operation to the nearest stream cell.
#> JoinTables: Merge a vector's attribute table with another table based on a common field.
#> KMeansClustering: Performs a k-means clustering operation on a multi-spectral dataset.
#> KNearestMeanFilter: A k-nearest mean filter is a type of edge-preserving smoothing filter.
#> KappaIndex: Performs a kappa index of agreement (KIA) analysis on two categorical raster files.
#> KsTestForNormality: Evaluates whether the values in a raster are normally distributed.
#> LaplacianFilter: Performs a Laplacian filter on an image.
#> LaplacianOfGaussianFilter: Performs a Laplacian-of-Gaussian (LoG) filter on an image.
#> LasToAscii: Converts one or more LAS files into ASCII text files.
#> LasToMultipointShapefile: Converts one or more LAS files into MultipointZ vector Shapefiles. When the input parameter is not specified, the tool grids all LAS files contained within the working directory.
#> LasToShapefile: Converts one or more LAS files into a vector Shapefile of POINT ShapeType.
#> LasToZlidar: Converts one or more LAS files into the zlidar compressed LiDAR data format.
#> LayerFootprint: Creates a vector polygon footprint of the area covered by a raster grid or vector layer.
#> LeeSigmaFilter: Performs a Lee (Sigma) smoothing filter on an image.
#> LengthOfUpstreamChannels: Calculates the total length of channels upstream.
#> LessThan: Performs a less-than comparison operation on two rasters or a raster and a constant value.
#> LidarBlockMaximum: Creates a block-maximum raster from an input LAS file. When the input/output parameters are not specified, the tool grids all LAS files contained within the working directory.
#> LidarBlockMinimum: Creates a block-minimum raster from an input LAS file. When the input/output parameters are not specified, the tool grids all LAS files contained within the working directory.
#> LidarClassifySubset: Classifies the values in one LiDAR point cloud that correspond with points in a subset cloud.
#> LidarColourize: Adds the red-green-blue colour fields of a LiDAR (LAS) file based on an input image.
#> LidarDigitalSurfaceModel: Creates a top-surface digital surface model (DSM) from a LiDAR point cloud.
#> LidarElevationSlice: Outputs all of the points within a LiDAR (LAS) point file that lie between a specified elevation range.
#> LidarGroundPointFilter: Identifies ground points within LiDAR dataset using a slope-based method.
#> LidarHexBinning: Hex-bins a set of LiDAR points.
#> LidarHillshade: Calculates a hillshade value for points within a LAS file and stores these data in the RGB field.
#> LidarHistogram: Creates a histogram of LiDAR data.
#> LidarIdwInterpolation: Interpolates LAS files using an inverse-distance weighted (IDW) scheme. When the input/output parameters are not specified, the tool interpolates all LAS files contained within the working directory.
#> LidarInfo: Prints information about a LiDAR (LAS) dataset, including header, point return frequency, and classification data and information about the variable length records (VLRs) and geokeys.
#> LidarJoin: Joins multiple LiDAR (LAS) files into a single LAS file.
#> LidarKappaIndex: Performs a kappa index of agreement (KIA) analysis on the classifications of two LAS files.
#> LidarNearestNeighbourGridding: Grids LiDAR files using nearest-neighbour scheme. When the input/output parameters are not specified, the tool grids all LAS files contained within the working directory.
#> LidarPointDensity: Calculates the spatial pattern of point density for a LiDAR data set. When the input/output parameters are not specified, the tool grids all LAS files contained within the working directory.
#> LidarPointStats: Creates several rasters summarizing the distribution of LAS point data. When the input/output parameters are not specified, the tool works on all LAS files contained within the working directory.
#> LidarRansacPlanes: Performs a RANSAC analysis to identify points within a LiDAR point cloud that belong to linear planes.
#> LidarRbfInterpolation: Interpolates LAS files using a radial basis function (RBF) scheme. When the input/output parameters are not specified, the tool interpolates all LAS files contained within the working directory.
#> LidarRemoveDuplicates: Removes duplicate points from a LiDAR data set.
#> LidarRemoveOutliers: Removes outliers (high and low points) in a LiDAR point cloud.
#> LidarRooftopAnalysis: Identifies roof segments in a LiDAR point cloud.
#> LidarSegmentation: Segments a LiDAR point cloud based on differences in the orientation of fitted planar surfaces and point proximity.
#> LidarSegmentationBasedFilter: Identifies ground points within LiDAR point clouds using a segmentation based approach.
#> LidarTINGridding: Creates a raster grid based on a Delaunay triangular irregular network (TIN) fitted to LiDAR points.
#> LidarThin: Thins a LiDAR point cloud, reducing point density.
#> LidarThinHighDensity: Thins points from high density areas within a LiDAR point cloud.
#> LidarTile: Tiles a LiDAR LAS file into multiple LAS files.
#> LidarTileFootprint: Creates a vector polygon of the convex hull of a LiDAR point cloud. When the input/output parameters are not specified, the tool works with all LAS files contained within the working directory.
#> LidarTophatTransform: Performs a white top-hat transform on a Lidar dataset; as an estimate of height above ground, this is useful for modelling the vegetation canopy.
#> LineDetectionFilter: Performs a line-detection filter on an image.
#> LineIntersections: Identifies points where the features of two vector line layers intersect.
#> LineThinning: Performs line thinning a on Boolean raster image; intended to be used with the RemoveSpurs tool.
#> LinearityIndex: Calculates the linearity index for vector polygons.
#> LinesToPolygons: Converts vector polylines to polygons.
#> ListUniqueValues: Lists the unique values contained in a field within a vector's attribute table.
#> Ln: Returns the natural logarithm of values in a raster.
#> Log10: Returns the base-10 logarithm of values in a raster.
#> Log2: Returns the base-2 logarithm of values in a raster.
#> LongProfile: Plots the stream longitudinal profiles for one or more rivers.
#> LongProfileFromPoints: Plots the longitudinal profiles from flow-paths initiating from a set of vector points.
#> LongestFlowpath: Delineates the longest flowpaths for a group of subbasins or watersheds. 
#> LowestPosition: Identifies the stack position of the minimum value within a raster stack on a cell-by-cell basis.
#> MDInfFlowAccumulation: Calculates an FD8 flow accumulation raster from an input DEM.
#> MajorityFilter: Assigns each cell in the output grid the most frequently occurring value (mode) in a moving window centred on each grid cell in the input raster.
#> MapOffTerrainObjects: Maps off-terrain objects in a digital elevation model (DEM).
#> Max: Performs a MAX operation on two rasters or a raster and a constant value.
#> MaxAbsoluteOverlay: Evaluates the maximum absolute value for each grid cell from a stack of input rasters.
#> MaxAnisotropyDev: Calculates the maximum anisotropy (directionality) in elevation deviation over a range of spatial scales.
#> MaxAnisotropyDevSignature: Calculates the anisotropy in deviation from mean for points over a range of spatial scales.
#> MaxBranchLength: Lindsay and Seibert's (2013) branch length index is used to map drainage divides or ridge lines.
#> MaxDifferenceFromMean: Calculates the maximum difference from mean elevation over a range of spatial scales.
#> MaxDownslopeElevChange: Calculates the maximum downslope change in elevation between a grid cell and its eight downslope neighbors.
#> MaxElevDevSignature: Calculates the maximum elevation deviation over a range of spatial scales and for a set of points.
#> MaxElevationDeviation: Calculates the maximum elevation deviation over a range of spatial scales.
#> MaxOverlay: Evaluates the maximum value for each grid cell from a stack of input rasters.
#> MaxUpslopeElevChange: Calculates the maximum upslope change in elevation between a grid cell and its eight downslope neighbors.
#> MaxUpslopeFlowpathLength: Measures the maximum length of all upslope flowpaths draining each grid cell.
#> MaximalCurvature: Calculates a mean curvature raster from an input DEM.
#> MaximumFilter: Assigns each cell in the output grid the maximum value in a moving window centred on each grid cell in the input raster.
#> MeanCurvature: Calculates a mean curvature raster from an input DEM.
#> MeanFilter: Performs a mean filter (low-pass filter) on an input image.
#> MedianFilter: Performs a median filter on an input image.
#> Medoid: Calculates the medoid for a series of vector features contained in a shapefile.
#> MergeLineSegments: Merges vector line segments into larger features.
#> MergeTableWithCsv: Merge a vector's attribute table with a table contained within a CSV text file.
#> MergeVectors: Combines two or more input vectors of the same ShapeType creating a single, new output vector.
#> Min: Performs a MIN operation on two rasters or a raster and a constant value.
#> MinAbsoluteOverlay: Evaluates the minimum absolute value for each grid cell from a stack of input rasters.
#> MinDownslopeElevChange: Calculates the minimum downslope change in elevation between a grid cell and its eight downslope neighbors.
#> MinMaxContrastStretch: Performs a min-max contrast stretch on an input greytone image.
#> MinOverlay: Evaluates the minimum value for each grid cell from a stack of input rasters.
#> MinimalCurvature: Calculates a mean curvature raster from an input DEM.
#> MinimumBoundingBox: Creates a vector minimum bounding rectangle around vector features.
#> MinimumBoundingCircle: Delineates the minimum bounding circle (i.e. smallest enclosing circle) for a group of vectors.
#> MinimumBoundingEnvelope: Creates a vector axis-aligned minimum bounding rectangle (envelope) around vector features.
#> MinimumConvexHull: Creates a vector convex polygon around vector features.
#> MinimumFilter: Assigns each cell in the output grid the minimum value in a moving window centred on each grid cell in the input raster.
#> ModifiedKMeansClustering: Performs a modified k-means clustering operation on a multi-spectral dataset.
#> ModifyNoDataValue: Converts nodata values in a raster to zero.
#> Modulo: Performs a modulo operation on two rasters or a raster and a constant value.
#> Mosaic: Mosaics two or more images together.
#> MosaicWithFeathering: Mosaics two images together using a feathering technique in overlapping areas to reduce edge-effects.
#> MultiPartToSinglePart: Converts a vector file containing multi-part features into a vector containing only single-part features.
#> MultidirectionalHillshade: Calculates a multi-direction hillshade raster from an input DEM.
#> Multiply: Performs a multiplication operation on two rasters or a raster and a constant value.
#> MultiplyOverlay: Calculates the sum for each grid cell from a group of raster images.
#> MultiscaleElevationPercentile: Calculates surface roughness over a range of spatial scales.
#> MultiscaleRoughness: Calculates surface roughness over a range of spatial scales.
#> MultiscaleRoughnessSignature: Calculates the surface roughness for points over a range of spatial scales.
#> MultiscaleStdDevNormals: Calculates surface roughness over a range of spatial scales.
#> MultiscaleStdDevNormalsSignature: Calculates the surface roughness for points over a range of spatial scales.
#> MultiscaleTopographicPositionImage: Creates a multiscale topographic position image from three DEVmax rasters of differing spatial scale ranges.
#> NarrownessIndex: Calculates the narrowness of raster polygons.
#> NaturalNeighbourInterpolation: Creates a raster grid based on Sibson's natural neighbour method.
#> NearestNeighbourGridding: Creates a raster grid based on a set of vector points and assigns grid values using the nearest neighbour.
#> Negate: Changes the sign of values in a raster or the 0-1 values of a Boolean raster.
#> NewRasterFromBase: Creates a new raster using a base image.
#> NormalVectors: Calculates normal vectors for points within a LAS file and stores these data (XYZ vector components) in the RGB field.
#> NormalizedDifferenceIndex: Calculate a normalized-difference index (NDI) from two bands of multispectral image data.
#> Not: Performs a logical NOT operator on two Boolean raster images.
#> NotEqualTo: Performs a not-equal-to comparison operation on two rasters or a raster and a constant value.
#> NumDownslopeNeighbours: Calculates the number of downslope neighbours to each grid cell in a DEM.
#> NumInflowingNeighbours: Computes the number of inflowing neighbours to each cell in an input DEM based on the D8 algorithm.
#> NumUpslopeNeighbours: Calculates the number of upslope neighbours to each grid cell in a DEM.
#> OlympicFilter: Performs an olympic smoothing filter on an image.
#> Opening: An opening is a mathematical morphology operation involving a dilation (max filter) of an erosion (min filter) set.
#> Or: Performs a logical OR operator on two Boolean raster images.
#> PairedSampleTTest: Performs a 2-sample K-S test for significant differences on two input rasters.
#> PanchromaticSharpening: Increases the spatial resolution of image data by combining multispectral bands with panchromatic data.
#> PatchOrientation: Calculates the orientation of vector polygons.
#> PennockLandformClass: Classifies hillslope zones based on slope, profile curvature, and plan curvature.
#> PercentElevRange: Calculates percent of elevation range from a DEM.
#> PercentEqualTo: Calculates the percentage of a raster stack that have cell values equal to an input on a cell-by-cell basis.
#> PercentGreaterThan: Calculates the percentage of a raster stack that have cell values greater than an input on a cell-by-cell basis.
#> PercentLessThan: Calculates the percentage of a raster stack that have cell values less than an input on a cell-by-cell basis.
#> PercentageContrastStretch: Performs a percentage linear contrast stretch on input images.
#> PercentileFilter: Performs a percentile filter on an input image.
#> PerimeterAreaRatio: Calculates the perimeter-area ratio of vector polygons.
#> PickFromList: Outputs the value from a raster stack specified by a position raster.
#> PlanCurvature: Calculates a plan (contour) curvature raster from an input DEM.
#> PolygonArea: Calculates the area of vector polygons.
#> PolygonLongAxis: This tool can be used to map the long axis of polygon features.
#> PolygonPerimeter: Calculates the perimeter of vector polygons.
#> PolygonShortAxis: This tool can be used to map the short axis of polygon features.
#> Polygonize: Creates a polygon layer from two or more intersecting line features contained in one or more input vector line files.
#> PolygonsToLines: Converts vector polygons to polylines.
#> Power: Raises the values in grid cells of one rasters, or a constant value, by values in another raster or constant value.
#> PrewittFilter: Performs a Prewitt edge-detection filter on an image.
#> PrincipalComponentAnalysis: Performs a principal component analysis (PCA) on a multi-spectral dataset.
#> PrintGeoTiffTags: Prints the tags within a GeoTIFF.
#> Profile: Plots profiles from digital surface models.
#> ProfileCurvature: Calculates a profile curvature raster from an input DEM.
#> Quantiles: Transforms raster values into quantiles.
#> RadialBasisFunctionInterpolation: Interpolates vector points into a raster surface using a radial basis function scheme.
#> RadiusOfGyration: Calculates the distance of cells from their polygon's centroid.
#> RaiseWalls: Raises walls in a DEM along a line or around a polygon, e.g. a watershed.
#> RandomField: Creates an image containing random values.
#> RandomSample: Creates an image containing randomly located sample grid cells with unique IDs.
#> RangeFilter: Assigns each cell in the output grid the range of values in a moving window centred on each grid cell in the input raster.
#> RasterArea: Calculates the area of polygons or classes within a raster image.
#> RasterCellAssignment: Assign row or column number to cells.
#> RasterHistogram: Creates a histogram from raster values.
#> RasterPerimeter: Calculates the perimeters of polygons or classes within a raster image.
#> RasterStreamsToVector: Converts a raster stream file into a vector file.
#> RasterSummaryStats: Measures a rasters min, max, average, standard deviation, num. non-nodata cells, and total.
#> RasterToVectorLines: Converts a raster lines features into a vector of the POLYLINE shapetype
#> RasterToVectorPoints: Converts a raster dataset to a vector of the POINT shapetype.
#> RasterToVectorPolygons: Converts a raster dataset to a vector of the POLYGON shapetype.
#> RasterizeStreams: Rasterizes vector streams based on Lindsay (2016) method.
#> Reciprocal: Returns the reciprocal (i.e. 1 / z) of values in a raster.
#> Reclass: Reclassifies the values in a raster image.
#> ReclassEqualInterval: Reclassifies the values in a raster image based on equal-ranges.
#> ReclassFromFile: Reclassifies the values in a raster image using reclass ranges in a text file.
#> ReinitializeAttributeTable: Reinitializes a vector's attribute table deleting all fields but the feature ID (FID).
#> RelatedCircumscribingCircle: Calculates the related circumscribing circle of vector polygons.
#> RelativeAspect: Calculates relative aspect (relative to a user-specified direction) from an input DEM.
#> RelativeTopographicPosition: Calculates the relative topographic position index from a DEM.
#> RemoveOffTerrainObjects: Removes off-terrain objects from a raster digital elevation model (DEM).
#> RemovePolygonHoles: Removes holes within the features of a vector polygon file.
#> RemoveShortStreams: Removes short first-order streams from a stream network.
#> RemoveSpurs: Removes the spurs (pruning operation) from a Boolean line image; intended to be used on the output of the LineThinning tool.
#> Resample: Resamples one or more input images into a destination image.
#> RescaleValueRange: Performs a min-max contrast stretch on an input greytone image.
#> RgbToIhs: Converts red, green, and blue (RGB) images into intensity, hue, and saturation (IHS) images.
#> Rho8Pointer: Calculates a stochastic Rho8 flow pointer raster from an input DEM.
#> RobertsCrossFilter: Performs a Robert's cross edge-detection filter on an image.
#> RootMeanSquareError: Calculates the RMSE and other accuracy statistics.
#> Round: Rounds the values in an input raster to the nearest integer value.
#> RuggednessIndex: Calculates the Riley et al.'s (1999) terrain ruggedness index from an input DEM.
#> ScharrFilter: Performs a Scharr edge-detection filter on an image.
#> SedimentTransportIndex: Calculates the sediment transport index.
#> SelectTilesByPolygon: Copies LiDAR tiles overlapping with a polygon into an output directory.
#> SetNodataValue: Assign a specified value in an input image to the NoData value.
#> ShapeComplexityIndex: Calculates overall polygon shape complexity or irregularity.
#> ShapeComplexityIndexRaster: Calculates the complexity of raster polygons or classes.
#> ShreveStreamMagnitude: Assigns the Shreve stream magnitude to each link in a stream network.
#> SigmoidalContrastStretch: Performs a sigmoidal contrast stretch on input images.
#> Sin: Returns the sine (sin) of each values in a raster.
#> SinglePartToMultiPart: Converts a vector file containing multi-part features into a vector containing only single-part features.
#> Sinh: Returns the hyperbolic sine (sinh) of each values in a raster.
#> Sink: Identifies the depressions in a DEM, giving each feature a unique identifier.
#> Slope: Calculates a slope raster from an input DEM.
#> SlopeVsElevationPlot: Creates a slope vs. elevation plot for one or more DEMs.
#> SmoothVectors: Smooths a vector coverage of either a POLYLINE or POLYGON base ShapeType.
#> SnapPourPoints: Moves outlet points used to specify points of interest in a watershedding operation to the cell with the highest flow accumulation in its neighbourhood.
#> SobelFilter: Performs a Sobel edge-detection filter on an image.
#> SphericalStdDevOfNormals: Calculates the spherical standard deviation of surface normals for a DEM.
#> SplitColourComposite: This tool splits an RGB colour composite image into separate multispectral images.
#> SplitWithLines: Splits the lines or polygons in one layer using the lines in another layer.
#> Square: Squares the values in a raster.
#> SquareRoot: Returns the square root of the values in a raster.
#> StandardDeviationContrastStretch: Performs a standard-deviation contrast stretch on input images.
#> StandardDeviationFilter: Assigns each cell in the output grid the standard deviation of values in a moving window centred on each grid cell in the input raster.
#> StandardDeviationOfSlope: Calculates the standard deviation of slope from an input DEM.
#> StochasticDepressionAnalysis: Performs a stochastic analysis of depressions within a DEM.
#> StrahlerOrderBasins: Identifies Strahler-order basins from an input stream network.
#> StrahlerStreamOrder: Assigns the Strahler stream order to each link in a stream network.
#> StreamLinkClass: Identifies the exterior/interior links and nodes in a stream network.
#> StreamLinkIdentifier: Assigns a unique identifier to each link in a stream network.
#> StreamLinkLength: Estimates the length of each link (or tributary) in a stream network.
#> StreamLinkSlope: Estimates the average slope of each link (or tributary) in a stream network.
#> StreamPowerIndex: Calculates the relative stream power index.
#> StreamSlopeContinuous: Estimates the slope of each grid cell in a stream network.
#> Subbasins: Identifies the catchments, or sub-basin, draining to each link in a stream network.
#> Subtract: Performs a differencing operation on two rasters or a raster and a constant value.
#> SumOverlay: Calculates the sum for each grid cell from a group of raster images.
#> SurfaceAreaRatio: Calculates a the surface area ratio of each grid cell in an input DEM.
#> SymmetricalDifference: Outputs the features that occur in one of the two vector inputs but not both, i.e. no overlapping features.
#> TINGridding: Creates a raster grid based on a triangular irregular network (TIN) fitted to vector points.
#> Tan: Returns the tangent (tan) of each values in a raster.
#> TangentialCurvature: Calculates a tangential curvature raster from an input DEM.
#> Tanh: Returns the hyperbolic tangent (tanh) of each values in a raster.
#> ThickenRasterLine: Thickens single-cell wide lines within a raster image.
#> TimeInDaylight: Calculates the proportion of time a location is not within an area of shadow.
#> ToDegrees: Converts a raster from radians to degrees.
#> ToRadians: Converts a raster from degrees to radians.
#> TophatTransform: Performs either a white or black top-hat transform on an input image.
#> TopologicalStreamOrder: Assigns each link in a stream network its topological order.
#> TotalCurvature: Calculates a total curvature raster from an input DEM.
#> TotalFilter: Performs a total filter on an input image.
#> TraceDownslopeFlowpaths: Traces downslope flowpaths from one or more target sites (i.e. seed points).
#> TrendSurface: Estimates the trend surface of an input raster file.
#> TrendSurfaceVectorPoints: Estimates a trend surface from vector points.
#> TributaryIdentifier: Assigns a unique identifier to each tributary in a stream network.
#> Truncate: Truncates the values in a raster to the desired number of decimal places.
#> TurningBandsSimulation: Creates an image containing random values based on a turning-bands simulation.
#> TwoSampleKsTest: Performs a 2-sample K-S test for significant differences on two input rasters.
#> Union: Splits vector layers at their overlaps, creating a layer containing all the portions from both input and overlay layers.
#> UnnestBasins: Extract whole watersheds for a set of outlet points.
#> UnsharpMasking: An image sharpening technique that enhances edges.
#> UpdateNodataCells: Replaces the NoData values in an input raster with the corresponding values contained in a second update layer.
#> UpslopeDepressionStorage: Estimates the average upslope depression storage depth.
#> UserDefinedWeightsFilter: Performs a user-defined weights filter on an image.
#> VectorHexBinning: Hex-bins a set of vector points.
#> VectorLinesToRaster: Converts a vector containing polylines into a raster.
#> VectorPointsToRaster: Converts a vector containing points into a raster.
#> VectorPolygonsToRaster: Converts a vector containing polygons into a raster.
#> Viewshed: Identifies the viewshed for a point or set of points.
#> VisibilityIndex: Estimates the relative visibility of sites in a DEM.
#> VoronoiDiagram: Creates a vector Voronoi diagram for a set of vector points.
#> Watershed: Identifies the watershed, or drainage basin, draining to a set of target cells.
#> WeightedOverlay: Performs a weighted sum on multiple input rasters after converting each image to a common scale. The tool performs a multi-criteria evaluation (MCE).
#> WeightedSum: Performs a weighted-sum overlay on multiple input raster images.
#> WetnessIndex: Calculates the topographic wetness index, Ln(A / tan(slope)).
#> WilcoxonSignedRankTest: Performs a 2-sample K-S test for significant differences on two input rasters.
#> WriteFunctionMemoryInsertion: Performs a write function memory insertion for single-band multi-date change detection.
#> Xor: Performs a logical XOR operator on two Boolean raster images.
#> ZScores: Standardizes the values in an input raster by converting to z-scores.
#> ZlidarToLas: Converts one or more zlidar files into the LAS data format.
#> ZonalStatistics: Extracts descriptive statistics for a group of patches in a raster.
str(x)
#>  chr [1:456] "All 455 Available Tools:" ...

@wiesehahn
Copy link
Author

Fresh install from CRAN

> packageVersion("whitebox")
[1] ‘2.1.2’
> print(wbt_version())
WhiteboxTools v2.1.0 by Dr. John B. Lindsay (c) 2017-2021

WhiteboxTools is an advanced geospatial data analysis platform developed at
the University of Guelph's Geomorphometry and Hydrogeomatics Research 
Group (GHRG). See www.whiteboxgeo.com for more details.
[1] "WhiteboxTools v2.1.0 by Dr. John B. Lindsay (c) 2017-2021"                  
[2] ""                                                                           
[3] "WhiteboxTools is an advanced geospatial data analysis platform developed at"
[4] "the University of Guelph's Geomorphometry and Hydrogeomatics Research "     
[5] "Group (GHRG). See www.whiteboxgeo.com for more details."                    
> wbt_verbose(TRUE)
> x <- wbt_list_tools()
All 0 Tools containing keywords:

@brownag
Copy link
Member

brownag commented Apr 10, 2022

Can you show the output for this command, please? And what platform are you running this on?

print(whitebox:::wbt_system_call("--listtools", command_only = TRUE))
print(whitebox:::wbt_system_call(paste("--listtools", NULL), command_only = TRUE))

If you run the above command output directly in your shell, do you get the same result?

@wiesehahn
Copy link
Author

running on Windows, guess thats the problem.

> print(whitebox:::wbt_system_call("--listtools", command_only = TRUE))
[1] "\"C:/Users/jwiesehahn/AppData/Local/renv/cache/v5/R-4.1/x86_64-w64-mingw32/whitebox/2.1.2/921d2eadfb2a5656a58960a3511c112d/whitebox/WBT/whitebox_tools.exe\" --listtools"
> print(whitebox:::wbt_system_call(paste("--listtools", NULL), command_only = TRUE))
[1] "\"C:/Users/jwiesehahn/AppData/Local/renv/cache/v5/R-4.1/x86_64-w64-mingw32/whitebox/2.1.2/921d2eadfb2a5656a58960a3511c112d/whitebox/WBT/whitebox_tools.exe\" --listtools "
In Zeile:1 Zeichen:4
+ "\"C:/Users/jwiesehahn/AppData/Local/renv/cache/v5/R-4.1/x86_64-w64-m ...
+    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Unerwartetes Token "C:/Users/jwiesehahn/AppData/Local/renv/cache/v5/R-4.1/x86_64-w64-mingw32/whitebox/2.1.2/921d2eadfb2
a5656a58960a3511c112d/whitebox/WBT/whitebox_tools.exe\" --listtools"" in Ausdruck oder Anweisung.
    + CategoryInfo          : ParserError: (:) [], ParentContainsErrorRecordException
    + FullyQualifiedErrorId : UnexpectedToken

@brownag
Copy link
Member

brownag commented Apr 11, 2022

I hadn't noticed the extra trailing whitespace and its effect on windows shell. I made an update to the package on github that should correct this. Thanks for reporting the issue.

@brownag
Copy link
Member

brownag commented Apr 11, 2022

P.s. I think you need to remove the backslash escaping quotes when run manually. My suspicion is the extra space is interpreted as a keyword so you get 0 results

brownag added a commit that referenced this issue Apr 13, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants