FME转换V8数据相关要点

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

作者:不会飞的小鸟

上周一直在做V8数据转换,主要是实现投影坐标系的转换,由DGN写到DGN,在这个过程中需要注意单元、线型、注记、层、色、属性等内容不能变化。

1、  首先来看看线型

在转换时为了保证线型不变,最主要就是给目标指定线型名,现在FME读DGN数据时我们可以看到读到线型名称(igds_style_name),但我们在目标数据的时候属性里是找不到这个属性的,如下图所示:


这时我们只能通过写目标数据时所需要选择的种子文件来解决此问题,在输出数据时有个选项是选择种子文件的,如下图所示,在这个地方只要我们选择的种子文件里带所有转换数据的线型,数据的线型就不会丢失了。(注:这个带所有数据的线型指的是:在这个种子文件里画过所有转换数据所带的全部线型)


 如果有人说我想要利用FME来换线型要怎么办呢?这个嘛我还在学习研究当中,我知道在告诉大家,如果有朋友知道了,欢迎留言。

2、  其次说注记、色、属性

扫描二维码关注公众号,回复: 1624024 查看本文章

由于我这次的转换主要是投影坐标系转换,格式本身没有发生变化,所以对于注记、色以及属性的转换不需要太多的关心,FME会自动把这些内容带过来。

如果格式发生变化的情况,对于注记的处理还是需要费很大劲的,特别是对汉字注记的格式与字体的问题,如果字体在V8下是自定义字体,FME是不能识别的,我建议大家将字体转换为系统自带的字体后在进行转换操作;如果汉字注记有换行情况,这个FME也是不能识别,最好是在转换前处理一下。

3、  再来说说层

层与线型是一样的,主要是设置目标数据中的种子文件,对于这个文件我们需要将所有转换数据的图层与相应图层名都列到种子文件当中。关于层的问题主要是针对层名(igsd_level_name)有中文的情况(包函“层1”这种默认的层名),转换后数据的图层就会自动乱掉,现处理方法很简单,当在FME里读到数据后,马上给个复制“AttributeCopier”函数,把层(igsd_level)属性复制给层名(igsd_level_name)做为属性就可以解决了。如下图所示:

4、  最后来说下单元

单元,这个可把我折腾坏了,因为对了单元的处理方法都是在输出时连接转换数据的单元库就可以保证单元名、层都不丢失,如下图所示:

       

但是在这次的转换过程当中,我发现我转换后数据当中的单元都自动输到1层里去了,当我输到FME预览里看时发现,FME读入的单元都自动在0层,由于我输出时种子文件没有0层,所以所有的单元都输到1层上去了,后来经V8高手指点才得知在V8里的单元库中的类型有两种,点和图形,如下图所示: 


点:表示在放置单元时,以当前图层为准,所有单元都放置都当前图层当中;

图形:表示在做单元时,所组合的内容放置到指定图层当中,在放置单元时,所有单元头都自动放到0层,下面的子单元则放到做单元时指定的图层当中。这个的处理方法只有在单元库中把类型由图形改为点,在输出数据时指定改后单元库点类型的,就可以解决了,但关于这个改类型的问题,我知道的唯一办法是重做单元库,如果有人知道怎么进行批量修改,欢迎留言,多谢。


猜你喜欢

转载自blog.csdn.net/fmechina/article/details/80698597
v8
今日推荐