Create a new operation with a function that takes the result of this operation and returns a new operation.
Create a new operation with a function that takes the result of this operation and returns a new operation.
Create an operation that applies the function f to the result of this operation, but returns nothing.
Create an operation that applies the function f to the result of this operation, but returns nothing.
Call the given function with this operation as its argument.
Call the given function with this operation as its argument.
This is primarily useful for code readability.
http://debasishg.blogspot.com/2009/09/thrush-combinator-in-scala.html
Create a new operation that returns the result of the provided function that takes this operation's result as its argument.
Create a new operation that returns the result of the provided function that takes this operation's result as its argument.
Elevation raster the operation will run against.
Execute this operation and return the result.
Execute this operation and return the result.
Create a new operation with a function that takes the result of this operation and returns a new operation.
Create a new operation with a function that takes the result of this operation and returns a new operation.
Same as flatMap.
Operation to compute a flow direction raster from an elevation raster
The directional encoding is from: Greenlee,D. D. 1987. "Raster and Vector Processing for Scanned Linework." Photogrammetric Engineering and Remote Sensing (ISSN 0099-1112),vol. 53,Oct. 1987,p. 1383-1387.
The direction of flow is towards the neighboring cell with the largest drop in elevation. If two or more cells have the same drop in elevation,their directional values are added together. The 8-bit encoding of the direction preserves the multi-directional property.
Sinks,cells which have no drop in elevation towards any neighbor,have no direction of flow.
Elevation raster the operation will run against.