西班牙
斯潘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 URLFETCHER \ INPUT FEATURE_TYPE CREATOR_CREATED_1 \输出FEATURE_TYPE URLFETCHER_OUTPUT \ @ TCL2( “URLFETCHER_fetch {@Value(URL)}”)
你可以阅读更多关于使用http的Tcl内http://wiki.tcl.tk/1303。注 - 一个问题,我没有发现,我们将记录作为一个已知的问题是,如果有检索网址的错误,似乎FME过程本身将挂在退出。
PROC getArcGISVersion {} {包需要对注册表进行1.0集路径{HKEY_LOCAL_MACHINE \ SOFTWARE \ ESRI \ ArcInfo的\桌面\ 8.0}设定值注册表中获得$ {路径} RealVersion]返回$ value}设置ArcGISVersion [getArcGISVersion]
像往常一样与FME,可能性是无限的。我想,这个你可以把FME到网络服务器,如果你喜欢它的感觉,所以,尽管有一些乐趣!
?2019安全亚搏在线软件公司|合法的