span8
span4
当在FME工作时,一些变压器被称为“阻塞变压器”,例如限幅器,SpatialRelator或任何变压器,可以使用“分组依据”功能。这些变压器需要,直到所有的功能已经收到释放的特征继续向下的工作流程之前完成变压器的动作全部输入功能来在那里举行。亚搏在线看着阻止变形金刚从2017年FME UC核心概念视频了解更多。
当在自定义转换器中进行循环时,保留所有的特性会出现问题,因为阻塞的转换器永远不会接收所有的输入特性,因为它期望从循环中获得特性。值得庆幸的是,只要你使用FME 2011+, FME就有解决方案。
*注意:要运行SimpleLoopingDemo-Completed。fmw工作空间,SimpleLoopingDemo。需要将fmx自定义转换器移动到默认位置,以便工作空间能够访问它。这个位置可以在工具> FME选项中找到…>默认路径>共享FME文件夹
当使用循环将阻塞转换器添加到自定义转换器内部时,将出现一条警告消息。此消息声明,要使用此转换器,需要将自定义转换器导出到外部的.fmx文件:
文件导出后,就可以使用带有循环的自定义转换器。
在本例中,将使用循环将点移动到正方形的边界,并检查该点是否位于正方形内。一旦点离开正方形,工作空间将结束。
1)打开模板的工作区
在FME工作台中,打开SimpleLoopDemo.fmw。这个工作空间有一个point和一个square Creator转换器,以及已经设置好的simpledemoop自定义转换器。我们只需要添加SpatialFilter变压器并解决阻塞变压器的错误。
切换到SimpleLoopDemo选项卡,这是几乎完成的自定义转换器。向画布添加一个SpatialFilter。在出现的警告消息上单击Yes。
在“导出为自定义转换器”对话框中,将插入模式更改为“始终链接”。保存位置应该用FME选项中设置的默认路径自动填充。常见的路径是:
C:\Users\SampleUser\Documents\FME\变形金刚
点击确定保存变压器。FME工作台的新实例将与SampleLoopDemo.fmx定制变压器打开。当与外部定制变压器的工作,它使所有的变化在.fmx而不是在工作区.FMW是很重要的。
2)连接SpatialFilter
在所保存的定制变压器时打开FME工作台的.fmx版本,连接SpatialFilter变压器。滤波器的输入端口连接到端口广场和候选输入端口到端口点。接着,将已通过输出端口到Offsetter和失败输出端口连接到外部端口。
3)设置阻断参数
在我们的工作区中保存并使用这个转换器之前,我们需要设置两个额外的参数,以使循环能够使用阻塞转换器运行。
在Navigator窗口中,展开变压器参数,然后展开高级。双击启用已阻止的循环,打开参数,并将其更改为是。其次,这是一个好主意,测试时设置迭代参数的最大数量,特别是防止无限循环。在参数双击并将其设置为10.保存变压器。
4)运行翻译
回到原来的工作区中,我们将需要删除SimpleLoopDemo变压器并重新添加它来更新的属性,你会知道什么时候SimpleLoopDemo变压器有一个不完整的端口它已被更新。它可以通过键入SimpleLoopDemo到画布上重新添加。重新连接的端口,然后运行转换。
运行工作区之后,您可以检查来自外部端口的正方形、原始点和最终点。检查这些将给出以下结果,其中红点是原始点,蓝点是新点。
自定义变压器中的循环- FME桌面高级培训课程手册
阻止变形金刚- 核心概念从2017年FME UC
嗨@olivier,
谢谢你让我们注意到这一点。这篇文章太旧了,一些附件已经没有了。我已经为2018年FME更新了这篇文章。
在我们2017年的FME用户大会(UC)上,我们做了一个关于数据如何通过转换器的演示,我已经将演示中的视频片段添加到文章中,您可以查看它这里.
希望帮助,如果您有关于循环任何进一步的问题,我建议你张贴的问题Q&A社亚搏国际在线官网区为了更好的可见性。
莉斯
©2019安全亚搏在线软件公司|法律