span8
span4
我在Oracle空间中有许多表需要与Smallworld同步。这些表包含多个几何列。
我们有一个夜间作业的需求,更新~80个表,并且只传递当天更新的记录。在某些情况下,某些特性可能是空几何图形(例如。取决于数据的变化。
当使用功能操作:更新和表处理:使用现有的,翻译失败,其中一个几何图形无法在当前的功能:“‘geometry’类型的空间列'FIBER_OPTIC_LOCATION'在当前特性中找不到。”
这是对具有多个几何图形的Oracle空间DBs执行更新的预期行为吗?有没有办法绕过这个问题来更新可能包含多个几何图形的记录?
当插入记录并截断现有表时,转换将成功完成,但是由于记录太多,无法每晚截断所有表。
谢谢你的建议。
处理多个空间列不是一件简单的事情,尤其是在更新空间列时。
首先,这里是更新在处理多个空间列时的工作方式。有三个更新场景。
1.更新两个空间列
更新两个空间列,但将一个设置为a
3.只更新其中一个空间列,而不更改另一个空间列。
这篇文章讨论了写多个空间列的先决问题:写入包含多个几何列的数据库表
当将更新写入具有多个几何图形的多个空间列表(fme_db_operation = UPDATE)时,您可以期望以下行为:
假设我们将空间列命名为G1和G2
1.更新两个几何图形:G1和G1
创建一个聚合。使用MultipleGeometrySetter将聚合标记为多个几何图形。G1和G2是该特性的集合。G1和G2都更新了
2.更新几何图形并将G2设置为
3.更新G1,不更新G2。创建G1和MultipleGeometrySetter的聚合。G2是失踪的功能。G1更新了,G2应该保持不变。
如果你尝试3。用Oracle空间,然后你得到错误:
“geometry”类型的|空间列“G2”在当前特征中找不到
我们试图修正最后一个错误,但在这种情况下,我们应该使用方法2。你会遇到错误。(在SQL Server和其他支持多空间列的数据库上也可以)
试图解决@jnfung的错误-我认为错误的发生,因为该功能看起来像3,而不是2。。如果
-复制原来的功能。
-在副本上,使用VertexRemover删除副本上的所有坐标。
-使用GeometryPropertySetter将副本的名称设置为G2
-使用聚合器合并原始(G1)和复制(其中G2 =
使用特性缓存来帮助您拼凑正确的结构。你的特征几何会看起来像这样:
你好,
参考以下文档来处理多个几何图形,
https://cdn.亚搏在线safe.com/training/course-materials/Smallworld-Pathway-Training-2015.pdf
谢谢……
©2019安全亚搏在线软件公司法律