span8
span4
在这个例子中,的SQLExecutortransformer将用于连接与GML文件的源特性相关的数据库表中的记录。我们有一个GML格式的火场数据集,以及一个名为PostalAddress的数据库表。这两个数据集都有一个公共地址字段。
FME将被用来在消防大厅阅读,然后使用SQLExecutor根据公共地址字段进行数据库连接,在PostalAddress表中选择匹配的记录。
注意:虽然本例主要关注PostGIS格式,它也适用于其他关系数据库格式,如Oracle和SQL Server。
The download sqlexecutor-join-201.fmwt is the complete workspace.如果您想自己创建工作区,请下载sourcegmldata.zip,并按照下面的步骤创建它。
完成的工作空间
1.检查源数据
FireHalls GML
添加一个GML阅读器,并将其设置为读取firehall . GML。使用数据检查器检查firehall .gml。使用“表视图”窗口查看文本记录。请注意,每个消防厅设施都有一个地址字段。此字段将用于匹配PostalAddress表的PostAddress字段。
FireHall.gml viewed with Data Inspector
PostalAddress表
使用foll在数据检查器中检查源PostalAddress表
将数据集设置为嵌入连接参数:
主持人:postgis.train.亚搏在线safe.com
端口:5432
数据库:fmedata
用户名:fmedata
密码:fmedata
将表列表的模式设置为fmedata2015,然后选择表格PostalAddress。
的PostalAddress将用于匹配消防大厅GML的字段地址字段。
使用数据检查器查看PostalAddress表
2.设置SQLExecutor
SQLExecutor将用于匹配数据库中每个GML Fire Hall设施的PostalAddress表中的地址记录。
以下SQL语句将GML记录加入数据库记录:
select * from fmedata2015."PostalAddress" where "PostalAddress" ='@Value(Address)'
使用SQL编辑器工具最容易创建SQL语句。一定要包括引用字符围绕最后一个@Value()部分!
使用Atributes公开参数,使SQL join添加的任何属性在工作台中可见,如果你想要的。
3.复制属性值
可以使用AttributeManager转换器复制或重命名属性。例如,重命名的名字属性从Fire Halls GML特性到OwnerName。
4.在数据检查器中检查输出
SQLExecutor生成数据检查器。
在数据检查器中查看SQLExecutor连接的结果
5.编辑SQL语句
SQLExecutor将SQL SELECT语句中的数据合并到Firehall特性中。还可以使用SQL语句进行SQL连接。
Firehall数据缺少CivicNo属性。这在AddressPoints表中。使用AddressID将CivicNo属性连接到Filehall记录。你可以使用第二个SQLExecutor,或者使用SQL连接。喜欢的东西:
选择一个,*b."CivicNo" FROM fmedata2015."PostalAddress" a,"fmedata2015"."AddressPoints" b WHERE "a"."PostalAddress" = '@Value(Address)' AND a."AddressId" = b."AddressId";
只要有可能,“让数据库做工作”!在一个SQL调用中尽可能多地执行操作。
©2019安全亚搏在线软件公司法律