我们付出一些成本,时间的或者其他,最终总能收获一些什么。
【FME-HOW-TO系列】24 拓扑相交
本章还是学习SpatialFilter转换器得用法,主要用到的空间关系是相交,即Filter Intersect Candidate。
首先,添加读模块的相关数据,本人一般喜欢直接通过拖拽的方式加载数据
可以看到MountPleasantClipBoundary为shp数据,Parks为MapInfo数据
按照文章的内容直接用SpatialFilter搭建,输出的结果为空,经过检查,发现MountPleasantClipBoundary和Parks坐标系不一致,对MountPleasantClipBoundary进行投影转换,使两坐标系一致后再进行空间过滤。
【FME-HOW-TO系列】25 多边形中的线
大致看了下,除了数据是线和面的数据外,使用的转换器和相关参数配置都无区别,就不进行复现操作,主要是线数据也没找到,没必要折腾。
【FME-HOW-TO系列】27 栅格计算和栅格调色板
看这个文章的时候还提到官网的其它文章,但链接太老,失效了只能跳转到官网,可以自己搜索。看了中文官方的内容,个人感觉是对官方网站的翻译,中间有较多的缺失,且中文官方已经很久没有进行维护了,虽然英文阅读起来有点障碍,但可以通过网页翻译的方式进行学习官网的内容,官网文章更新的日期更新一点,快速把中文FME-HOW-TO系列过一遍,考虑把官网的相关文章也对应过一下。
读模块添加4波段和8波段的数据,其中,参数设置中要素类名称要设置为与文件名一致
添加RasterExpressionEvaluator转换器,将Mode改为两个栅格,波段表达式如下设置
A为红波,B为近红外。NDVI = (NIR - Red) / (NIR + Red),即(B[0]-A[0])/(B[0]+A[0])
设置为自动,实际会按照REAL64的类型进行计算
接着再添加一个RasterExpressionEvaluator,通过if表达式将值改为0-3的整数
if(A[0]<=0,0,if(A[0]<=0.3,1,if(A[0]<=0.6,2,3)))
即NDVI<=0,设置为0;0<NDVI<=0.3,设置为1;0.3<NDVI<=0.6,设置为2;NDVI>0.6,设置为3.
使用AttributeCreator创建_palette属性,使用文本编辑器设置如下颜色
RGB24
0 0,0,64
1 255,255,0
2 0,255,0
3 0,127,0
最后添加RasterPaletteAdder,将_palette添加到栅格
成果如下
RasterPaletteAdder转换器说明:利用一个属性创建调色板,并把这个调色板添加到栅格上所有选中的波段上。
不是很懂什么是调色板