文章目录
一、数据结构变换(以shp→MDB为例,共三种)
1.连接线映射
读模块打开shp数据,写模块进行字段修改,并将修改后的字段相连。
修改之后打开数据
2.转换器进行格式转换
编辑写模块
3.外部表进行格式转换
使用featuremanger转换器进行操作
转换成mdb之后打开数据如下:
二、数据合并
这里以四个mdb数据合并为一个mdb数据为例,共使用三种方式。(注:合并的数据格式需要一致)
1.读模块一次性加载所有的数据源
写模块参数设置
点击运行即可
2.批处理
①加载读模块(区别于第一种方法,批处理只加载一个数据)
②加载写模块
上面两步的本质依然是针对一个文件的操作
③然后点击如下,进入批处理模式:
④点击下一步,有如下界面。
⑤根据实际情况选择合适的选项
⑥点击下一步
⑦最终得到结果。
3.workspaceRunner合并操作
①加载读模块(和批处理一样只加载一个数据)
②加载写模块
上面两步的本质依然是针对一个文件的操作,想要以workspaceRunner的方式运行,需要将这个模板保存至本地。
③再重建创建一个工作空间,并在其中加载转换器:workspaceRunner,并设置参数
④创建一个数据流(creator),使之可以运行。
④或者可以使用以下方式,可使之运行。
加载读模块,格式为:directory and file pathnames
将输出数据进行显示可得:该读模块的作用是将目标文件夹下的所有文件的路径进行输出:
因为我们只需要后缀名为mdb的文件,故需要对其进行筛选,此时需要加载转换器:tester,并设置参数。
对workspaceRunner进行参数修改
⑤最终结果如下:
三、数据分离操作
1.一个图层,按照一个字段进行分离
分离结果如下:
将上述实验进行完善:
分离结果如下所示:将每一个NMAE字段不同的元素,新建一个NAME字段的名称的文件夹下,并包含该数据
这里需要说明一个点:
不论是写模块的表达式
还是输出扇出表达式
都可以手动添加改变,NAME只是一个变量,可以在引用变量的同时添加任何内容。
如:
最终结果:
2.利用第三方数据,将原数据分离
数据我做了简单的处理,在一个mdb文件中,新建了一个面要素,并且将面要素切割成4个部分,并新建一个TH字段用于识别。数据如下
在FME中建立模板:
在输出表达式中修改参数:
在写模块中修改参数:
最终可得: