【FME-HOW-TO系列】27 栅格计算和栅格调色板

栅格计算和栅格调色板    

 

介绍

在本文中,我们将计算归一化差植被指数(NDVI。在此过程中,我们将学习如何在RasterExpressionEvaluator中构建条件以及如何使用调色板创建栅格。NDVI基于植物消耗可见光辐射进行光合作用的能力(主要是在光谱的蓝色和红色部分,这就是为什么我们看到我们的植物大部分是绿色,这种颜色大部分被反射)。另一方面,近红外光不能在细胞中引起适当的反应,因此被反射(否则会使植物过热)。反射的红外光越多,消耗的红光越多,植物越健康。

本文假设您已完成教程中的上一篇文章:使用Sentinel数据制作RGB图像。如果还没有,请完成本文第一部分的练习,下载相应的图像。

下载

已完成的工作空间(没有源数据):create-palettes.fmw

NDVI计算器

1)创建一个新工作空间并将其命名为NDVICalculator。

2)添加JPEG 2000读模块并选择红色和近红外波段(B04和B08)的预览图像。在“参数”下,确保“要素类名称”设置为“从文件名”

3)首先添加RasterExpressionEvaluator,将Mode设置为'Two Rasters'。Red频段应该进入'A'端口,NIR应该进入'B'端口。“说明”使用Auto同时“表达式”使用:

  •  B [ 0 ]  - A [ 0 ])/(B [ 0 ] + A [ 0 ]

【FME-HOW-TO系列】27 栅格计算和栅格调色板

RasterExpressionEvaluator此表达式计算NDVI,它是反射NIR与反射红光的比率。

4)运行,检查结果,现在注意结果像素的波段范围介于-1和1之间,我们的“说明”已更改为REAL64。

5)添加另一个RasterExpressionEvaluator。在evaluator中,将说明设置为UINT8,并为表达式复制粘贴以下内容:


if(A[0]<=0,0,if(A[0]<=0.3,1,if(A[0]<=0.6,2,3)))

【FME-HOW-TO系列】27 栅格计算和栅格调色板

RasterExpressionEvaluator_2这里我们使用一系列嵌套的'if'函数来构建条件表达式,以便根据我们计算的NDVI开始构建我们的调色板。这将只保留四个栅格值 - 0,1,2和3

6)添加一个AttributeCreator并使用文本编辑器创建_palette属性,如下所示。下面的颜色是深蓝色,黄色,亮绿色和深绿色,但您可以将RGB三元组设置为您认为合适的颜色:

  • RGB24
  • 0 0 0 64
  • 1 255 255 0
  • 2 0 255 0
  • 3 0 127 0

【FME-HOW-TO系列】27 栅格计算和栅格调色板

_palette属性:这里我们将调色板的说明定义为RGB24,并将每个0到3的整数分配为RGB颜色。

7)添加RasterPaletteAdder并将_palette添加到栅格

8)运行并检查结果,它应该如下所示:

【FME-HOW-TO系列】27 栅格计算和栅格调色板

最终图像:您可能会看到与此处显示的图像不同的图像,但请确保记下“要素信息”窗口中显示的调色板信息

最终工作空间应如下所示:

【FME-HOW-TO系列】27 栅格计算和栅格调色板

最终工作空间你有不同的东西吗?下载本文顶部的最终工作空间进行比较