练习2 设计模式
数据 城市公园(MapInfo选项卡)
总体目标 通过改进使用的设计模式来清理工作区
演示了 方法学最佳实践
开始工作 C:\fmedata2016\workspaces\desktopbasic\bestpractice-ex2-begin.fmw
结束工作 C:\fmedata2016\workspaces\desktopbasic\bestpractice-ex2-complete.fmw
C: \ \ DesktopBasic \ BestPractice-Ex2-Complete-Advanced.fmw FMEData2016 \工作区

FME作者(别担心,这次不是你)创建了一个项目来绘制市中心的道路。然而,作者对FME知之甚少,违反了许多基本的设计规则。您被要求对项目进行一些编辑,但这是一个很难理解的工作区,您发现首先需要对所使用的方法进行一些改进。


1)打开工作区
打开项目的工作区。您可以在C:\FMEData2016\Workspaces\DesktopBasic\ best practice - ex2 - start .fmw找到它

检查工作区做什么。您将看到有两个主要的处理流。首先,正在读取许多光栅文件,并进行测试以过滤不需要的光栅文件。然后将光栅数据拼接在一起。

第二条数据流从一组道路数据开始。对数据进行缓冲(以增强其外观)。颜色设置好了,它被写在栅格数据背景上(使用VectorOnRasterOverlayer转换器)。

运行工作区并检查结果。输出很好,但是工作空间的设计一点也不好。


2)删除不需要的特性类型
看看栅格特征类型,很明显,被读取的大部分数据都被测试人员过滤掉了。在测试仪上使用摘要注释。这将显示测试器参数,而不需要一直打开和关闭参数对话框。

检查测试人员保存的文件。删除不属于列表的任何读卡器功能类型。然后移除测试器本身。

这将大大减少工作区的大小:


3)删除不需要的道路特征类型
看看道路特征类型,其中一些甚至没有联系。它们可以立即删除。

工作区现在可能以合理的比例适合画布!


4)陷阱误差
工作区中一个明显的奇怪之处是,次要道路和住宅道路被赋予了一种带有feature reolorsetter变压器的颜色,但主干道和其他道路则不然。

也许工作区作者认为现有的红色已经很合适了。这可能是真的,但不能保证源数据不会改变,或包含颜色错误。我们应该确保这些功能显示为红色,不管源数据是什么。

所以,在工作区中放置一个新的FeatureColorsetter Transformer(或复制另一个)。并使用它将其他/动脉特征涂成红色:


警察局长Webb-Mapp说…
我想这个工作空间会很好,但在其他情况下,我可能会关心光栅镶嵌器和矢量光栅覆盖层变压器。例如,我如何知道只有有效的光栅特性才能到达Rastermosaicker变压器?如果一个异常向量特性到达了这个转换器,会发生什么?

一个简单的几何过滤变压器可以帮助我过滤掉具有意想不到的几何图形的特征,然后它们会导致问题。但为了完全错误地捕获工作区,您需要问这些问题。


5)检查FMEFunctionCaller
您可能已经注意到fmefunctioncaller transformer潜伏在翻译的末尾。这个变压器能够直接呼叫到FME引擎的核心。然而,你不经常需要做这样的事。

打开fmeFunctionCaller的“参数”对话框,查看其用途:

转换器似乎在执行一个非常简单的调用,将当前特性记录到日志窗口。除了可能用于调试,没有必要使用FME函数来做这样的事情。记录器变压器也能正常工作,有更多的选择。

用记录器变压器替换FMEFunctionCaller:


6)保存并运行工作区
您现在可以保存工作区,然后运行它,以证明输出与以前相同(但在一个明显改进的工作区设计中):


博士。工作台说……
如果您收到一条关于不匹配功能的弹出消息(或出现在日志窗口中)。别担心。它不是一个错误消息,也不会停止工作区的工作。您将在培训的另一章中了解更多关于此信息的信息。

高级练习
我们还可以做一个更高级的更改。它涉及减少缓冲变压器的数量。如果你想挑战,遵循以下步骤…


7)删除和更换缓冲区
检查缓冲区中使用的缓冲区大小,然后删除这些变压器。在FeatureColorSetter之后添加一个attributeValueMapper和一个bufferer:


1。更新
上面截图中的缓冲变压器 港口FME2016.1


设置AttributeValueMapper参数
打开AttributeValueMapper参数对话框。将源属性设置为fme_feature_type(该特性所属的特性类型的记录),并将目标属性设置为BufferAmount:

下面,在值映射设置中,设置以下内容:

住宅=2;其他=5;动脉=5;继发性=3;


9)设置缓冲器参数
现在打开Bufferer parameters对话框。将buffer amount参数设置为attribute value>buffer amount:

基本上,这样做,我们已经减少了工作空间中所需的变压器数量。在这种情况下,我们只保存了一个变压器。然而,如果未来的编辑要求包括其他道路类型,我们可以使用相同的基础设施,不需要添加更多的变压器。

同样地,缓冲量的未来变化可以通过一个变压器来设置,不是一系列。

总共,本练习的这一部分使这个工作区非常可扩展。

如果你有时间,重复这些步骤,以减少功能重新上色变压器的数量,以及,像这样:


祝贺你
通过完成本练习,您已经学习了如何:
  • 从工作区中删除多余的特性类型
  • 识别错误可能发生的位置,并预先修复它们
  • 识别和更换过于复杂的变压器
  • (高级)识别和修复重复变压器

结果匹配”

    没有匹配的结果“