Geotrellis学习-入门

2019-02-27  本文已影响0人  VickyShen

什么是Geotrellis

Geotrellis是一个基于Apache spark的用于处理栅格数据的scala库和框架。

项目的创建

入门示例

以下例子简而言之就是创建了一个二维数组,并进行均值滤波。


import geotrellis.raster._
import geotrellis.raster.render.ascii._
import geotrellis.raster.mapalgebra.focal._

object Main{
  def helloRaster():Unit = {
    val nd= NODATA
    val input = Array[Int](
      nd, 7, 1, 1, 3, 5, 9, 8, 2,
      9, 1, 1, 2, 2, 2, 4, 3, 5,
      3, 8, 1, 3, 3, 3, 1, 2, 2,
      2, 4, 7, 1, nd, 1, 8, 4, 3)
    //  将一维数组转换成9列4行的数组
    val iat = IntArrayTile(input, 9, 4)
    print(iat.asciiDraw());
    //用3*3的窗口对矩阵做卷积,设置中心值为邻域的平均值,注意NODATA被忽略,不参与计算
    val focalNeighborhood = Square(1)
    println(focalNeighborhood)
    val meanTile = iat.focalMean(focalNeighborhood)
    for (i <-0 to 3){
      for (j <-0 to 8){
        print(meanTile.getDouble(j,i)+" ")
      }
      println()
    }
  }

  def main(args: Array[String]): Unit = {
    helloRaster();
  }
}
上一篇 下一篇

猜你喜欢

热点阅读