FME实现Oralce Spatial空间数据库的动态更新
原文发布时间:2012-03-27 21:00:48
作者:jason
作为管理空间数据的理想工具,从早期的Oracle 7.1.6MultiDimension开始,甲骨文公司陆续推出了支持空间数据库管理的多个Oracle版本。现如今,随着Oracle 11g的面世,其对空间数据的支持已经较为全面。
空间数据库的应用非常广泛,涉及林业、矿产、国土等行业,因此完成空间数据库的动态更新是很多单位和企业面临的共同问题。本文就实现Oracle Spatial实时动态更新介绍一种方便易学的方式。
需求分析 |
FME(Feature Manipulate Engineering,简称FME)是加拿大Safe Software公司开发的空间数据转换处理系统,它是一套完整的空间数据解决方案。绕开繁琐的编程工作,在FME提供的可视化处理流程界面中,按照需求自定义处理过程,然后发布到FME Server,动态执行处理流程,达到和编程一样的效果。基本思路:
以某单位的数据库为例,其数据库分为中心库和业务库,业务库实时在变更信息,需要将变化的数据更新到中心库,以保证中心库数据的正确。实现的基本步骤如下:
1、在本地安装FME和Oracle客户端。
2、在Net Manager中配置服务名,中心库:zxk和业务库:ywk。如下图:
3、打开Workbench,添加读模块,输入业务库连接信息,选择对应的表名:
4、同样,再添加写模块,要素类为需要更新的表名,并添加相应字段,源数据和目标数据字段连接起来:
注意:中间过程,可根据实际需要,添加一些转换器。
5、设置写模块参数:创建表设为:No,更新几何对象内容:Yes,Update Key Columns(更新的关键列,可参考数据库中关键字的含义):BSM,其他参数可根据需要设置,详细情况可点帮助按钮,获得帮助信息。如下图:
6、将更新过程中需要重新指定的参数设置为发布参数:
7、以上步骤建议在测试库中完成,查看执行结果无误后,接下来将此模板发布到FME Server,执行无人值守的定时动态更新。发布到FMEServer,在服务对话框中选择Job Submit(提交),如下图:
8、进入用户界面,配置模板运行参数,输入正确的源数据和目标数据的服务名:
出于安全的考虑,用户可以选择让FME Server以Email的方式发送执行报告,该Email将会把执行的参数和结果发送到指定邮箱。
9、登陆FME Server管理界面,进入schedule(目录)一览,设置动态执行参数。点击 ,将模板添加到该目录下,并设置执行频率,系统将根据此设置自动完成更新。此处将更新周期设置为1分钟,并无限制持续更新:
完成以上步骤,即可以实现简单的空间数据库动态更新。在以后的文章中,我们将会继续探讨FME实现Oracle Spatial的另一种更新方式:增量更新。
转载自:https://blog.csdn.net/fmechina/article/details/81286306