Geotrellis学习-入门

什么是Geotrellis

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

  • 可以高效地读写和操作栅格数据,实现了很多地图运算和失栅转换工具。
  • 可以将栅格数据渲染成PNGs图片,将栅格数据的元数据转换成JSON。
  • 其目标通过restful以web速度提供栅格数据的处理,并提供大型栅格数据集的快速批处理

项目的创建

入门示例

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


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();
  }
}
    原文作者:VickyShen
    原文地址: https://www.jianshu.com/p/bc36172b27d5
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