All Downloads are FREE. Search and download functionalities are using the official Maven repository.

geotrellis.engine.RasterDefinition.scala Maven / Gradle / Ivy

Go to download

GeoTrellis is an open source geographic data processing engine for high performance applications.

There is a newer version: 0.10.3
Show newest version
/*
 * Copyright (c) 2014 Azavea.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

package geotrellis.engine

import geotrellis.raster._
import geotrellis.vector.Extent

@deprecated("geotrellis-engine has been deprecated", "Geotrellis Version 0.10")
case class RasterDefinition(layerId: LayerId,
                            rasterExtent: RasterExtent,
                            tileLayout: TileLayout,
                            cellType: CellType,
                            catalogued: Boolean = true) {
  def isTiled = tileLayout.isTiled
  lazy val tileExtents = TileExtents(rasterExtent.extent, tileLayout)

  def withType(newType: CellType) =
    new RasterDefinition(layerId, rasterExtent, tileLayout, newType, catalogued)

  def withRasterExtent(target: RasterExtent) =
    new RasterDefinition(layerId, target, TileLayout.singleTile(target), cellType, catalogued)

  def tileExtent(tileCol: Int, tileRow: Int): Extent = {
    val minCol = tileCol * tileLayout.tileCols
    val minRow = tileRow * tileLayout.tileRows
    val grid = GridBounds(
      minCol,
      minRow,
      minCol + tileLayout.tileCols - 1,
      minRow + tileLayout.tileRows - 1
    )
    rasterExtent.extentFor(grid)
  }
}

@deprecated("geotrellis-engine has been deprecated", "Geotrellis Version 0.10")
object RasterDefinition {
  def fromRaster(r: Tile, extent: Extent): RasterDefinition = {
    val rasterExtent = RasterExtent(extent, r.cols, r.rows)
    RasterDefinition(
      LayerId.MEM_RASTER,
      rasterExtent,
      TileLayout.singleTile(rasterExtent),
      r.cellType,
      false)
  }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy