FME创建循环

原文发布时间:2014-12-09

作者:一峰

 

什么是循环

循环是在自定义转换器中重复做一部分操作的方法。

循环是程序结构允许一部分重复执行,通常,这用于迭代,重复执行某个过程,逐步缩小范围,通常循环连接一个条件,即循环停止的条件。

注意:在FME中,循环只能在自定义转换器中创建

 

循环创建

除了数据的流入和流出,循环还需要三个对象:循环的输入、循环对象、循环条件。

(1)循环输入

循环的输入是通过输入对象定义的,它跟其他输入端口一样使用,例如,这里有一个输入端口来接受要素,另一个输入端口作为循环的输入。

如果你不希望循环输入端口在自定义转换器中显示,如下:

你可以打开循环输入端口的参数,关闭“publish”复选框:

2)循环对象

循环的关键步骤是定义一个循环对象,在自定义转换器中,

右击>insert Transformer Loop,添加循环对象

当你添加了循环对象,会提示你循环到哪个输入端口(即选择循环的输入端)。

点击OK,循环对象被创建。

(3)循环条件

当然,一般情况下,循环需要一个条件来终止循环,例如,你可以添加一个Tester转换器来进行条件来测试循环,如果失败,则继续循环,如果成功则输出结果。

这样我们在FME中就创建了一个最简单的循环

注意:正确设置循环条件,不要让FME陷入死循环,那样你会很崩溃的。

 

循环作用

在FME中正确利用循环是非常有用的,例如,在list1{N}.A中查找list2{M}.B中的元素,那么利用循环,设置变量i=0,如果i<M,则在list1{N}.A中查找list2{i}.B,如果找到,则记录list2{i}.B,如果没找到,则记录不存在。这样会大大提高FME执行的效率。

  • 0
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值