FME workspacerunner 实现 批处理的注意事项

实现批处理有两种方式:

一种是在reader中设置数据集路径时直接选择多个文件,或者使用通配符。

使用通配符的方法:

可以直接将文件路径改为如下形式:

下图通配符路径的含义是C:\新建文件夹 路径下及所有子目录下的shp文件。

也可以通过点击三点按钮后面的倒三角:

点击Add Files(添加多文件)可以直接选择添加多个文件: 

点击“Add  Folders”可以选择添加多个文件夹:

添加文件夹后,可以设置文件过滤器,如图中“.shp”,表示过滤得到文件夹下的所有shp文件。由于上一步我们选择了文件格式为Esri Shapefile,所以这里自动填入了过滤器。

还可以设置是否包含子目录,即下图中的Subfolders复选框,选中表示包含Folder目录下的所有子目录。

我们选中Subfolders复选框,然后点击“OK”确定,看一下最后得到的效果:

可以看到,效果与手工设置的是一样的。

在实际操作过程中还发现,Workflow Options,选择Indicidual Feature Type时,更换文件会出问题,必须重新添加Reader,而选择Single Merged Feature Type就不会。

使用这种方式的优点是方便,不用其他的设置就可以批量处理文件夹下的所有文件。

但是坏处是,如果你的流程中,有统计类(其实还有其他类的)的转换器,它将把所有文件读取完之后再进行下一步处理,这样,如果文件都是大文件,那么内存是吃不消的。

而下面的第二种方式就不会存在这个问题。

第二种方式是使用Workspacerunner。

Workspacerunner是一个转换器,但是他可以运行其他的.fmw方案,这就是他的强大之处。

添加Directory and File Pathnames读模块

要使用Workspacerunner,先得给他添加输入数据的路径。这里用到另外一个转换器:Directory and File Pathnames。这个是很好用的,我们来添加它:

下图的含义是添加“C:\新建文件夹” 路径下及所有子目录

 

点击下图中的Parameter“参数”按钮,弹出设置框,如下如设置的含义是“C:\新建文件夹” 路径下及所有子目录下的,文件名包含“房屋”二字的shp文件。注意,是文件,因为这个读模块不仅可以读文件,还可以读文件夹,下图Allowed Path Type选择File的含义就是只读文件。经测试,设置好过滤,能极大的提高运行效率。

  添加并设置好读模块后,我们添加workspacerunner转换器: 

 

设置你要运行的转换器:

 

 

这种方式的优点是非常合理,通过一个方案将另外一个方案可控的反复运行,不需要将所有的输入数据堆积在内存中。而且,最爽的是它支持多线程,可同时处理多个输入数据文件。那不是一般的爽,那是相当的爽!

两种方式使用场合各有不同,使用哪一种,要看自己的需要。

使用WorkSpaceRunner,也有一些技巧,下一篇再继续。

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

zou_ys88

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值