斯潘8
斯潘4
欢迎使用FME for smallworld 5教程。本文介绍如何将数据导入到SmallWorld5数据库中,包括如何处理对smallworld数据库的增量更新。
一旦信息存储在数据库中,它的来源不太可能保持不变:会发生变化。本文讨论如何使用FME对SmallWorld数据库进行增量更新。根据现实世界的变化保持数据库的最新状态。在FME工作台中,这是使用格式属性:fme_db_operation完成的。关于使用fme_db_操作的更多详细信息,请参见本文:更新数据库.
您在上一个版本中使用了“fme_db_operation”格式属性文章.fme使用smallworld writer上的“fme-db-operation”属性指定数据库操作insert,更新,或删除每个功能。
当操作是更新或删除时,然后,还必须提供与编写器功能类型上的smallworld“sys_id”匹配的join key属性。FME将使用这个连接键属性自动识别要写入的记录。
插入操作时,该功能不应包含join-key属性。对于插入的记录,smallworld会自动创建一个内部“sys_id”,如果编写器试图提供联接键,则插入操作可能会失败。
在前一篇文章中,为新客户提供电源点和电缆。这些提议的变更现在已经被接受。现在需要一些新连接,也需要更新或删除一些现有连接。此示例将使用对电气系统的这些更改更新smallworld数据库。
在这个例子中,您将使用由变更管理系统创建的GML文件。更改由update_type属性作为d跟踪,Ui(删除)更新或插入)。
1)检查源数据集
在处检查源数据集剑桥电力网更新.gml
有些功能没有几何图形。所有功能都有一个update_type属性,指示要执行的数据库操作的类型:i(insert),U(更新)&D(删除)。
2)添加smallworld替代方案
在smallworld版本管理应用程序中,选择替代的FME_更新,或添加此新的替代项(如果尚未存在):
数据集 | 备选方案名称 |
电 | FMEX更新 |
3)生成工作区
启动FME工作台。在“开始”选项卡上,选择生成工作区的选项。
读者格式: | 地理标记语言 |
读者数据集: | |
作者格式: | 小世界4/5 |
写入数据集: | 本地主机:30000 |
编剧。系统: | OGSB-GPS-2015 |
参数>服务 | FME |
参数>可选 | FMEX更新 |
选中“导入要素类型定义”复选框。
务必使用符号作为可选的第一个字符
单击“确定”以生成工作区。
4)指定特征类型
当“导入编写器功能类型”对话框出现时,单击参数按钮。
设置这些参数:
服务:分光的
表表:
当“GML选择特征类型”对话框出现时,选择这些功能类型:
5)工作区整洁
读卡器上的功能类型的顺序可能与编写器上的不同。要使要素类型名称易于显示,您可以选择要素类型并调整其大小,或者添加注释可以附加到每个要素类型。
要添加注释,选择所有特征类型。右键单击并选择“附加注释”。
整理工作区,使每个读卡器特征类型与其匹配的写入器特征类型水平对齐;但不要仅仅连接它们。
6)设置数据库操作
添加连接到读卡器功能类型的attributeValueMapper Transformer。update_type属性标识应用于每个功能的操作类型。
源属性: | UpDeaType类型 |
新属性名称: | 故障模式与后果分析 |
源值: 我 U D |
目标值: |
右键单击变压器并使用“复制”制作变压器的两个副本,并将副本连接到剩余的特征类型,如下所示:
7)设置几何名称:中心线和位置
在前面的部分中,您设置电缆和电源点的几何图形名称。将几何属性设置器变压器连接到电源点和电缆的属性值管理器,并将几何名称设置为“位置”和“中心线”,分别。
为什么你不需要一个几何属性编辑器来显示“客户”的特征类型?
注释:fme smallworld 5编写器以与smallworld 4完全不同的方式处理smallworld几何。工作区的smallworld 4版本都附在本文的底部以供参考。几何体类型不再显示为属性,也不再使用“宣誓几何体”列表属性。旧的工作区在smallworld 5中仍然兼容。
8)连接到编写器功能类型
将attributeValueMapper或attributeCreator输出端口连接到其关联的写入程序功能类型。
您的工作区将类似于下面的工作区:smallworldex6-完成.fmwt
FME如何使连接到smallworld对象进行更新和删除?FME使用sys_id(或等效物)连接到smallworld对象进行更新和删除。在本例中,这是ID属性(电缆和电源点)或客户ID(客户)。
9)检查输出
单击“编写器>重定向到FME数据检查器”以关闭smallworld编写器并将其输出到检查器。
保存工作区,然后运行它。
在FME数据检查员中检查输出。使用检查工具选择电缆和电源点,然后验证其属性。请注意,对于插件的ID(或客户的客户ID)丢失。这是因为它是一个新功能,还没有创建“系统ID”。
下面是将要发生的事情:
特征类型 | 操作 | 特征计数 |
顾客 | 插入 | 四 |
电缆 | 删除 | 三 |
电缆 | 插入 | 七 |
供给点 | 删除 | 三 |
供给点 | 插入 | 三 |
供给点 | 更新 | 一 |
总数: | 二十一 |
10)写入输出
在FME工作台中,单击“编写器>重定向到FME数据检查器”将输出定向到Smallworld编写器。
暂停:你在给正确的小世界方案写信吗?
运行工作区。
打开“smallworld professional(core)-smallworld core”应用程序。
使用“Electric Network”(电气网络)书签放大,查看橡树大道周围的感兴趣区域。
检查小世界的输出。在smallworld版本管理器中双击“fme_updates”,使其成为当前的备选方案。您可能需要刷新GIS视图。
找到插入的电缆和电源点。
将FME U更新与顶部的更新进行比较,以检测已删除的记录。
使用对象资源管理器查找插入的“客户”记录,因为没有几何图形,它们不会出现在视图中。
供应点和使用中间联接表的客户表之间存在关系。smallworld 5编写器无法通过中间联接表创建联接,因此,供应点没有加入到他们的客户中。您必须在Smallworld的GIS对象编辑器中完成这一点。
FME可用于导入具有直接连接(父/子)关系的对象。这些可以是简单的1:0..n简单连接,1:0..n异类联接或1:0..n多个联接。处理连接在Smallworld FME翻译文档-翻译smallworld rwos的字段-join字段(您需要从GE SupportCentral获得登录名)。您将在后面的文章中使用join字段。
插入的供应点有标签,从供应点位置的几何图形导出标签位置。
在smallworld版本管理对话框中,双击“begin”检查点以回滚到原始数据。
回到FME工作台,修改工作空间以将标签几何图形添加到新的供应点。暗示:使用偏移变压器。对工作区的更改将类似于上一节,在该节中将标签添加到供应点。
运行工作区,在smallworld中检查重新插入的供应点现在是否具有新的标签位置。
FME为smallworld 5编写器创建几何特征的方式存在差异,与小世界4相比。在小世界5里要容易得多。下面的示例展示了如何为smallworld 4实现这一点。《小世界5》的作者仍然支持这种老方法,所以如果你有现有的工作空间,它们将与smallworld 5兼容,运行时无需任何更改。
?2019安全亚搏在线软件公司|合法的