geotrellis.raster.op.transform

Downsample

case class Downsample(r: Raster, cols: Int, rows: Int)(f: (CellSet) ⇒ Int) extends Op4[Raster, Int, Int, (CellSet) ⇒ Int, Raster] with Product with Serializable

Downsamples the given raster to the given number of columns and rows by applying the given function to the cells of the original raster that compose a cell in the resulting raster.

Example:
  1. // Downsamples to a 4x3 raster according to the max value of the input raster.
    
    val op = Downsample(r,4,3)({
      cellSet =>
        var maxValue = Int.MinValue
        cellSet.foreach({ (col,row) => if(col < r.cols && row < r.rows) maxValue = math.max(r.get(col,row),maxValue) })
        maxValue
    })
    

Note

Currently only works with integer value functions.

,

If the original RasterExtent dimensions are not divisible by the given cols and rows, the CellSet argument of the function might give invalid column and rows in it's foreach function. You need to guard against this in the given function.

Linear Supertypes
Op4[Raster, Int, Int, (CellSet) ⇒ Int, Raster], Operation[Raster], Serializable, Serializable, Product, Equals, AnyRef, Any
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. Downsample
  2. Op4
  3. Operation
  4. Serializable
  5. Serializable
  6. Product
  7. Equals
  8. AnyRef
  9. Any
  1. Hide All
  2. Show all
Learn more about member selection
Visibility
  1. Public
  2. All

Instance Constructors

  1. new Downsample(r: Raster, cols: Int, rows: Int)(f: (CellSet) ⇒ Int)

Type Members

  1. type Args = List[Any]

    Definition Classes
    Operation
  2. type Steps = PartialFunction[Any, StepOutput[Raster]]

    Definition Classes
    Operation

Value Members

  1. final def !=(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  2. final def !=(arg0: Any): Boolean

    Definition Classes
    Any
  3. final def ##(): Int

    Definition Classes
    AnyRef → Any
  4. final def ==(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  5. final def ==(arg0: Any): Boolean

    Definition Classes
    Any
  6. def _run(): StepOutput[Raster]

    Definition Classes
    Op4Operation
  7. def andThen[U](f: (Raster) ⇒ Op[U]): Operation[U]

    Definition Classes
    Operation
  8. final def asInstanceOf[T0]: T0

    Definition Classes
    Any
  9. def canEqual(other: Any): Boolean

    Definition Classes
    Op4 → Equals
  10. def clone(): AnyRef

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  11. val cols: Int

  12. val debug: Boolean

    Definition Classes
    Operation
  13. final def eq(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  14. def filter(f: (Raster) ⇒ Boolean): Operation[Raster]

    Definition Classes
    Operation
  15. def finalize(): Unit

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  16. def flatMap[U](f: (Raster) ⇒ Operation[U]): Operation[U]

    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.

    Definition Classes
    Operation
  17. def flatten[B](implicit f: (Raster) ⇒ Op[B]): Operation[B]

    Definition Classes
    Operation
  18. def foreach[U](f: (Raster) ⇒ U): Unit

    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.

    Definition Classes
    Operation
  19. final def getClass(): Class[_]

    Definition Classes
    AnyRef → Any
  20. def into[U](f: (Operation[Raster]) ⇒ U): U

    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.

    Definition Classes
    Operation
    See also

    http://debasishg.blogspot.com/2009/09/thrush-combinator-in-scala.html

  21. final def isInstanceOf[T0]: Boolean

    Definition Classes
    Any
  22. def map[U](f: (Raster) ⇒ U): Operation[U]

    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.

    Definition Classes
    Operation
  23. final def ne(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  24. val nextSteps: Steps

    Definition Classes
    Op4Operation
  25. final def notify(): Unit

    Definition Classes
    AnyRef
  26. final def notifyAll(): Unit

    Definition Classes
    AnyRef
  27. def opId: String

    Definition Classes
    Operation
  28. def prettyString: String

    Definition Classes
    Operation
  29. def processNextSteps(args: Args): StepOutput[Raster]

    Definition Classes
    Operation
  30. def productArity: Int

    Definition Classes
    Op4 → Product
  31. def productElement(n: Int): Any

    Definition Classes
    Op4 → Product
  32. val r: Raster

  33. val rows: Int

  34. def run(): StepOutput[Raster]

    Execute this operation and return the result.

    Execute this operation and return the result.

    Definition Classes
    Operation
  35. def runAsync(args: Args): StepOutput[Raster]

    Definition Classes
    Operation
  36. final def synchronized[T0](arg0: ⇒ T0): T0

    Definition Classes
    AnyRef
  37. final def wait(): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  38. final def wait(arg0: Long, arg1: Int): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  39. final def wait(arg0: Long): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  40. def withFilter(f: (Raster) ⇒ Boolean): Operation[Raster]

    Definition Classes
    Operation
  41. def withName(n: String): Operation[Raster]

    Definition Classes
    Operation
  42. def withResult[U](f: (Raster) ⇒ Operation[U]): Operation[U]

    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.

    Definition Classes
    Operation

Inherited from Op4[Raster, Int, Int, (CellSet) ⇒ Int, Raster]

Inherited from Operation[Raster]

Inherited from Serializable

Inherited from Serializable

Inherited from Product

Inherited from Equals

Inherited from AnyRef

Inherited from Any

Ungrouped