span8
span4
我看到的每一个python调用者的例子都只会修改属性或者为每个输入特性添加新的属性。是否有可能输出新特性或比通过复制某些输入而接收到的特性更多的特性?
是的,这确实是可能的。下面的代码允许您创建一个新特性。
您可以使用示例的第二行输出此特性。
fmefeature () self.pyoutput(newFeature)
此代码仅在使用python调用者的对象实现(而不是函数实现)时才能工作。在函数实现中,自动输出输入PythonCaller的特性。
当然,只要使用类模板就很容易。下面的示例为每个传入特性输出10个特性,包括一个新属性“item_no”(必须在PythonCaller中手动公开)
import fmeobjects class Multiply(object): def input(self,feature): for n in range(10): new_feature = features .clone() new_feature。setAttribute (item_no, n) self.pyoutput (new_feature)
您还可以使用PythonCreator实现这种效果,尽管用法略有不同(文档中有一个很好的示例)。
©2019安全亚搏在线软件公司法律