斯潘8
斯潘4
示例1:翻译结束后的FTP结果
在某些情况下,将翻译结果保存到某个地方是很有用的。
这里有一个fme_end_tcl脚本(我已经用它附加了一个工作区),它就是这样做的——请注意,它利用destdataset宏(在工作区中作为输出的位置发布)来查找输出文件,用于ftp目的:
包需要ftp
放置[数组名fme_macrovalues];
将“上载$fm_macrovalues(destdataset)”set server“某物。anotherthing.com“set user”accountnamegoesher“set passwd”passwordgoesher“set conn[::ftp::open$server$user$passwd]将“step 2”::ftp::cd$conn outgoing/servicesputs“step 3”::ftp::list$conn*puts“step 4”::ftp::put$conn$fm_macrovalues(destdataset)::ftp::close$connputs”上传完成”
当然,在生产中,您将包装各种::ftp::…“catch”中的内容,以便适当地标记错误。
包需要httpputs[http::geturl http://www.google.ca]显示如何获取URL并使用其内容(这里我只是打印出来,但是,如果在@tcl中调用它,它可以很容易地进入一个属性中。我非常喜欢这个想法,我们把它包装成一个新的变压器“urlfetcher”,这是从4300版开始的FME的一部分。附上一个例子(如果您想以另一种方式在映射文件或TCL脚本中使用该技术,则将底层映射文件代码粘贴到下面。)
tcl2 proc urlfetcher_fetch url \ package需要http;\ fme_setattribute_url_contents_\ if[catch fme setattribute url contents \[http::data[设置令牌$url]]\ errormsg \]\ \catch http::cleanup$token\如果否=是\fm_logmessage fm_error \“在Transformer UrlFetcher中检索url `$url'时出错:$errorMsg \”\}else \错误\“在transformer urlfetcher中检索url`$url'时出错:$errormsg\”;\}\}else \放入$token;\ catch http::cleanup$token\}\}
Factory_def*teefactory\Factory_name urlfetcher\input feature_type creator_created_1\output feature_type urlfetcher_output\@tcl2(“urlfetcher@value(url)”)。
您可以在以下位置阅读有关在tcl内部使用http的更多信息:网址:http://wiki.tcl.tk/1303.注意-我发现了一个问题,我们将记录为已知问题,即如果检索URL时出错,似乎FME过程本身会一直停留在退出状态。
proc get arcgisversion package require registry 1.0 set path hkey local machine\software\esri\arcinfo\desktop\8.0 set value[注册表获取$path realversion]返回$value set arcgisversion[getarcgisversion]
与FME一样,可能性是无限的。我想如果你喜欢的话,你可以把FME变成一个网络服务器,那就去玩吧!
?2019安全亚搏在线软件公司|合法的