class GridExtent[N] extends GridIntegral[N]
Represents an abstract grid over geographic extent. Critically while the number of cell rows and columns is implied by the constructor arguments, they are intentionally not expressed to avoid Int overflow for large grids.
The constructor will throw java.lang.IllegalArgumentException if the provided extent and cell size do not match the provided cols and rows (dimensions).
- Alphabetic
- By Inheritance
- GridExtent
- GridIntegral
- Grid
- Serializable
- Serializable
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Instance Constructors
Value Members
-
final
def
!=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
##(): Int
- Definition Classes
- AnyRef → Any
-
final
def
==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
def
adjustTo(tileLayout: TileLayout): GridExtent[N]
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
-
def
alignTargetPixels: GridExtent[N]
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
-
final
def
asInstanceOf[T0]: T0
- Definition Classes
- Any
- def canEqual(a: Any): Boolean
- def cellSize: CellSize
- val cellheight: Double
- val cellwidth: Double
-
def
clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native()
-
val
cols: N
- Definition Classes
- GridExtent → Grid
-
def
combine(that: GridExtent[N]): GridExtent[N]
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.
-
def
createAlignedGridExtent(targetExtent: Extent, alignmentPoint: Point): GridExtent[N]
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
, but will have the smallest extent that lines up with the grid and also coverstargetExtent
.targetExtent
-
def
createAlignedGridExtent(targetExtent: Extent): GridExtent[N]
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
, but will have the smallest extent that lines up with the grid and also coverstargetExtent
.targetExtent
-
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.
-
def
dimensions: Dimensions[N]
- Definition Classes
- GridIntegral → Grid
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
equals(that: Any): Boolean
- Definition Classes
- GridExtent → AnyRef → Any
- val extent: Extent
-
def
extentFor(cellBounds: GridBounds[N], 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
-
def
finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] )
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
-
def
gridBoundsFor(subExtent: Extent, clamp: Boolean = true): GridBounds[N]
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
-
final
def
gridColToMap(col: N): Double
For a given column, find the corresponding x-coordinate in the grid of the present GridExtent.
-
final
def
gridRowToMap(row: N): Double
For a given row, find the corresponding y-coordinate in the grid of the present GridExtent.
-
final
def
gridToMap(col: N, row: N): (Double, Double)
The map coordinate of a grid cell is the center point.
-
def
hashCode(): Int
- Definition Classes
- GridExtent → AnyRef → Any
-
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.
-
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
-
final
def
mapToGrid(p: Point): (N, N)
Convert a point to grid coordinates (col, row).
-
final
def
mapToGrid(mapCoord: (Double, Double)): (N, N)
Convert map coordinate tuple (x, y) to grid coordinates (col, row).
-
final
def
mapToGrid(x: Double, y: Double): (N, N)
Convert map coordinates (x, y) to grid coordinates (col, row).
-
final
def
mapXToGrid(x: Double): N
Convert map coordinate x to grid coordinate column.
-
final
def
mapXToGridDouble(x: Double): Double
Convert map coordinate x to grid coordinate column.
-
final
def
mapYToGrid(y: Double): N
Convert map coordinate y to grid coordinate row.
-
final
def
mapYToGridDouble(y: Double): Double
Convert map coordinate y to grid coordinate row.
-
final
def
ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
final
def
notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
-
final
def
notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
-
val
rows: N
- Definition Classes
- GridExtent → Grid
-
def
size: N
- Definition Classes
- GridIntegral → Grid
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
- def toGridType[M](implicit arg0: Integral[M]): GridExtent[M]
-
def
toRasterExtent(): RasterExtent
Creates a RasterExtent out of this GridExtent.
Creates a RasterExtent out of this 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.
-
def
toString(): String
- Definition Classes
- GridExtent → AnyRef → Any
-
final
def
wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native()
-
def
withDimensions(targetCols: N, targetRows: N): GridExtent[N]
Returns a GridExtent with the same extent and the given number of columns and rows.
-
def
withResolution(cellSize: CellSize): GridExtent[N]
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.
-
def
withResolution(targetCellWidth: Double, targetCellHeight: Double): GridExtent[N]
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)