斯潘8
斯潘4
存储在数据库中的信息不太可能保持不变。当这些更改的源是其他地方的数据集时,必须进行批量更新。
在某些情况下,只需要更新数据库中的某些字段;即使在更新源中更改了列,它们不应该全部应用于数据库。
避免更新字段的方法是简单地将其从写入数据库的功能中删除,如下面的例子所证明的。
注:尽管这个例子使用了PostGIS数据库,同样的技术也适用于其他数据库。
源数据是温哥华市公园的数据集:
地图瓦片雄蕊设计,在下面CC-BY3.0.数据通过OpenStruts地图,在下面CC-BSA.
首先,必须将数据上传到Postgis数据库(已经存在此工作区)。然后,由于各种更新和重新评估,更新的数据集变得可用。然后必须将更新应用到Postgis表。
然而,其目的是只更新特征的几何图形,不是列值。
注:这基本上与这个练习,不包括属性更新。
1。创建数据库连接
如果您还没有准备好数据库连接(如本教程中的其他几个练习中所用),则必须立即创建它。
启动FME工作台。从菜单栏中选择工具>FME选项,然后从选项列表中选择数据库连接。
如果您已经有一个名为postgis训练数据库的连接,然后您可以跳到步骤2。否则,单击+按钮添加新连接:
在打开的对话框中,输入连接参数:
…然后单击“保存”保存新连接。
2。打开数据加载工作区
启动FME工作台,打开附件模板进行数据加载。
注:如果“导航器”窗口的“数据库连接”部分有红色突出显示,然后你要么跳过第一部分,或者您的连接名称不正确:
如果你根本没有联系,确保执行步骤1。如果创建了连接,但是它有一个不同的名字,然后您可以双击此参数来选择不同的版本。
三。运行工作区
工作区如下所示:
请注意,它只是从mapinfo选项卡格式读取公园数据(用于市中心区域),并将其加载到Postgis上的数据库表中。表处理处于拖放和创建模式(即它将被删除并完全替换为这个新的数据集)。
运行工作区。一旦完成-并检查数据以确保它是正确的-工作区可以关闭。
4。打开数据更新工作区
现在打开模板进行数据上载。工作区如下所示:
设置工作区是为了确定现有PostGIS数据库表和存储在MapInfo选项卡中的风场更新数据集之间的差异。这是两种读卡器功能类型。
这些差异将作为更新写回PostGIS数据库表。
检查属性管理器参数。为了避免更新字段,只需删除匹配的属性。在这种情况下,我们希望避免更新visitorcount和treecount字段,因此,在attributeManager中删除这些属性:
这样可以确保根据存储在故障模式与后果分析(由更新检测器转换器创建)其中parkID属性与parkID字段匹配。
7。检查数据并运行工作区
在运行工作区之前,检查城市公园表。记下访客人数和特里卡特多个记录的字段。这将确保我们可以比较结果以证明更新过程是成功的。
同时检查正在读取到工作区中的停车辅助数据。您应该看到一些Parksupdates功能已经更新特里卡特和访客人数与数据库表相比的属性:
运行工作区并检查修改后的数据库表。请注意,某些地方的特征几何结构发生了变化(例如,大教堂广场公园已被移除,赫尔姆肯公园的顶点比以前少了一个):
上述程序在PostGIS上进行了演示。然而,同样的过程也适用于大多数主要的数据库格式,已经协调的.
如果您的数据库格式有一个不协调的接口,然后必须应用以下内容。
这个福美达属性相当于在协调的GUI中设置match columns参数。格式应为[数据库字段][运算符][属性](即数据库字段应位于第一位)。运算符通常是等号运算(=)。
如果工作区更新失败,那么修复错误和重新运行工作区比平常更困难,因为数据库现在已部分更新。
所以,第一步是重置它。最简单的方法是重新打开数据加载模板并重新运行它。这将把表重置回原始状态。
要解决更新过程中的问题,检查以下内容:
这里使用的数据来源于温哥华市提供的开放数据,不列颠哥伦比亚(数据.couver.ca)它包含根据开放政府许可证(温哥华)获得许可的信息。
?2019安全亚搏在线软件公司|合法的