任何时候都适用的十大FME技巧(二)

2014-10-10 09:02:03

翻译:小新

原文地址:http://blog.safe.com/2014/10/fmeevangelist128/

相关文章:任何时候都适用的十大FME技巧(一)

这是“任何时候都适用的十大FME技巧”的第二部分。这是最近这几周我从用户那里收集得到的。谢谢你们的回复。你们的回复有很多,只选择其中的五个是一件比较难的事。如果我没有挑选出你的建议,我为此抱歉。

快速添加的快捷键

         当使用“快速添加”在工作空间中添加转换器时,毫无疑问可以加快创建工作空间的过程。这里有两个技巧。第一个(技巧5a)来自资深FME用户Jeff Konnen:—通过中间字符查找转换器。

         原因很简单,如果你需要AttributeRemover转换器,开始时键入A-t-t-r,你会得到一个如下的转换器列表:

    但是,如果你开始的时候键入u-t-e-r-e-m(转换器名称的中间部分),只有很少的转换器能够匹配,你会得到一个包含较少转换器的列表,如下:

很明显,当只有很少的匹配时,能够容易的定位和选择转换器。所以这个技巧很有用,我推荐大家都试试。谢谢Jeff。

在5a的基础上,我给一个我的建议(技巧5b:使用驼峰式。注意:一些转换器由一个单词组成(例如Clipper或Snapper),而其他的由多个单词组成(例如NeighborFinder或一个比较极端的例子RasterSingularCellValueCalculator)。

由于快速添加支持驼峰查询,这意味着你可以对这些转换器使用单词的首字母进行查询,例如:

我发现对于常见的转换器如AttributeFileWriter(AFW)和AttributeRangeFilter(ARF)来说非常有用。事实上,我想知道除了这两个技巧外,对于每个转换器来说是否还有第三(或第四)种唯一的字符编码,我想把这个问题留给你们去发现!

噢!还有最后一个(技巧5c)—在“快速添加”时,使用tab键可以在转换器名称和转换器搜索之间进行切换,所以你不必再使用转换器库中的搜索窗口了。我还想知道,如果继续按tab键,是否会切换到“快速添加读模块”、“快速添加写模块”。那么输入S-H-A-P-E,回车,将弹出添加读模块对话框,并设置了数据格式为Shape。你觉得这是一个好主意么?请告诉我们。

 

打开所在文件夹

         上面Jeff给出的技巧是关于如何在特定方式下使用特殊的功能,并设想你已经知道了这个功能。但是其他的技巧不是我们每个人都知道的。这个技巧就是其中之一。

         FME认证专家Ben Moseley推荐我“打开所在文件夹”(技巧4a)这个工具。你可以在画布中的任意要素类中右键找到:

  这个功能将打开文件所在的文件夹。我发现这个功能可以很方便的找到输出文件;特别是当我输出KML时,我会这样做,这样我可以双击文件然后在Google Earth中打开。这样能够节约时间,感谢Ben的建议。

         在右键菜单中你会看到的另外一个选项是Inspect。这又是一个非常节约时间的方法,Safe的工作人员Steve MacCabe建议提到它。

         噢!我们再看看FME2015中,对于这个功能的升级:

是的!“打开所在文件夹”这个功能太有用了,我们将它添加到所有包含文件名称的参数中,上面的例子是AttributeFileWriter(或AFW)中,会发现它非常有用。

上面的功能你可能不知道它们的存在,这里的这个功能我也不知道!Matthew Brucker告诉我(技巧4c“FeatureReader转换器缓存要素的能力”。他说在构建工作空间时是非常有用的,因为你不必每次重复读取数据集。

我都不知道有这个功能!这里我提最后一个技巧(技巧4d):经常读What’s New文件,参加每年的What’s Great网络研讨会,并跟上我们对产品做得事情。你会发现新的特点——就像Matthew提到的——它将节约你大量的时间!

 

Creators

         我之前的那篇文章的评论中,FME用户Jan Roggisch提到了一个绝对不能没有的功能:Creator转换器。

         Jan说:“我的技巧(技巧3a)是FME中我最喜欢的一类转换器,”Creator“,我觉得它对提高生产力非常有用。”

         我一定不能没有Creator转换器。每当我创建一个工作空间时,转换部分是最难的。我使用Creator转换器(有时使用AttributeCreator)构造假数据来测试工作空间。就像Jan提到的,当“使用我不熟悉的转换器时、或者我知道输入数据模型但是没有实际的数据时,我可以简单的创造一些数据,帮助我确保转换逻辑正确,然后使用真实数据进行替换。

         我还发现在没有输入时,使用Creator创建空(null)要素来启动工作空间非常方便。

         我还有提一下我以前经常做的事情(技巧3b):将Creator保存为自定义转换器,在其中包含数量很小的源数据,而不需要使用读模块。困惑了吧?那看看这个Creator转换器:

我把温哥华市的边界转换为XML(使用GeometryExtractor转换器),然后将XML的内容拷贝到Creator转换器中(注意XML标签栏)。然后我把Creator定义为名称叫做VancouverBoundary的自定义转换器。现在每当我要需要温哥华市的边界时,只需要快速添加VancouverBoundary转换器即可,而不用添加读模块:

这个方法节约了我很多时间,你也可以对SQLCreator转换器做类似的事情。像Jan说的那样(技巧3c):能把在SQL的表达作为FME的要素是非常强大的。例如:当使用一个复杂的关系数据库模型时。这个时候我可以在测试/开发过程中快速的改变输入数据的结构,而不用重新构建数据集为文件或者表,也不用输出。

         现在你知道“Creator”的强大了吧。噢,还要注意VertexCreator(技巧3d),它是许多转换器的组合,例如2DPointReplacer和2DPointAdder。

 

组织工作空间

         如果上面的技巧有点复杂(不要告诉我你不喜欢XML,每个人都爱XML!),这个技巧来自Lars de Vries(@larsdevries),很容易理解的一个技巧,关于有效的组织工作空间的最佳做法。

         技巧2a:在书签/inspector名称前添加数字,控制它们的显示顺序。例如,这里我为书签名称添加了数字,以便它们有序的显示在导航窗口中:

   技巧2b:给嵌套的书签一个匹配的名称。例如:

这里有一个名为Boundaries的主要书签,它包含了3个其他书签

(Boundaries:Neighborhoods,Boundaries:City Crid,Boundaries:Land Boundary)。通过对书签使用这种命名约定,使得它们在导航窗口中合理的排序,并更容易的被定位。

         Lars还提到(技巧2c)为Inspector转换器命名,以便对 Data Inspector中显示的输出进行排序(这是一个很好的技巧)。培训课上一个学生还建议我,可以对转换器进行数字标记,使它们在日志中更容易识别,例如(技巧2d):

你不必使用一个按数字顺序的列表进行标识(例如上面的图片中转换器4最先执行),但是它确实有助于阐释日志文件,并帮助确定每个步骤涉及的转换器。

其他

         我还收到了其他的一些技巧,我把它们归到“其他”这个类别。

 

技巧1a: Yves St-Julien建议把“粉色圆点”(Pink Dot)作为一个注意事项。当你拖动一个对象到Workbench中时,这个圆点(在2014中是一个三角形)位于对象(例如转换器)的角上。当这个圆点与一个连接线或输入/输出端口重叠时,将高亮显示它们,这意味这你松开拖动转换器时,它们可以自动连接起来。

我还建议你可以试试拖动转换器到输入/输出端口。它可以一次性完成多个连接,节约大量的时间。

技巧1bMatthew Longman的技巧是在工作空间中通过导航窗口中的拖拽,改变读模块顺序的能力:

这样做的好处是什么呢?许多转换器——例如Clipper——如果你能确保要素达到它们的时候是正确的顺序,将具有改善性能的能力。这个排序工具是实现这个目标的方法之一。

 

技巧1C:Mike Oberdries提醒我使用列表创建人工循环。正好这是我想写的,所以我将把它放到下一篇文章中,用整篇文件进行介绍。

最后的思考:所有关于你们的!

如果你参加了任何Safe Software的事件——例如每年的FME World Tour以及非年度的FME全球用户大会——你会知道我们公司是尽我们所能帮助用户的类型。我们提到如果我们能帮助你,让你看起来像一个空间超级英雄,那么我们是双赢的。

        

         所以我最后的一点是建议你使用我们为你提供的所有支持的机会。这里是你知道或不知道的一些支持方式:

 

技巧0a:测试包:如果你有一个要紧的转换任务,并把工作空间/数据发给我们,我们将把它放到我们的测试包。这个方式——与升级或错误导致的问题不同——我们会立即从我们的自动化测试中找出答案,而不是忽略这个问题直到它影响你的生产环境。与我们的支持团队联系获取更多信息(safe.com/support)。

 

技巧0b免费培训:我们所有的培训免费,包括使用装有软件的虚拟机;所以你没有理由不保持FME的最新进展。

 

技巧0c:支持:虽然FME技术支持——从法律上讲——仅限于解决产品缺陷,我们不反对偶尔解决“我该如何做”这样的问题。就在最近我做的一个技术支持,只用了两个转换器就解决了用户的问题。我5分钟的时间,可能为他节约了5个小时。所以请使用我们的支持团队。对于大型项目,我们将指导你成为很棒的网络FME认证专家。

 

技巧0d告诉我们你的想法:你知道FME将读取压缩为单一文件,扩展名为.shz的Shape数据集了吗?这不是正式的规范,但是用户建议这一点,我们考虑它的开发时间很短,但是是一个有用的更新,所以它得到了落实!我的意思是你不要害怕告诉我们能够让你的工作更简单的想法。

FME技巧的文章就结束了。虽然叫做“十大”,但是文中实际一共包含了32个技巧。我希望你至少会觉得其中一个非常有用。

如对文章有疑问,可发送邮件至zhuxx@antu.com.cn 提问或讨论。

  • 1
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值