练习2 场地维修工程-结构改造
数据 城市公园(地图信息选项卡)
总体目标 计算城市中每个公园的大小和平均大小,用于草地修剪的维护估算,对冲修剪,等。
演示了 变压器结构改造
启动工作区 C:\fmedata2016\workspaces\desktopbasic\transformation-ex2-begin.fmw
结束工作 C:\fmedata2016\workspaces\desktopbasic\transformation-ex2-complete.fmw
C:\fmedata2016\workspaces\desktopbasic\transformation-ex2-complete-advanced.fmw

让我们继续你的地面维修项目。

万一你忘了,负责维护公园和其他草地区域的团队需要了解每个公园的面积和设施,以便规划来年的预算。

在该项目的这一部分中,我们将从源数据中过滤掉dog parks(因为它们的维护成本不同),并将它们写到log窗口中。我们还将处理重命名的属性neighborhoodname。


1)启动FME工作台
启动FME工作台并从前面的练习中打开工作区。或者,您可以打开c:\fmedata2016\workspaces\desktopbasic\transformation-ex2-complete.fmw。


2)增加变压器
首先处理源属性NeighborhoodName,它在作者身上被重新命名为邻里,但还没有连接。

我们可以简单地画一个连接,但是通常使用变压器更好。我们可以用两个变压器。一个称为AttributeRenamer,另一个—我们将在这里使用—是AttributeManager。


新的
属性管理器变压器是FME2016的新产品。

因此,点击从Reader到Writer的feature连接:

开始键入短语“AttributeManager”。这就是我们如何在工作区中放置变压器的方法。当你输入FME搜索匹配的变压器。当列表足够短,您可以看到属性管理器时,从对话框中选择:

这将放置一个像这样的AttributeRenamer变压器:

注意参数按钮是黄色的,这意味着我们可以在不检查参数的情况下运行转换——但这是毫无意义的,因为我们希望设置它来重命名属性。


小费
要获得向工作空间添加转换器的好技巧,参见列表中的第5条有史以来十大FME技巧!


3)设置参数
单击属性管理器转换器上的“参数”按钮打开“参数”对话框。它看起来是这样的:

请注意,连接它的流上的所有属性都将自动出现在对话框中。

如果输入属性字段设置为neighhoodName,在输出属性字段中单击。单击下拉列表的按钮,并在其中选择要使用的新属性名称Neighborhood。

最重要的是,检查“操作”字段是否设置为“重命名”。


小费
邻居仅出现在列表中,因为它已经存在于编写器架构中。如果我们在编辑编写器模式之前完成了这一步骤,我们必须在此对话框中手动输入新的属性名。

单击OK关闭对话框。现在在Workbench canvas窗口中,您将看到使用绿色箭头标记了邻居属性,确认正在为该属性提供值。


4)增加变压器
现在我们应该把狗公园从数据中删除,因为它们有自己的一套成本。

这可以用测试变压器来完成。单击写入器上从AttributeManager输出端口到ParksMaintenanceData特性类型的连接。

开始输入单词tester。当您发现测试仪转换器时,单击它将其添加到工作区。整理好画布的布局后,工作区现在将如下所示:

注意,传递的输出端口是默认连接的端口。


5)设置参数
单击测试变压器上的parameters按钮,打开parameters对话框。双击左值字段,然后从那里单击向下箭头并选择属性值> DogPark。

对于右值,单击字段并键入值N。运算符字段应自动填写为等号(=),在这种情况下,这就是我们想要的。

单击“确定”接受值并关闭对话框。


6)增加变压器
我们现在从数据中过滤掉狗公园,对属性值使用测试。问题是,我们该怎么处理这些过滤掉的数据呢?我们可以做很多事情,但现在我们只需将信息记录到FME日志窗口。

要做到这一点,右键单击测试失败端口,选择Connect Logger选项:

日志转换器将添加到工作区。这会将所有传入功能记录到日志窗口:

通过这种方法插入的记录器以它们所连接的输出端口命名,并在日志中报告,这里测试仪失败。


7)运行的工作区
保存并运行工作区。它还没有完成,但是运行它将证明到目前为止一切都正常工作。


高级练习
作为一个高级任务,如果你有时间,进一步过滤数据以删除没有名称的停车场;即它们的名称属性丢失或为空。你需要安装第二个测试变压器吗?或者您可以将测试合并到现有的测试中吗?

祝贺你
通过完成本练习,您已经学习了如何:
  • 将变压器添加到工作区
  • 使用attributeManager转换器执行模式映射
  • 使用测试变压器过滤数据
  • 使用记录器变压器记录数据

结果匹配”

    没有匹配的结果“