SPAN8.
SPAN4.
这是最后一部分FME教程中的卫星图像读取和转换卫星图像.这项运动相当先进。它将涵盖位掩码,比特和逻辑操作。在这里,我们将看一下由Landsat收集和计算的一些补充信息,以帮助数据质量评估(QA)。您可以阅读更多关于与Landsat的QA合作的更多信息从陆地卫星导.
首先下载并提取LandsatMask.zip。在Data Inspector中检查LC80470252014258LGN00_BQA.TIF。或者,使用您在以前的练习中已经学到的东西来找到您自己的Landsat QA光栅(可以使用AWS阅读器上的Landsat-8陆地卫星标记选择器)。检查像素值,并注意这些值是谨慎的,类似于我们在先前的调色板运动中创建的内容,但是,您还应该注意到没有调色板。
这里的整数数字实际上只是二进制字符串的表示,其中每个0或1(或配对)具有特定含义。
使用简单的4位示例:
整数-二进制字符串0 - 0000 1 - 0001 2 - 0010 3 - 0011 4 - 0100
例如,我们可以说,右起第一个位(0或1)表示:
数据存在:0 = Nodata,1 =数据,第二位可以意味着雪,第三云,第四水。
如果我们看上面的整数'3',我们可以根据0011二进制字符串说:从右到左-是的,我们有数据(1),是的,检测到雪(1),没有云(0)和水(0)。
这是一个方便的在线服务,可以将十进制转换为二进制,然后再转换回来.尝试使用来自QA图像的一些像素值。
1)添加掩码文件,LC80470252014258LGN00_BQA.tif,使用地理仪读取器进行工作台(用于更快地处理您可以使用.ovr文件)
2)添加RasterInterpretationCoercer以将GREY16频段转换为UINT16
3)从FME集线器添加UintasBinPaletteadder自定义变压器
4)右键点击UINTasBINPaletteAdder,点击编辑看看它做什么,这里有很多,但特别是看看AttributeCreator_7。这里我们看到了一个非常可怕的表情:
@Evaluate(@Evaluate((@ int64)>> 15)&1)@Evaluate((@Int64(@Value(@Value(@Value))>> 14)&1)@Evaluate((@ int64(@Value(_helevation))>> 13)&1)@Evaluate((@ int64(@Value(@Value(@Value))>> 12)&1)@Evaluate((@ int64(@Value(@Value(_Elevation))>> 11)>> 11)&1)@Evaluate((@ int64(@value(_value)>> 10)&1)@Evaluate((@ int64(@value(_harevation))>> 9)&1)@Evaluate((@ int64(@Value(_helevation))>> 8)&1)@Evaluate((@ int64)>> 7)&1)@Evaluate((@ Int64(@Value(@Value(_Helevation))>> 6)&1)@Evaluate((@ int64(@Value(_elevation))>> 5)&1)@Evaluate((@ int64(@Value(@Value(@Value))>> 4)&1)@Evaluate((@ int64(@Value(_HeLevation))>> 3)>> 3)&1)@Evaluate((@ int64(@value(_value(@Value))>> 2)&1)@Evaluate((@ int64(@Value(@Value(_helevation))>> 1)&1)@Evaluate((@ int64(@Value(@Value))&1))))
虽然它看起来可怕它实际上是对使用的非常简单的表达式的串联比特操作.以其中的一部分为例,我们可以发现以下内容:
@Value(_elevation))>> 3)&1
_Elevation在这种情况下是我们这个例子的像素值让我们说我们有216.这对应于'11011000'的二进制值(你可以用上面的转换器检查这个)。
下一部分(216 >> 3)执行一个逻辑按位右移操作这将二进制向右移动三位,从而使11011000(或十进制216)变成00011011(或十进制27)。
最后一部分(27&1)比较了每个使用的二进制字符串位的逻辑与操作.我们比较11011(27没有领先的0's)到00001.这导致00001的值(或仅在没有领先的0的情况下)。
将所有表达式放在一起,我们为16个表达式中的每一个获得0或A 1,连接结果是原始像素值的二进制字符串。然后,二进制数通过在所需的地方创建前导0来传递到刺绣窗口焊盘到16位数。
笔记:对于一个简单的例子,你可以查看suppl_SimpleBitshift&LogicalOperations.fmw。实验这个工作空间,并使用在线二进制转换器检查结果。试着测试其他一些位逻辑运算符,看看它们是如何工作的(- & | ^ ~)。
每个位代表以下内容:
你也可以看看这个Landsat的pdf指南有关如何解释位的更多信息,有关如何解释比特的更多信息。
5)用调色板检查面具,分析一些字符串的意义。将检查器和/或记录器连接到自定义变压器并运行进程(日志窗口将显示调色板)。
6)让我们为此添加一些颜色。添加attributeCreator,并通过复制以下文本或键入RGB三元组以获取某些值:
Rgb24 1 0、0、0、0、0、0、0、0、0、0、0、0、0、0
7)使用RasterPaletteAdder添加调色板,运行并检查结果,编辑和实验一些值来显示差异。将遮罩与预览图像进行比较,看看QC波段是多么准确。你最终的输出应该是这样的:
处理后的位掩码:在右边的特征信息窗口中,我们可以看到光栅有两个调色板,一个包含二进制字符串,另一个包含我们创建的RGB颜色。图像的大部分是绿色的,这与高度可信的植被相对应,我们也看到了一些用灰色表示的雪或冰的检测,在右上方的区域,我们可以看到一些粉色的,这代表了卷云的存在。
最终的工作空间应该是这样的。你也可以打开LandsatMask。FMW从.zip内检查参数。
©2020 S亚搏在线afe Software Inc |合法的