您可以在GitHub上获取时空数据分析的典型案例,以便快速熟悉DLA Ganos的各项功能。

栅格代数运算

栅格代数运算是指使用数学运算符对栅格数据进行加减乘除等代数计算的操作。例如,您可以应用简单的数学运算(例如加法或乘法)来更新栅格像元值,或者对多个栅格数据图层执行叠加计算(Overlay)等。栅格代数运算中最常见的类型是像素单元函数,即栅格单元直接堆叠在一起进行计算。该功能适用于分辨率相同的栅格图层之间的叠加计算,详情请参见:文档 Code

Masking

掩膜(Masking)是栅格处理中的常见操作,它将某些单元格设置为NoData值。掩膜操作一般有两个目的,首先是为了从栅格处理中删除低质量的观测值,实现去噪的目的;另一个是按照给定的形状将多边形“剪切”到指定形状。详情请参见:文档 Code

自定义UDF

用户可以通过自定义UDF来扩展DLA Ganos的功能,从而更加方便地与业务系统对接。这里还是以NDVI为例,来展示如何基于DLA Ganos实现用户自定义的UDF算子。详情请参见:文档 Code

多源异构栅格Join

在复杂的业务系统中,往往需要对多个数据源进行联邦分析。这些数据具有不同的投影信息与分辨率,所以在分析之前需要对数据进行重投影与重采样等转换操作。在许多使用情况下,这种转换操作都是基于某一组遥感影像数据进行的。在DLA Ganos中,可以对多源栅格数据类型DataFrame执行Raster Join操作。该操作将基于CRS将每个DataFrame中的Tile列执行空间连接操作。默认情况下是左连接,并使用“交“运算符,右侧的所有Tile列会匹配左侧的Tile列的CRS、范围和分辨率等。 详情请参见:文档 Code

OSS与Lindorm数据源

DLA Ganos可以用来构建ETL工具,实现数据在不同数据库之间的流转。如用户可以将数据上传到OSS,然后进行重投影、拼接、创建金字塔并写入Lindorm(HBase)等。相关代码链接请参见:Code

机器学习

本节我们展如如何基于DLA Ganos和SparkML进行机器学习等操作。遥感科学中最常见的一类机器学习操作是监督分类,又称训练分类法。监督分类是用被确认类别的样本像元去识别其他未知类别像元的过程。它就是在分类之前通过目视判读和野外调查,对遥感图像上某些样区中影像地物的类别属性有了先验知识,对每一种类别选取一定数量的训练样本,计算机计算每种训练样区的统计或其他信息,同时用这些种子类别对判决函数进行训练,使其符合于对各种子类别分类的要求,随后用训练好的判决函数去对其他待分数据进行分类。详情请参见:文档 Code