span8
span4
writingmultiplegeometry fmwt——甲骨文- 2016.
writingmultiplegeometry-SQLSERVER,2016.fmwt
有两个多几何书写的场景:
读取和写入多个几何
在一个多 - >多翻译FME处理读取和写入自动。
读取单个和写入多个几何图形
当转换单个几何多个,关键是如何识别相关的两个特征,以及如何将它们分配给适当的几何列。
因为FME还不能处理单 - >多内工作台自动翻译,对于要写入的每个数据库记录中的设置必须手动定义。它将由两个或多个特征,每个有助于其几何形状到最后一个记录。
用于完成此任务的功能包括几何名称和聚合。
1)一种几何名称被施加到每个特征与一个GeometryNameSetter这个几何名称标识要写入的几何列。
2)这些特征被组合在一起,形成一个聚合体——通常带有一个聚合变压器和这个识别哪个特征形成一个特定的数据库记录。
创建多个几何表
FME还不能创建具有多个几何列的表。您可以使用具有多个几何列的现有表,也可以在FME转换中使用SQL脚本来创建一个。
SQL脚本的目标是:
一个示例脚本Oracle_SQL.txt对于与Oracle使用附接。
注:
剧本分为四个部分:
第二个示例脚本Oracle_SimpleSQL.txt还附上。
对于一个SQLServer数据库中的示例脚本工作SQLServer_SimpleSQL.txt还附上。
注:
这里的区别是,而不是在脚本中捕获错误,具体FME设备用于忽略它们。注意,连字符先于DROP和DELETE命令。这提示FME忽略这些命令,如试图除去不存在的表时,会出现任何错误。
优点更短,更简单的脚本
缺点非标准SQL
提交将被自动执行,并且不需要被列入
这两个脚本都可以在写入器高级参数> SQL语句中使用,以便在转换之前执行。这可以确保在运行工作区之前正确地构建了表。这很重要不指定“删除并创建”,在表处理的功能类型参数。
对于编写多个几何列执行以下步骤的附工作区:
-创建Oracle表。FME无法创建多个几何表
- 确保数据库作家有参数“处理多个空间列” =是
1 -为每组特征设置几何列的名称
2 - 将功能集成到一个聚合
标记聚合体,这样它们就被设置在每个部分都是独立于其他部分和它自己的完整几何形状的地方。
4 -写入表-截断表,不要设置geom列名
SQL Server
如果使用SQL Server的工作,可以有具有不同几何类型两个几何列。例如使用几何模型一列,并使用该地理模型一列。在SQL Server示例工作区,该表被创建,使得多边形将被存储为地理数据。我们增加了一个Reprojector重新投影多边形功能集成到一个纬度/经度坐标系,然后它们将被正确写入。
可以更新具有多个空间列的表。首先,这里是更新在处理多个空间列时的工作方式。有三个更新场景。
1.更新两个空间列
更新两个空间列,但将其中一个设置为
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应保持不变。
©2020安全亚搏在线软件公司|法律