FME更新数据库流程

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

一总体流程

利用FME进行数据入库,很多时候能做到事半功倍的效果。在进行数据迁移之前,一定要充分熟悉原生产机和目的服务器数据库上的表的结构,通过新旧系统对比,找到数据变化的入口。另此处的示例中用到的版本是FME2014.

FME入库流程图:

否 是

二 从迁移到SDE (1)添加读数据,读入你要加载的GDB 数据类型,如下图:

(2)选择你需要更新的文件,在方框前面打勾:

入库前检 数据入库

(3)添加写数据:

(5)设置要连接的服务器参数,点击上图中的Parameters,设置如下:

(6)生成文件设置

(7)点击上图中的Format Parameters对转换属性进行设置:

(8)连接好点击即可,转换后显示转换成功字样算成功转换,如下图:

三从SDE迁移到SDE

从SDE转到SDE与从GDB转到SDE的方法类似,主要是数据源类型及目标数据源类型均选择SDE,如下图所示:

四入库常用到的转换器

(1)AttributeCreator:修改原有字段的属性值,可设为常量,同时能增加新的字段并设定其值,如JASSTATUS。

属性变化如下:

(2)AttributeFilter,属性过滤:根据属性值把要素输出到不同的端口。如把字段NAME属性值为阿城区和爱辉区的属性过滤出来,如下图:

(3)AttributeSplitter分割字符串。例如将字段NAME属性里面包含符号*的文字进行分割。

(4)AttributeCopier复制一个属性为一个新属性。如将字段为NAME的属性复制到字段为NAME1字段里面。

(5)ListRangeExtractor获取列表中的最小、最大值。如下图,获取列表中的最大值和最小值。

(6)VertexCreator:将坐标附加到nell、点、文本、线和狐段几何图形上,或用点对象替换已有几何对象。我们用到最多的是用点对象替换已有几何对象。如下图设置:

(7)PointConnector:按照输入点要素的顺序进行连接,以构建线或者面要素。

(8)UUIDGenerator:为每个进入的要素计算通用唯一标示符(UUID),将其作为新的属性添加。这个在做一些关联数据的时候会经常用到。一个UUID的例子:6a6bfc86-2a52-4c92-99ee-694183012a16

(9)DateFormatter:重新格式化并且替换日期或者时间字符串到新的日期格式,字符串来源可以是几乎任何日期和/或时间格式。

五入库中可能遇到的问题

(1)非空字段有空的迁不进去。新表中不能为空的数据,在原表中有空数据存在。这种情况直接迁移的话就会报“索引超出范围”。

修改方法:

1)先找出新数据库对应表中不能为空的字段,如下图:

2)检查原生产机上对应表的OBJECTID,eventid内容是否有空值。

如果有空值,需要与客户及研发人员沟通,具体情况具体处理。

(2)数据有关联的没有迁移成功。比如生产机上cpteststation表中的eventid内容里带很多空格,有些表与他的eventid字段关联,但是迁移过去的时候空格去掉了,这个时候两张表就关联不上了。

修改方法:

1)确定eventid有空格:

无空格状态:

有空格状态:

2)在数据库里输入SQL语句进行空格清除:

update cpteststation t set t.eventid=tirm(t.eventid)

(3)FME版本设置不对。在新系统里有些表是需要注册版本的,如果在catalog 里显示已经注册过了,就选择versioning项。如果是未注册的就选择transactions,如下图所示:

Register with Geodatabase如果是灰色的,就表示已经注册过了。如果是黑色的就表示未注册,下图就是已经注册版本的情况

相关文档
最新文档