第8页
第4排
FeatureWriter允许您在工作流程中的任意点写入数据,亚搏在线不仅仅是在工作区的尽头,就像一个“传统”作家一样。这使您有机会发布处理结果。这个例子将涵盖使用FeatureWriter的一种潜在方法,其中包括后期处理和集成第三方工具。
对于FeatureWriter Transformer的概述,查看博客帖子:FME 2016潜峰:特色作家变压器
在传统的工作流程中,亚搏在线FME使用读写器功能类型读取数据和写入数据-请参阅附件中的工作区:FeatureWriter_begin.fmwt.此工作区从CAD文件读取,转换并验证数据,然后将结果写入地理包数据库。
注意:尽管这个例子写入了一个地理包数据库,适用于任何空间数据库,如ESRI地理数据库。SQL服务器,Oracle空间,波斯吉斯,等。
在所有的数据都被写入之后,这种方法对于额外处理的范围是有限的。您可以使用python或tcl shutdown脚本或数据库编写器sql在写入之前/之后运行,但是这些方法有一些局限性
FeatureWriter通过允许在工作流中间写入数据来扩展工作流的可能性,亚搏在线然后进行额外的数据转换。当需要在数据被写入之后对其进行某些操作时,这非常有用。
以下是特写的一些可能性,全部在一个工作区内完成:
1.以前用脚本或手动完成的简单程序:
2.需要使用WorkspaceRunner或FMeserverJobSubmitters链接工作区的复杂任务:
3.通知FME服务器
4.与第三方工具集成,用于FME中的数据转换,无需等待新的读卡器:
此FeatureWriter演示验证一个CAD数据集,并在编写完所有功能后将验证报告发送给数据验证管理器。
源数据是温哥华市供水网络的CAD文件,总水管,阀门,消防栓。数据集包含许多与水网对象相关的属性
这个FeatureWriter_begin.fmw工作区包括以下基本步骤:
1.读取CAD数据和转换属性
2.第二步。验证水网属性值
三。提取故障水网对象的错误信息和验证测试
第四章。将有效功能写入geopackage cadvalidationreport表
运行FeatureWriter_begin.fmw在FME数据检查器中工作并检查由此产生的地理包。
您将通过以下方式修改工作区:
可以用FeatureReader替换AutoCAD Reader。这将允许您预先处理数据,使用sqleexecutor清理数据库表或使用外部输入触发读取。在这个例子中,我们只使用creator转换器。
1.打开工作区FeatureWriter_begin.fmw
2.第二步。禁用,但不要删除,AutoCAD阅读器。
三。添加造物主变压器。
第四章。添加飞毛腿并选择Autodesk AutoCAD Map 3D对象数据格式和AutoCAD DWG文件:Coffwater小型.dwg.配置FeatureReader,如下所示:
在“AutoCAD参数”对话框中,确保取消选中将块分解为实体如下图所示:
选择要读取的要素类型下的所有AutoCAD图层
5.将输出端口连接到适当的属性管理器变压器(并非所有功能类型都需要连接)。
6.通过运行修改后的工作区来测试FeatureReader。如果结果看起来不错,删除AutoCAD Reader。
第七章。保存工作区。
现在您要将FeatureWriter添加到工作区,取代“传统”的地理包作者。
1.禁用,但不要删除,地理背包作家
2.第二步。添加FeatureWriter转换器并打开“参数”对话框。配置FeatureWriter参数:
现在我们可以对输出进行一些简单的后处理或验证。例如,可以使用sqleexecutor创建属性或空间索引。在这个工作区中,您将验证所编写的功能的数量。FME报告编写的功能的数量,但有时可能与插入数据库的功能的实际数量不匹配。如果您正在使用事务,并且其中一个插入失败,则会发生这种情况。在FeatureWriter编写完所有特性之后,您将添加一个sqlExecutor来检查数据库中的记录数。
1.将Inspector Transformer添加到FeatureWriter的摘要端口并运行工作区。FeatureWriter的摘要端口输出一个具有所有已写入功能类型列表的功能:
哪里?名称'是表名'计数是FME认为它写的功能的数量。
三。连接A列表分解器到FeatureWriter的摘要端口。选择功能类型列表。这将为编写的每个功能类型生成单独的摘要功能。
第四章。将SQLExecutor连接到ListExplorer的元素端口。生成以下查询:
从“@value(name)”中选择count(*)作为“rows”
这将查询数据库并返回“name”属性中每个表的行数。
5.添加一个testfilter来比较所写功能与所写功能的“count”值。sqlexectutor返回的“rows”值。
6.添加检查器,然后运行工作区并检查结果。
清理
第七章。最后一步,如果您认为所有更改都正常工作,将删除原始的autocad阅读器和原始的geopackage writer,并清理您的工作区。保存您的工作。
附件中的工作区特写员_final.fmwt您还可以研究一些其他想法:
JSON阅读器:在最终工作区中,我们使用JSON阅读器启动FeatureReader-这将允许您将此工作区发布到FME服务器,并使用目录观察程序发布来驱动验证。
Dropbox连接器:Dropbox连接器允许您将地理包数据库文件移动到Dropbox文件夹。如果您没有Dropbox帐户,则需要禁用此转换器。或者尝试其他连接器之一:Google DriveConnector,一个驱动器连接器,接线盒连接器。
电子邮件发送者:最后一个工作区包含一个电子邮件发送程序,该电子邮件发送验证地理包数据库文件给朋友。您需要使用自己的电子邮件帐户信息配置电子邮件发送器,或者禁用转换器以避免错误。
注意:如果没有为您的电子邮件帐户正确配置电子邮件程序,演示工作区将返回警告。必要的配置可以包括正在配置SMTP对于Gmail,生成一个应用程序特定密码如果使用两步身份验证。与Dropbox连接器相同。如果你没有合适的账户,关掉这些变压器
?2019安全亚搏在线软件公司|法律