变压器方法

由于FME有大量的变压器,很难准确地说出使用哪种变压器以及何时使用。然而,如果出了什么问题就更容易识别,可能导致未来困难的设计缺陷。

复制变压器

如果一个工作区一次又一次地重复同一个转换器(可能创建多个流来这样做),那么工作区的设计可能非常低效。

这里的多属性转换器表示存在问题。

在这里,可以使用单个attributeValueMapper Transformer来替换上述所有变压器(attributeFilter和attributeCreator)。

错误捕获

错误捕获是一种设计工作区的方法,使意外数据不会导致工作区失败。基本上,您尝试预见可能出现的数据问题,并内置方法来处理这些问题。

错误捕获可以简单到添加一个测试或过滤变压器来消除坏特性,或者它可能更复杂,包括根据不同情况以不同方式处理数据的方法。

在这里,用户正在读取曲面模型,并为构建示意图指定Z值。重要的是,它们正在测试数据集所使用的单位(cded_units=meters_feet),并在不需要单位的地方转换:

可以依赖此工作区来生成正确的结果,不管源数据是米还是英尺。


新的
FME2016中的测试变压器有一个新的操作员,用于测试属性是否具有值:



这对于错误捕获非常有用,在尝试将属性用作参数源之前,测试该属性是否具有值。

复杂性

一个工作空间不需要复杂,就可以成为一个好的项目;它可以以简单的方式执行一个复杂的过程。

这些是可能存在问题的线索:

  • 低层次复杂性:当工作区作者在工作区内使用FME功能和工厂时
  • 多余的脚本:当工作区包含的脚本(在python或tcl中)比它包含的fme transformers更多时
  • 连接密度:当工作区连接如此密集时,它们形成一个moir_模式!
  • 多个工作区:此工作区调用该工作区,它叫这个,它运行python来调用那个…

这个工作区中的连接非常密集,它们可能形成一个黑洞!如果您的工作区是这样的,现在也许是时候看看如何改进它了:


消防队员梅普说…
安全总比后悔好。亚搏在线你不想被坏的设计烧坏。如果你对工作区不确定,咨询其他FME用户,或联系亚搏在线安全软件支持团队征求意见。

也,一定要在上查看此日志FME和代码气味。

结果匹配”

    没有匹配的结果“