很早就听说过FME的大名,对地信人来说应该不算陌生的名字,半个地信的我却从未用过。
想到用这个工具主要是因为遇到个麻烦的事情,OSGB的数据经DP处理后再放回CCC跑成FBX需几经周折,于是想到这个据说支持400+格式的转换神器,经搜索2018版本是支持这两种格式的,窃喜,于是接下来走上了FME的自学之路。
第一次尝试,单文件转换。
打开workbench,新建generate,设置读写格式,选择读写路径,确定,运行。完美转换。
第二次尝试,多文件转换。
按照网上的资料,读模块里数据集的文件路径里的文件名用通配符*代替就可以。运行,正常转换。
这时发现了一个问题,就是转换后的模型坐标轴方向和原本的不一致,之前是Z轴向上,现在变成Y轴向上了。大汗,之前转换一个文件的时候还没注意,网上没查出结果,在这感谢2群里的和尚哥告诉了我方法,运用一个叫3DRotator的转换器轻松搞定。
这里学到了一个概念,转换器,具体有哪些呢,在软件左下可以看到,如下。
3DRotator的设置如下:
图截错了,是X轴。
第三次尝试,按文件夹批量输出。
人懒就会想更多的办法,想想这么强大的软件一定有办法可以完成在转换的时候自动创建对应的文件夹。网上搜索无果,还是好心的群友给出的答案,是“扇出”,同时还用到了一个转换器FilenamePartExtrator,来用完成文件夹的命名。
这里要说一下,官方博客上的文章《FME2010 案例分析: 动态批量转换》就是完成这项工作的参考,但是由于版本问题,转换器功能已经有所优化,具体操作如下:
首先把读模块数据集中路径的文件夹名也用“*“代替。
然后在读要素属性设置里勾选fme_dataset。
填加转换器3DRotator并设置旋转轴和角度。
填加转换器FilenamePartExtrator,并设置参数,源文件名选择fme_dataset。
设置扇出数据集,表达式设置为dirname。
运行,完美收工。
扇出到底能做什么呢?
它可以将数据按某属性分离成多个图层或文件、将数据按某属性命名、将数据放到特定目录下、数据批量处理。(出自《FME10分钟学习视频 第二十节 FME的扇出功能》
再次感谢FME中国技术交流2群的努力的和尚哥,他让我敲开了FME的大门,也因此才有时间在这和大家一同分享。