西班牙
斯潘4
例1:翻译一结束,翻译的ftp结果
在某些情况下,把翻译的结果转移到某个地方是很有用的。
下面是一个fme_end_tcl脚本(我已经用它附加了一个工作区),它可以做到这一点——请注意,它利用destdataset宏(在工作区中作为输出位置发布)来查找用于ftp的输出文件:
包需要ftp
放入[数组名fme_宏值];
放入“uploading$fme_macrovalues(destdataset)”set server“something.anotherthing.com”set user“accountnamegesere”set passwd“passwordgoesere”set conn[::ftp::open$server$user$passwd]放入“step 2”::ftp::cd$conn outgoing/services puts“step 3”::ftp::list$conn*puts“step 4”::ftp::put$conn$fme_macrovalues(destdataset)::ftp::close$conn将“上传完成”
当然,在生产中,您可以包装各种::ftp::…“catch”中的内容,以便您可以适当地标记错误。
包需要http puts[http::geturl http://www.google.ca]演示如何获取url并使用其内容(这里我只是将其打印出来,但是如果在@tcl中调用它,它可以很容易地进入属性)。我非常喜欢这个想法,所以我们把它包装成了一个新的转换器“urlphetcher”,它是fme的一部分,从4300开始。附加了一个示例(下面粘贴了底层映射文件代码,以防您希望以另一种方式在映射文件或tcl脚本中使用该技术)。
tcl2 proc urlphetcher\u fetch{url}{\package需要http;\ fme_setattribute_url_contents{};\如果{[catch{fme{u setattribute\u url\u contents\[http::data[set token$url]]\}errormsg\]}{\catch{http::cleanup$token};\如果{no={yes}{\fme_logmessage fme_error\“在transformer urlfetcher:$errormsg\”中检索url `$url'时出错;\}否则{\error\“在transformer urlfetcher:$errormsg\”中检索url `$url'时出错;\}}else{\puts$token;\ catch{http::cleanup$token};\}\}
factory_def*teefactory\factory_name urlphetcher\input feature_type creator_created_1\output feature_type urlphetcher_output\@tcl2(“urlphetcher_fetch{@value(url)}”)
有关在tcl内部使用http的更多信息,请访问http://wiki.tcl.tk/1303.注意——我发现了一个问题,我们将作为一个已知的问题来记录,如果检索到URL有一个错误,它似乎会在退出时挂起进程。
proc get arcgisversion{}{包需要注册表1.0设置路径{hkey\u local\u machine\software\esri\arcinfo\desktop\8.0}设置值[注册表获取$path{realversion}]返回$value}设置arcgisversion[getarcgisversion]
像往常一样,FME的可能性是无穷的。我想如果你喜欢的话,你可以把fme变成一个web服务器,所以继续玩吧!
?2019安全亚搏在线软件公司|合法的