# Aspect

#### case class Aspect(r: Op[Raster], neighbors: Op[TileNeighbors]) extends FocalOp[Raster] with FocalOperation[Raster] with Product with Serializable

Calculates the aspect of each cell in a raster.

Aspect is the direction component of a gradient vector. It is the direction in degrees of which direction the maximum change in direction is pointing. It is defined as the directional component of the gradient vector and is the direction of maximum gradient of the surface at a given point. It uses Horn's method for computing aspect.

As with slope, aspect is calculated from estimates of the partial derivatives dz/dx and dz/dy.

Aspect is computed in degrees from due north, i.e. as an azimuth in degrees not radians. The expression for aspect is:

`val aspect = 270 - 360/(2*Pi) * atan2(`dz/dy`, - `dz/dx`)`
Note

Paraphrased from Geospatial Analysis - A comprehensive guide (Smit, Longley, and Goodchild)

SurfacePoint for aspect calculation logic.

Linear Supertypes
FocalOp[Raster], FocalOperation0[Raster], FocalOperation[Raster], Operation[Raster], Serializable, Serializable, Product, Equals, AnyRef, Any
Ordering
1. Alphabetic
2. By inheritance
Inherited
1. Aspect
2. FocalOp
3. FocalOperation0
4. FocalOperation
5. Operation
6. Serializable
7. Serializable
8. Product
9. Equals
10. AnyRef
11. Any
1. Hide All
2. Show all
Visibility
1. Public
2. All

### 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
FocalOperation0Operation
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
FocalOperation0 → Equals
10. #### def clone(): AnyRef

Attributes
protected[java.lang]
Definition Classes
AnyRef
Annotations
@throws( ... )
11. #### val debug: Boolean

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

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

Definition Classes
Operation
14. #### def finalize(): Unit

Attributes
protected[java.lang]
Definition Classes
AnyRef
Annotations
@throws( classOf[java.lang.Throwable] )
15. #### 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
16. #### def flatten[B](implicit f: (Raster) ⇒ Op[B]): Operation[B]

Definition Classes
Operation
17. #### 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
18. #### def getCalculation(r: Raster, n: Neighborhood): FocalCalculation[Raster] with Initialization

Gets a calculation to be used with this focal operation for the given raster neighborhood.

Gets a calculation to be used with this focal operation for the given raster neighborhood.

Choosing the calculation based on on the raster and neighborhood allows flexibility in what calculation to use; if some calculations are faster for some neighborhoods (e.g., using a CellwiseCalculation for Square neighborhoods and a CursorCalculation for all other neighborhoods), or if you want to change the calculation based on the raster's data type, you can do so by returning the correct FocalCalculation from this function.

r

Raster that the focal calculation will run against.

n

Neighborhood that will be used in the focal operation.

Definition Classes
FocalOpFocalOperation0
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

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

25. #### val nextSteps: PartialFunction[Any, StepOutput[Raster]]

Definition Classes
FocalOperation0Operation
26. #### final def notify(): Unit

Definition Classes
AnyRef
27. #### final def notifyAll(): Unit

Definition Classes
AnyRef
28. #### def opId: String

Definition Classes
Operation
29. #### def prettyString: String

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

Definition Classes
Operation
31. #### def productArity: Int

Definition Classes
FocalOperation0 → Product
32. #### def productElement(index: Int): Any

Definition Classes
FocalOperation0 → Product

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