FME中的栅格数据操作之八——转换器RasterExpressionEvaluator的用法(三)

原文发布时间:2010-04-26

作者:毛毛虫

下面继续说一下转换器RasterExpressionEvaluator的用法。

下面讲一下设置条件的语法和应用:

条件语句if,例如if (A[0]>15, 100, 255),表示如果输入波段A[0]大于15,输出波段A[0]的值为100,否则为255。

示例一:颜色分类

使用可以对比单元格的简单条件来对颜色分类。如下图(google map):找出所有绿色单元格表示公园。


根据对数据的分析知道,满足绿色显示的条件是绿色波段与红色波段和蓝色波段的值大(这里设置为大于15)满足这个条件的单元格值为100,否则为255。条件语句为:if (A[1]-A[0]>15 && A[1]-A[2]>15, 100, 255),设置如图:

 根据对数据的分析知道,满足绿色显示的条件是绿色波段与红色波段和蓝色波段的值大(这里设置为大于15)满足这个条件的单元格值为100,否则为255。条件语句为:if (A[1]-A[0]>15 && A[1]-A[2]>15, 100, 255),设置如图:



示例二:道路中心线提取

在转换器RasterExpressionEvaluator的用法(二)中提到道路中心线提取的例子,现在用RasterExpressionEvaluator转换器方法来处理,也跟上面的方法对比一下。原图(google map,png格式):


从前面的分析我们已经知道,白色道路的R、G和B相当接近,黄色道路的G波段很接近R波段,而蓝色波段要明显的小于B波段,根据这些条件来设置RasterExpressionEvaluator的条件语句:

if ((abs(A[0]-A[1])<=3 && abs(A[0]-A[2])<=3) || (abs(A[0]-A[1])<=4 && abs(A[0]-A[2])>10) , 0, 255)

也就是说,如果是灰色或黄色道路,波段赋值为0(黑色),否则为255(白色)。

转换后:


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值