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