case class LayoutDefinition(extent: Extent, tileLayout: TileLayout) extends GridExtent[Long] with Product with Serializable

Defines tiled raster layout

extent

extent covered by the layout tiles, could be greater than extent of data in the layer

tileLayout

tile layout (tile cols, tile rows, tile pixel size)

Linear Supertypes
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. LayoutDefinition
  2. Product
  3. Equals
  4. GridExtent
  5. GridIntegral
  6. Grid
  7. Serializable
  8. Serializable
  9. AnyRef
  10. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Instance Constructors

  1. new LayoutDefinition(extent: Extent, tileLayout: TileLayout)

    extent

    extent covered by the layout tiles, could be greater than extent of data in the layer

    tileLayout

    tile layout (tile cols, tile rows, tile pixel size)

Value Members

  1. def adjustTo(tileLayout: TileLayout): GridExtent[Long]

    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

    Definition Classes
    GridExtent
  2. def alignTargetPixels: GridExtent[Long]

    This method copies gdalwarp -tap logic:

    This method copies gdalwarp -tap logic:

    The actual code reference: https://github.com/OSGeo/gdal/blob/v2.3.2/gdal/apps/gdal_rasterize_lib.cpp#L402-L461 The actual part with the -tap logic: https://github.com/OSGeo/gdal/blob/v2.3.2/gdal/apps/gdal_rasterize_lib.cpp#L455-L461

    The initial PR that introduced that feature in GDAL 1.8.0: https://trac.osgeo.org/gdal/attachment/ticket/3772/gdal_tap.patch A discussion thread related to it: https://lists.osgeo.org/pipermail/gdal-dev/2010-October/thread.html#26209

    Definition Classes
    GridExtent
  3. def canEqual(a: Any): Boolean
    Definition Classes
    LayoutDefinition → Equals → GridExtent
  4. def cellSize: CellSize
    Definition Classes
    GridExtent
  5. val cellheight: Double
    Definition Classes
    GridExtent
  6. val cellwidth: Double
    Definition Classes
    GridExtent
  7. val cols: Long
    Definition Classes
    GridExtentGrid
  8. def combine(that: GridExtent[Long]): GridExtent[Long]

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

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

    Definition Classes
    GridExtent
  9. def createAlignedGridExtent(targetExtent: Extent, alignmentPoint: Point): GridExtent[Long]

    Returns a GridExtent that with this grid's resolution.

    Returns a GridExtent that with this grid's resolution.

    This function will generate an extent that lines up with a grid having an origin at the given point and grid cells of the size given by the cellSize of the GridExtent. The resulting GridExtent, in general, will not be equal to targetExtent, but will have the smallest extent that lines up with the grid and also covers targetExtent.

    Definition Classes
    GridExtent
  10. def createAlignedGridExtent(targetExtent: Extent): GridExtent[Long]

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

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

    This function will generate an extent that lines up with the grid indicated by the GridExtent, having an origin at the upper-left corner of the extent, and grid cells having the size given by cellSize. The resulting GridExtent, in general, will not be equal to targetExtent, but will have the smallest extent that lines up with the grid and also covers targetExtent.

    Definition Classes
    GridExtent
  11. def createAlignedRasterExtent(targetExtent: Extent): RasterExtent

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

    Returns a geotrellis.raster.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
    GridExtent
  12. def dimensions: Dimensions[Long]
    Definition Classes
    GridIntegralGrid
  13. def equals(that: Any): Boolean
    Definition Classes
    LayoutDefinition → Equals → GridExtent → AnyRef → Any
  14. val extent: Extent
    Definition Classes
    LayoutDefinitionGridExtent
  15. def extentFor(cellBounds: GridBounds[Long], clamp: Boolean = true): Extent

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

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

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

    cellBounds

    The extent to get the grid bounds for

    clamp

    A boolean which controls the clamping behavior

    Definition Classes
    GridExtent
  16. def gridBoundsFor(subExtent: Extent, clamp: Boolean = true): GridBounds[Long]

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

    Gets the GridBounds aligned with this GridExtent that is the smallest subgrid 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 geotrellis.raster.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 GridExtent's boundaries.

    subExtent

    The extent to get the grid bounds for

    clamp

    A boolean

    Definition Classes
    GridExtent
  17. final def gridColToMap(col: Long): Double

    For a given column, find the corresponding x-coordinate in the grid of the present GridExtent.

    For a given column, find the corresponding x-coordinate in the grid of the present GridExtent.

    Definition Classes
    GridExtent
  18. final def gridRowToMap(row: Long): Double

    For a given row, find the corresponding y-coordinate in the grid of the present GridExtent.

    For a given row, find the corresponding y-coordinate in the grid of the present GridExtent.

    Definition Classes
    GridExtent
  19. final def gridToMap(col: Long, row: Long): (Double, Double)

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

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

    Definition Classes
    GridExtent
  20. def hashCode(): Int
    Definition Classes
    LayoutDefinitionGridExtent → AnyRef → Any
  21. def isGridExtentAligned: Boolean

    Tests if the grid is aligned to the extent.

    Tests if the grid is aligned to the extent. This is true when the extent is evenly divided by cellheight and cellwidth.

    Definition Classes
    GridExtent
  22. def layoutCols: Int
  23. def layoutForBounds(bounds: GridBounds[Int]): LayoutDefinition

    LayoutDefinition for tile bounds within this layout.

    LayoutDefinition for tile bounds within this layout. Resulting layout will line up with parent layout, but the (0,0) tile will be offset to region covered by bounds.

  24. def layoutRows: Int
  25. final def mapToGrid(p: Point): (Long, Long)

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

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

    Definition Classes
    GridExtent
  26. final def mapToGrid(mapCoord: (Double, Double)): (Long, Long)

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

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

    Definition Classes
    GridExtent
  27. final def mapToGrid(x: Double, y: Double): (Long, Long)

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

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

    Definition Classes
    GridExtent
  28. lazy val mapTransform: MapKeyTransform

    Transformation between tile addressing and map coordinate addressing for for this layout

  29. final def mapXToGrid(x: Double): Long

    Convert map coordinate x to grid coordinate column.

    Convert map coordinate x to grid coordinate column.

    Definition Classes
    GridExtent
  30. final def mapXToGridDouble(x: Double): Double

    Convert map coordinate x to grid coordinate column.

    Convert map coordinate x to grid coordinate column.

    Definition Classes
    GridExtent
  31. final def mapYToGrid(y: Double): Long

    Convert map coordinate y to grid coordinate row.

    Convert map coordinate y to grid coordinate row.

    Definition Classes
    GridExtent
  32. final def mapYToGridDouble(y: Double): Double

    Convert map coordinate y to grid coordinate row.

    Convert map coordinate y to grid coordinate row.

    Definition Classes
    GridExtent
  33. val rows: Long
    Definition Classes
    GridExtentGrid
  34. def size: Long
    Definition Classes
    GridIntegralGrid
  35. def tileCols: Int
  36. val tileLayout: TileLayout
  37. def tileRows: Int
  38. def toGridType[M](implicit arg0: Integral[M]): GridExtent[M]
    Definition Classes
    GridExtent
  39. def toRasterExtent(): RasterExtent

    Creates a RasterExtent out of this GridExtent.

    Creates a RasterExtent out of this GridExtent.

    Definition Classes
    GridExtent
    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. def toString(): String
    Definition Classes
    LayoutDefinitionGridExtent → AnyRef → Any
  41. def withDimensions(targetCols: Long, targetRows: Long): GridExtent[Long]

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

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

    Definition Classes
    GridExtent
  42. def withResolution(cellSize: CellSize): GridExtent[Long]

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

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

    See withResolution(cellSize) for more details.

    Definition Classes
    GridExtent
  43. def withResolution(targetCellWidth: Double, targetCellHeight: Double): GridExtent[Long]

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

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

    This method can construct a GridExtent where the number of columns and rows do not align closely with an integer boundary. The caller is responsible for verifying that the provided cell sizes are appropriate for the intended use case.

    See https://github.com/locationtech/geotrellis/issues/3261 for details and an example. If you need a specific number of columns and rows, see java.lang.Object) withDimensions(targetCols, targetRows)

    Definition Classes
    GridExtent