Class/Object

geotrellis.raster

RasterExtent

Related Docs: object RasterExtent | package raster

Permalink

case class RasterExtent(extent: Extent, cellwidth: Double, cellheight: Double, cols: Int, rows: Int) extends GridDefinition with Product with Serializable

RasterExtent objects represent the geographic extent (envelope) of a raster.

The Raster extent has two coordinate concepts involved: map coordinates and grid coordinates. Map coordinates are what the Extent class uses, and specifies points using an X coordinate and a Y coordinate. The X coordinate is oriented along west to east such that the larger the X coordinate, the more eastern the point. The Y coordinate is along south to north such that the larger the Y coordinate, the more Northern the point.

This contrasts with the grid coordinate system. The grid coordinate system does not actually reference points on the map, but instead a cell of the raster that represents values for some square area of the map. The column axis is similar in that the number gets larger as one goes from west to east; however, the row axis is inverted from map coordinates: as the row number increases, the cell is heading south. The top row is labeled as 0, and the next 1, so that the highest indexed row is the southern most row of the raster. A cell has a height and a width that is in terms of map units. You can think of it as each cell is itself an extent, with width cellwidth and height cellheight. When a cell needs to be represented or thought of as a point, the center of the cell will be used. So when gridToMap is called, what is returned is the center point, in map coordinates.

Map points are considered to be 'inside' the cell based on these rules:

Note that based on these rules, the eastern and southern borders of an Extent are not actually considered to be part of the RasterExtent.

Linear Supertypes
Serializable, Serializable, Product, Equals, GridDefinition, AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. RasterExtent
  2. Serializable
  3. Serializable
  4. Product
  5. Equals
  6. GridDefinition
  7. AnyRef
  8. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Instance Constructors

  1. new RasterExtent(extent: Extent, cellwidth: Double, cellheight: Double, cols: Int, rows: Int)

    Permalink

