FME使用的一些注意事项与技巧(一)

原文发布时间:2010-06-17

作者:毛毛虫

最近在使用FME处理数据时,遇到一些小问题。我会陆续在今后的文章中把遇到的类似问题和处理方法,也希望大家多提宝贵意见。现在把我暂时想到的几个问题先说一下:

1、给Writer或Transformer添加属性。

对于自己创建的要素,我们可以给它添加新的属性,如使用转换器Creator、2DgridCreator等创建的要素,而对于Reader添加进的数据不能添加属性。方法是,右键点击要添加属性的输出端口右边的名称位置,如图:

图片已丢失

右键点击CREATED所在的位置,在弹出的快捷菜单中选择Add Attribute…。

修改New_Attribute为你想要修改的属性名即可。

对于Transformer也是如此,如转换器TextStroker,点击TextStroker、Input所在的位置都不能添加属性,需要点击输出端口名称,即STROKED或UNTOUCHED所在的位置才行。

图片已丢失

对于向Writer中添加属性比较简单,直接点击Writer要素后面的…按钮或点击右键选择Add Attribute…,打开Writer的属性对话框,在User Attribute选项卡下输入需要添加的属性即可。

2、绝对路径的设置

格式为“.\+文件名”的形式,如.\xzqqx.shp就是当前目录下的shp文件,或.\1111\xzqqx.shp,当前目录下1111文件夹下的shp文件。

另外,如果把文件压缩,如我有一个工作空间的Source和Destination的路径如下:

我把这个工作空间压缩为rar文件,把这个rar文件放置其他目录下,如G:\FME_group\study\Workspaces\1111,解压后打开这个工作空间,Source和Destination的路径如下:

路径也发生了相应的变化。这样如果把数据跟模板一起打包,可以不必修改Source和Destination的路径,直接运行模板。

3、GeoMedia Access数据库

如果要想把数据写入到一个GeoMedia Access数据库中,需要先使用Geomedia的Database Utilities创建元数据,否则即使在模板运行时没有报错,也无法正常使用这些写入的数据表。

图片已丢失

正确方法是先新建一个Access的mdb文件,然后如上图,打开Database Connection对话框(下图),

图片已丢失

选择需要打开的文件后点击OK。在弹出的对话框(下图)中选择Create Metadata Table,创建元数据表。

然后再在FME中向这个mdb写入数据就可以了。

4、属性复制的问题

我们知道,右键点击Destination,在弹出的快捷菜单中,选项Copy Attributes From Feature Type…可以直接从Source中复制属性作为该Destination的属性,选项Copy Attributes From Transformer…可以直接从该工作空间的任何Transformer中复制属性作为Destination的属性。

对于Source,点击右键有一个选项Duplicate(On Writer),可以直接复制一个Source作为一个新的Destination。

但是对于数据库,使用这个选项时需要注意一个问题。我们的Source和Destination都是Oracle Spatial Object格式,设置分别如下:

如果直接使用Duplicate(On Writer)选项,则这个添加的Writer如图:

可以看到,它的Database Username为TDDC,而不是我们想要写入的JTGC,这时候需要手动修改为JTGC,否则会把数据写入到数据库orcl5下的TDDC用户下。

猜你喜欢

转载自blog.csdn.net/fmechina/article/details/81127025