span8
span4
欢迎来到FME的Smallworld的5教程。本文介绍了将数据导入您的Smallworld 5数据库,包括如何处理增量更新到数据库的Smallworld。
一旦信息被存储在数据库中,其来源是不大可能留静:将发生变化。本文讨论了如何使用FME进行增量更新到您的Smallworld数据库。上最新基于现实世界的变化保持数据库。fme_db_操作:在FME工作台,这是使用的格式属性来完成。使用fme_db_operation更详细一点可以在文章中找到:更新数据库。
你已经在之前使用的“fme_db_operation”格式属性文章。FME使用的Smallworld的作家“fme_db_operation”属性来指定数据库操作INSERT,UPDATE或DELETE每个功能。
当操作UPDATE或DELETE,那么你还必须提供参加该Smallworld的“sys_id”匹配的作家特征类型关键属性。口蹄疫会自动识别记录使用该连接键属性来写。
当操作是INSERT,连接键的属性不应该被包含在该功能。对于插入的记录,Smallworld的自动创建一个内部“sys_id”,如果笔者试图提供一个连接键插入操作可能会失败。
在前面的文章中,电力供应点和电缆都提出了新的客户。这些拟议的改革现在已经被接受。现在一些新的连接是必需的,也有一些现有的连接需要更新或删除。这个例子将更新这些变化对电力系统的Smallworld数据库。
在这个例子中,您将使用已通过变更管理系统中创建一个GML文件。变化由update_type属性作为任d,U,I(删除,更新或插入)跟踪。
1)检查源数据集
检查源数据集在剑桥电力更新.gml
有些功能没有任何几何形状。所有特征具有update_type属性,它指示数据库操作的类型来执行:I(插入),U(更新)&d(删除)。
2)添加Smallworld替代方案
在Smallworld的版本管理应用程序,选择替代fme_updates或添加新的选择,如果它不存在:
数据集 | 备选方案名称 |
电力 | fme_更新 |
3)生成工作区
启动FME工作台。在启动选项卡,选择生成工作区的选项。
读卡器格式: | 地理标记语言 |
读取器数据集: | |
写入程序格式: | 小世界4/5 |
写入程序数据集: | 本地主机:30000 |
作家库德。系统: | OSGB-GPS-2015标准 |
参数>服务 | 口蹄疫 |
参数>备选方案 | |fme_更新 |
上打勾的导入功能类型定义复选框。
一定要使用| symbol as the first character for Alternative
单击OK生成工作区。
4)指定要素类型
出现“导入编写器功能类型”对话框时,单击“参数”按钮。
设置这些参数:
服务:F工厂
表列表:
当出现“GML选择要素类型”对话框时,请选择以下要素类型:
5)整洁的工作空间
读卡器上的功能类型的顺序可能与写卡器上的不同。若要使要素类型名称易于显示,可以选择要素类型并调整其大小,也可以为每个要素类型添加注释。
要添加注释,请选择所有要素类型。单击鼠标右键,然后选择“附加注释”。
整理工作区,使每个读卡器功能类型与其匹配的writer功能类型水平对齐;但不要只把他们联系起来。
6)设置数据库操作
添加连接到读卡器功能类型的AttributeValueMapper转换器。更新类型属性标识应用于每个功能的操作类型。
源属性: | 更新类型 |
新属性名称: | fme_db_操作 |
源值: 我 U型 丁 |
目标值: |
右键单击变换器并使用“复制”制作变换器的两个副本,然后将这些副本连接到其余的要素类型,如下所示:
7)设置几何名称:中心线和位置
在前面的部分中,将设置电缆和供应点的几何图形名称。将GeometrPropertySetter变压器连接到电源点和电缆的AttributeValueMapper,并分别将几何图形名称设置为“位置”和“中心线”。
为什么不需要一个GeometryPropertySetter用于“customer”功能类型?
注意:FME Smallworld 5编写器处理Smallworld几何图形的方式与Smallworld 4完全不同。Smallworld 4版本的工作区都附在本文的底部以供参考。几何体类型不再作为属性公开,也不再使用sworld_Geometry{}list属性。旧工作区在SmallWorld5中仍然兼容。
8)连接到Writer功能类型
将AttributeValueMapper或AttributeCreator输出端口连接到其关联的编写器功能类型。
您的工作区将如下所示:smallworldex6-完成.fmwt
FME如何连接Smallworld对象以进行更新和删除?口蹄疫使用sys_id(或等效的id)对Smallworld对象进行连接以进行更新和删除。在本例中,这是id属性(cable&supply_point)或customer_id(customers)。
9)检查输出
单击Writers>Redirect to FME Data Inspector关闭Smallworld writer并将其输出到Inspector。
保存工作区,然后运行它。
检查FME数据检查器中的输出。使用检查工具选择电缆和供电点,然后验证其属性。注意,对于插入的id(或customer s的customer_id)丢失。这是因为它是一个新功能,还没有创建“sys_id”。
接下来会发生什么:
特征类型 | 操作 | 特征计数 |
顾客 | 插入 | 四 |
电缆 | 删除 | 3 |
电缆 | 插入 | 七 |
补给点 | 删除 | 3 |
补给点 | 插入 | 3 |
补给点 | 更新 | 一 |
总计: | 二十一 |
10)写入输出
在FME Workbench中,单击Writers>Redirect to FME Data Inspector将输出定向到Smallworld writer。
暂停:你是在用正确的小世界替代品写作吗?
运行工作区。
打开“Smallworld Professional(core)-Smallworld core”应用程序。
使用“电网”书签放大橡树大道周围的感兴趣区域。
检查Smallworld中的输出。在Smallworld版本管理器中,双击“fme_updates”使其成为当前的替代方案。您可能需要刷新地理信息系统视图。
找到插入的电缆和电源点。
将fme_updates选项与顶部进行比较,以检测已删除的记录。
使用对象资源管理器定位插入的“客户”记录,因为如果没有几何图形,这些记录将不会显示在视图中。
供应点和使用中间联接表的Customer表之间存在关系。Smallworld 5编写器无法通过中间联接表创建联接,因此供应点尚未联接到其客户。您必须在Smallworld GIS对象编辑器中完成这项工作。
FME可用于导入具有直接联接(父/子)关系的对象。这些连接可以是简单的1:0..n简单连接、1:0..n异构连接或1:0..n多个连接。处理连接在Smallworld FME翻译文档-转换Smallworld RWOs-Join字段的字段(您需要从GE SupportCentral获得登录名)。您将在后面的文章中使用join字段。
插入的供应点具有标签,标签位置派生自供应点位置的几何图形。
在Smallworld版本管理对话框中,双击“开始”检查点以回滚到原始数据。
回到FME Workbench,修改工作区以将标签几何图形添加到新的供应点。暗示:使用偏移变压器。对工作区的更改将类似于上一节中向供应点添加标签的内容。
运行工作区并在Smallworld中检查重新插入的供应点现在是否有新的标签位置。
与Smallworld 4相比,FME为Smallworld 5编写器创建几何特征的方式有所不同。在Smallworld 5中要容易得多。下面的示例演示了如何在SmallWorld4中实现这一点。SimulWord 5编写器仍然支持这种旧的方法,因此,如果存在现有的工作区,它们将与SimulWord 5兼容,并且应该运行而无需更改它们。
©2019安全亚搏在线软件公司|法律