Value Members

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

    Permalink
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int

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

    Permalink
    Definition Classes
    AnyRef → Any
  4. def adjustTo(tileLayout: TileLayout): RasterExtent

    Permalink

    Adjusts a raster extent so that it can encompass the tile layout.

    Adjusts a raster extent so that it can encompass the tile layout. Will resample the extent, but keep the resolution, and preserve north and west borders

  5. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  6. def cellSize: CellSize

    Permalink
    Definition Classes
    GridDefinition
  7. val cellheight: Double

    Permalink
    Definition Classes
    RasterExtentGridDefinition
  8. val cellwidth: Double

    Permalink
    Definition Classes
    RasterExtentGridDefinition
  9. def clone(): AnyRef

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

    Permalink
  11. def combine(that: RasterExtent): RasterExtent

    Permalink

    Combine two different RasterExtents (which must have the same cellsizes).

    Combine two different RasterExtents (which must have the same cellsizes). The result is a new extent at the same resolution.

  12. def createAlignedGridExtent(targetExtent: Extent): GridExtent

    Permalink

    Returns a GridExtent that lines up with this grid' resolution and grid layout.

    Returns a GridExtent that lines up with this grid' resolution and grid layout.

    For example, the resulting GridExtent will not have the given extent, but will have the smallest extent such that the whole of the given extent is covered, that lines up with the grid.

    Definition Classes
    GridDefinition
  13. def createAlignedRasterExtent(targetExtent: Extent): RasterExtent

    Permalink

    Returns a RasterExtent that lines up with this RasterExtent's resolution, and grid layout.

    Returns a RasterExtent that lines up with this RasterExtent's resolution, and grid layout.

    For example, the resulting RasterExtent will not have the given extent, but will have the smallest extent such that the whole of the given extent is covered, that lines up with the grid.

    Definition Classes
    GridDefinition
  14. def dimensions: (Int, Int)

    Permalink
  15. final def eq(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  16. val extent: Extent

    Permalink
    Definition Classes
    RasterExtentGridDefinition
  17. def extentFor(gridBounds: GridBounds, clamp: Boolean = true): Extent

    Permalink

    Gets the Extent that matches the grid bounds passed in, aligned with this RasterExtent.

    Gets the Extent that matches the grid bounds passed in, aligned with this RasterExtent.

    The 'clamp' parameter determines whether or not to clamp the Extent to the extent of this RasterExtent; defaults to true. If true, the returned extent will be contained by this RasterExtent's extent, if false, the Extent returned can be outside of this RasterExtent's extent.

    gridBounds

    The extent to get the grid bounds for

    clamp

    A boolean which controlls the clamping behvior

    Definition Classes
    GridDefinition
  18. def finalize(): Unit

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  19. final def getClass(): Class[_]

    Permalink
    Definition Classes
    AnyRef → Any
  20. def gridBoundsFor(subExtent: Extent, clamp: Boolean = true): GridBounds

    Permalink

    Gets the GridBounds aligned with this RasterExtent that is the smallest subgrid of containing all points within the extent.

    Gets the GridBounds aligned with this RasterExtent that is the smallest subgrid of containing all points within the extent. The extent is considered inclusive on it's north and west borders, exclusive on it's east and south borders. See RasterExtent for a discussion of grid and extent boundary concepts.

    The 'clamp' flag determines whether or not to clamp the GridBounds to the RasterExtent; defaults to true. If false, GridBounds can contain negative values, or values outside of this RasterExtent's boundaries.

    subExtent

    The extent to get the grid bounds for

    clamp

    A boolean

  21. final def gridColToMap(col: Int): Double

    Permalink

    For a give column, find the corresponding x-coordinate in the grid of the present RasterExtent.

  22. final def gridRowToMap(row: Int): Double

    Permalink

    For a give row, find the corresponding y-coordinate in the grid of the present RasterExtent.

  23. final def gridToMap(col: Int, row: Int): (Double, Double)

    Permalink

    The map coordinate of a grid cell is the center point.

  24. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  25. final def mapToGrid(p: Point): (Int, Int)

    Permalink

    Convert a point to grid coordinates (col, row).

  26. final def mapToGrid(mapCoord: (Double, Double)): (Int, Int)

    Permalink

    Convert map coordinate tuple (x, y) to grid coordinates (col, row).

  27. final def mapToGrid(x: Double, y: Double): (Int, Int)

    Permalink

    Convert map coordinates (x, y) to grid coordinates (col, row).

  28. final def mapXToGrid(x: Double): Int

    Permalink

    Convert map coordinate x to grid coordinate column.

  29. final def mapXToGridDouble(x: Double): Double

    Permalink

    Convert map coordinate x to grid coordinate column.

  30. final def mapYToGrid(y: Double): Int

    Permalink

    Convert map coordinate y to grid coordinate row.

  31. final def mapYToGridDouble(y: Double): Double

    Permalink

    Convert map coordinate y to grid coordinate row.

  32. final def ne(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  33. final def notify(): Unit

    Permalink
    Definition Classes
    AnyRef
  34. final def notifyAll(): Unit

    Permalink
    Definition Classes
    AnyRef
  35. val rows: Int

    Permalink
  36. def size: Int

    Permalink

    The size of the extent, e.g.

    The size of the extent, e.g. cols * rows.

  37. final def synchronized[T0](arg0: ⇒ T0): T0

    Permalink
    Definition Classes
    AnyRef
  38. def toGridExtent: GridExtent

    Permalink
    Definition Classes
    GridDefinition
  39. def toRasterExtent(): RasterExtent

    Permalink

    Creates a RasterExtent out of this GridExtent.

    Creates a RasterExtent out of this GridExtent.

    Definition Classes
    GridDefinition
    Note

    Use with caution: if the number of columns or rows are larger than Int.MaxValue, this will throw an exception. Also, if columns * rows > Int.MaxValue, this will create a RasterExtent for a raster that could not be backed by any of the Array-backed tile types.

  40. final def wait(): Unit

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

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

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  43. def withDimensions(targetCols: Int, targetRows: Int): RasterExtent

    Permalink

    Returns a RasterExtent with the same extent and the given number of columns and rows.

  44. def withResolution(cellSize: CellSize): RasterExtent

    Permalink

    Returns a RasterExtent with the same extent, but a modified number of columns and rows based on the given cell height and width.

  45. def withResolution(targetCellWidth: Double, targetCellHeight: Double): RasterExtent

    Permalink

    Returns a RasterExtent with the same extent, but a modified number of columns and rows based on the given cell height and width.

Inherited from Serializable

Inherited from Serializable

Inherited from Product

Inherited from Equals

Inherited from GridDefinition

Inherited from AnyRef

Inherited from Any

Ungrouped