SPAN8.
SPAN4.
withmultiplegeometry-oracle-2016.fmwt
WriteMultipleGeometry-SQLServer-2016.FMWT
有两个多几何写入场景:
读写多个几何形状
在一个多个 - >多个翻译FME自动处理阅读和写作。
读单身并写多个几何形状
将单个几何形状转换为多个时,密钥在如何识别相关的两个功能,以及如何将它们中的每一个分配给相应的几何列。
因为FME还没有处理单次 - >多个在WorkBench中自动翻译,必须手动定义要写入的每个数据库记录的设置。它将由两个或多个功能组成,每个功能都会有助于其几何到最终记录。
用于执行此目的的功能涉及几何名称和聚合。
1)使用几何名称应用于每个功能Geometrynamesetter.此几何名称标识要写入的几何列。
2)该特征被分组为聚合 - 通常与聚合器变换器 - 这标识了哪些功能形成特定的数据库记录。
创建多个几何表
FME尚未能够创建具有多个几何列的表。您可以使用具有多个几何列的现有表,或者您可以在FME翻译中使用SQL脚本来创建一个。
SQL脚本的目标是:
示例脚本Oracle_sql.txt.有关使用Oracle。
笔记:
该脚本分为四个部分:
第二个示例脚本Oracle_simplesql.txt.txt.也附有。
用于使用SQLServer数据库的示例脚本sqlserver_simplesql.txt.也附有。
笔记:
这里的差异是脚本中的差异,而不是陷阱,使用特定的FME设备忽略它们。请注意删除和删除命令之前的连字符。这会提示FME忽略这些命令中的任何错误,例如在尝试删除不存在的表时会发生。
凡好更短,更简单的脚本
cons非标准SQL
提交自动执行,不需要包括在内
这些脚本中的任何一个都可以在Writer高级参数> SQL语句中使用以在翻译之前执行。这可确保在要运行工作空间之前正确构建表。然后很重要不在要素类型上的表处理参数中指定“删除并创建”。
用于编写多个几何列的附加工作区执行以下步骤:
- 创建Oracle表。FME无法创建多个几何表
- 确保数据库编写器具有“处理多个空间列”参数=是的
1 - 为每组特征设置几何列的名称
2 - 将功能转换为汇总
3 - 标记聚集体,使得它们是设置的,其中每个部分与其他部分无关,它是自己的完整几何形状。
4 - 写入表格 - 截断表,不要设置电影列名称
SQL Server.
如果使用SQL Server,可以使用具有不同几何类型的两个几何列。例如一个使用几何模型的列和一个使用地理模型的列。在SQL Server示例工作空间中,已创建表,使得多边形将被存储为地理数据。我们已添加一个repojector来将多边形功能恢复为LAT / LONG坐标系,然后它们将正确写入。
您可以更新具有多个空间列的表。首先,在使用多个空间列时,可以更新如何工作。有三种更新场景。
1.更新两个空间列
2更新两个空间列,但将一个设置为
3.仅更新一个空间列,使另一个空间列保持不变。
上面讨论了编写多个空间列的前提。
当对具有多个几何形状的多个空间列表(FME_DB_Operation = Update)编写更新时,您可以期待以下行为:
假设我们命名为空间列G1&G2
1.更新几何形状:G1&G1
创建聚合。使用sublygeometrysetter将聚合作为多个几何形状标记。G1&G2作为聚集体的特征。G1&G2都更新
2.更新几何形状并将G2设置为
3.更新G1,不要更新G2。创建G1和SublyGeometrySetter的聚合。该功能缺少G2。G1更新,G2应保持不变。
©2020 S亚搏在线afe Software Inc |法律