span8
span4
前一:转换到PostGIS:创建,删除或截断表|下一个:从PostgreSQL到MapInfo的转换(非空间到空间)
通常,新的FME工作区创建的数据库表是传入数据的副本。但是,有时用户希望写入已经存在的数据库表。
当一个表已经存在时,工作区应该反映表模式(而不是源),这是通过从数据库导入该表的模式来实现的。当添加数据库写入器时,导入选项允许我们使用先前创建的数据库表的模式。
WritingToExisting.zip(包含工作区和数据)
1.检查现有PostGIS数据库
在开始之前,我们需要再次检查,以确保PostGIS数据库中的表存在。由于这是一个公共数据库,数据可以随时更改。
打开FME数据检查器,单击“打开”。在选择要查看的数据集对话框中,将格式设置为PostGIS和创建的PostGIS培训连接查看和检查PostGIS.如果您没有这个命名数据库连接,请单击下拉菜单并选择“添加数据库连接”,然后输入以下连接参数:
名称:PostGIS培训
端口:5432
数据库:fmedata
用户名:fmedata
密码:fmedata
接下来,单击Parameters按钮并单击Table List旁边的省略号以选择要读取的表。然后选择BikePaths,一旦选中,单击OK三次以打开数据集。
数据应该如下面的截图所示。如果稍有不同,那也没关系;我们将更新现有数据集以反映我们的数据。如果数据集丢失,请按照中说明重置数据库重置PostGIS培训数据库.
2.添加读者
现在我们知道表在数据库中(或者如果数据库缺失,您已经修复了它),我们可以开始我们的工作流了。亚搏在线
启动FME Workbench并创建一个空白工作区。从“阅读器”菜单中,选择“添加阅读器”。输入Esri Shapefile,并选择BikePaths_L。shp文件。单击OK将阅读器添加到画布中。
3.检查数据
让我们再次检查以确保我们要添加到数据库的新数据是相似的(数据库中的数据可能已经被更改到另一个城市)。单击阅读器特性类型以打开弹出菜单,然后选择查看源数据以打开可视化预览。
在2018.1及更老版本的FME中,点击Inspect按钮打开FME Data Inspector。
这里我们有一个数据集,包含了温哥华市内所有的大型自行车道。
4.添加的作家
数据确认后,可以添加PostGIS writer。要添加一个写入器,请单击“添加写入器”按钮。在添加作者对话框中,选择PostGIS作为格式,并选择PostGIS培训数据库(设置在查看和检查PostGIS)作为连接。
现在,我们将从现有表中导入模式,以便在写入器中使用:选择从数据集导入作为表定义,然后单击OK。
将出现一个Import Writer Feature Types对话框,从这里我们可以选择将从哪个表导入模式。在本例中,它们是与Writer数据集相同的位置(尽管这可能并不总是正确的)。点击参数按钮打开PostGIS参数对话框。
然后在Table List旁边单击省略号,然后从公共表中选择BikePaths。单击OK三次以添加模式定义。
所选表的模式定义现在被添加到工作区中。请注意,写入器特性类型是现有数据库表模式的副本(而不是标准工作区所创建的读取器特性类型)。您可以通过检查新添加的写入器特性类型来判断,因为它已经包含了BikePaths数据。此外,所有属性都是相同的。
5.设置“特性操作”和“表处理”
双击public。BikePaths写入功能类型以打开参数。检查Feature Operation参数是否设置为Insert,然后将Table Handling更改为Use Existing。这将允许我们添加更多的数据到表中,而不需要覆盖它或首先删除它。有关FME中数据库操作的更多信息,请参阅功能操作文档。
6.地图模式
现在需要连接读取器和写入器特性类型。将BikePaths_L读取器特性类型连接到公共。自行车道作家特征类型。如果单击每个箭头旁边的下拉箭头,您将注意到箭头是黄色和红色的,这意味着属性没有正确映射。这是由于PostGIS处理属性的方式;它的所有属性都是小写的,来自Shapefile的属性是混合大小写的。
要快速更正此错误,右键单击连接线并选择“自动连接属性”。如果您计划在写入数据之前修改属性或进一步转换数据,建议您使用带有AttributeManager选项的Replace Link。
7.运行工作区并检查结果
保存并运行工作区。一旦工作空间完成运行,单击公共区域。自行车路径作家功能类型,以打开弹出菜单。在弹出菜单上单击“查看已写数据”按钮以打开“视觉预览”。在2018.1或更早版本的FME中,单击Inspect按钮。
自行车道表现在应该有大的和中型自行车道在温哥华。注意,如果工作区运行不止一次,那么将重复添加新数据!
数据属性
这里使用的数据来源于由温哥华的城市不列颠哥伦比亚省。它包含了在温哥华开放政府许可证下许可的信息。请注意,培训PostGIS数据库中的数据并非全部来自温哥华市,因为它是一个公共数据库,任何人都可以上传数据。
©2020 S亚搏在线afe Software Inc |法律