美文网首页
Geotrellis学习-入门

Geotrellis学习-入门

作者: VickyShen | 来源:发表于2019-02-27 19:51 被阅读0次

    什么是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();
      }
    }
    

    相关文章

      网友评论

          本文标题:Geotrellis学习-入门

          本文链接:https://www.haomeiwen.com/subject/trhquqtx.html