第8页
第4排
注:文章更新至2018.1。演示视频仍然显示2016.1
简单地将数据写入数据库中的新表并不比将数据写入文件格式复杂得多。每个功能类型(表)都有许多参数,允许用户控制对该表的写入。
功能操作
操作通过一个称为特征操作的参数控制。此参数通知FME要对数据库执行什么操作。它的三个值是insert,更新,删除。
工作台处理
存在多个表处理参数以帮助创建或更新现有数据库表。
以下示例加载公共艺术数据,创建新表.然后演示如何使用表处理参数替换表。
注:虽然使用Postgis,此示例也适用于PostgreSQL和任何其他具有协调对话框的FME格式。
源代码是一个csv(逗号分隔)格式的温哥华公共艺术数据集。尽管csv数据是非空间的,如果存在包含X/Y坐标的列,FME中的csv阅读器可以创建点特征。
使用数据检查器查看公共艺术数据
1.添加csv阅读器
启动FME工作台,并从空白画布开始。
添加读卡器以读取csv数据。最简单的方法是从Windows资源管理器中将downtown.csv文件拖到工作台画布上。
弹出的添加读卡器对话框会自动填充格式和数据集。
单击参数按钮。在打开的对话框中,将属性定义参数更改为手动。将经度和纬度的字段类型设置为x_坐标和y_坐标:
这告诉读者在读取文件时从csv数据创建点。单击“确定”关闭“参数”对话框。
回到“添加读卡器”对话框,将坐标系设置为LL84:
每个点在读取时都会用这个坐标系进行标记。单击“确定”关闭“添加读卡器”对话框。
2.第二步。添加Postgis编写器
现在添加一个Postgis编写器。最简单的方法是从菜单栏中选择“编写器>添加编写器”。在“添加编写器”对话框中,将格式设置为Postgis。
对于数据集,选择在中创建的PostGIS培训数据库连接查看和检查PostGIS.如果没有此命名数据库连接,选择添加数据库连接参数的选项,然后,在打开的对话框中,输入连接参数:
…然后单击“保存”保存新连接。
回到“添加编写器”对话框,对于表定义,选择从读卡器复制,因此,源模式用于定义PostGIS表:
单击“确定”关闭“添加编写器”对话框。
三。定义表
关闭“添加编写器”对话框后,特性类型(表)将添加到工作台画布中。单击齿轮图标以访问此对象的参数对话框。
将表名从csv更改为downtown\u publicart。将表限定符设置为fmedemo。
表限定符与postgis reader参数中表列表的模式相同。每个数据库表都指定了它,因为可以使用同一个数据库编写器写入多个架构。
下面是定义如何处理表的对话框部分:
当我们在PostGIS数据库中创建一个新表并向其中添加数据时,功能操作保留为插入,表处理保留为创建(如果需要)。
注:
如果更新表而不是创建表-例如,表已经存在,这些csv记录将替换其内容-那么我们可以选择删除并创建(如果字段/属性也在更改)或截断现有的(如果字段/属性不会更改):
事实上,因为这是在共享数据库实例上运行的,选择Drop和Create可能更安亚搏在线全,如果此教程的另一个读者已经创建了表!
单击“确定”关闭对话框。
第四章。映射属性
当前未在此工作区中连接属性;主要是因为源属性有一个标题库名称,而writer属性有小写。
幸运的是,这个自动连接属性和用attributeManager替换链接函数可以很快解决这个问题。
首先右键单击连接并选择自动连接属性:
然后再次右键单击并选择用attributeManager替换链接:
5.运行工作区
单击工具栏上的绿色“播放”按钮以运行工作区。将读取数据,已映射,并写入输出数据库表。
在FME数据检查器中打开市中心的“PublicArt Postgis”表以查看结果:
至替换表的全部内容,请要使用的表处理参数是“drop and create”和“truncate existing”。
“截断现有”当需要清空表中的现有数据时使用,但不需要对其模式进行更新。“删除并创建”当需要清空表并更新数据库架构时使用。例如,如果希望用新内容更新表并要求向表中添加新列,请使用此选项。
当使用其中一种时,你想设置功能操作要插入的参数。当先清空现有表时,更新和删除将不起作用。
如果您从更新数据库辅导的:
这里使用的数据来源于温哥华市提供的开放数据,不列颠哥伦比亚(数据.couver.ca)。它包含根据开放政府许可证(温哥华)获得许可的信息。
?2019安全亚搏在线软件公司|法律