主题:“启动脚本”中的问题 https://knowledge.亚搏在线safe.com/questions/topics/single/29856.html The latest questions for the topic "startup script" 读取文件中功能的启动脚本 https://knowledge.亚搏在线safe.com/questions/85086/startup-script-that-reads-features-in-file.html

Hello,

我正在开发一个启动python脚本,它将查看传入文件并列出该文件中的功能类型。然后与另一个强制功能类型列表进行比较。本质上,我想确保文件中存在所需的特性类型。我对巨蟒还比较陌生,还在学习,但是任何指导都是有帮助的。

导入FmeObjects

进口FME

类FmeFeature(对象):

value=fme.macrovalues['sourcedataset_autocad_od']

fme.getFeatureType(值)

#不确定下一步该做什么

谢谢您!

蟒蛇 FME桌面2018 启动脚本 结婚,2019年1月9日18:21:36格林尼治标准时间 DavID-Poalk88
启动脚本中的可用目标数据集 https://knowledge.亚搏在线safe.com/questions/68971/available-destination-dataset-in-start-up-script.html

logfile-locked-txt.txt文件

logfile-unlocked-txt.txt文件

startupscript-destinationdatasetlock.txt开始

你好!

我正在尝试在FME桌面2016.1中构建一个启动脚本,它将检查目标数据集是否可用于写入或不可写入。如果有空的话,我想发个短信告诉我,如果不是的话,我希望翻译失败,告诉我原因(而不是持续一个小时以上,在翻译结束时告诉我失败了)。

我的想法是我有一个脚本,可以在所有工作台上使用,不管工作台在做什么。所以我试着在启动脚本中修复它,而不是用变形金刚。

我用python编写了一个脚本,这给了我一个很好的例外,当我运行翻译…

However,it also gives the exception when the destinationdataset is still available (not locked by me on purpose),它不应该让例外…

我错过什么了吗?

Thanks for the help!

脚本:

import fmeimport fmeobjectsimport os# Raise exception if the Writer destination is locked (before translation!)# Create an empty list,稍后,我们将添加destinationt datasets.destDataset_list=[]destDataset=“destDataset”print的位置\n'创建一个FME日志文件。logger=fmeobjects.fme log file()只打印目标数据集,and put them in a list.for key,fme.macrovalues.items()中的值:打印“键:”+str(key)+“,value macrovalues:“+str(value)在de macrovalues字典中查找文本destdataset,#如果找不到字符串,则返回“-1”。如果key.find(“destDataset”)!=-1:我找到空的DestDataset字符串,想跳过这些。如果len(str(value))>3:list test=0我将测试数据的位置是否全部包含在列表中(同一地理数据库中的多个功能类仍然提供相同的destdatset)。for DestDataset_item_test in DestDataset_list:                if DestDataset_item_test == value:                   listtest += 1            # If the DestDatset is not yet in the list,我们将它附加到列表中。如果listTest==0:destDataset_list.append(value)print“value destDataset_list:”+str(value)print“\n”print“lengte destDataset_list:”+str(len(destDataset_list))for destDataset_item in destDataset_list:print“destDataset_item:”+str(destDataset_item)print“\n”for destDataset_item in destDataset_list”:对于列表中的每个目标集,测试位置是否已就绪…如果os.path.exists(destDataset_item):print“目标数据集:”+str(destDataset_item),请尝试:如果它存在,尝试移除它。os.remove(destdataset_item)logger.logmessagestring('toegang op'+destdataset_item+'是beschikbaar!')打印'toegang op'+destdataset_item+'是beschikbaar!'#如果不能移除,raise an exception because it is probably locked...除了e:logger.logmessagestring(“geen toegang op”+desttataset ou item+“\n”)引发异常(“geen toegang op”+desttataset ou item+“\n”)。

日志文件锁定

2018-04-26 08:59:12|   0.2|  0.2|INFORM|FME 2016.1.2.1 (20160929 - Build 16674 - WIN32)2018-04-26 08:59:12|   0.2|  0.0|INFORM|FME_HOME is 'C:\apps\FME\'2018-04-26 08:59:12|   0.2|  0.0|INFORM|FME Desktop Oracle Edition (floating)2018-04-26 08:59:12|   0.2|  0.0|INFORM|Permanent License.2018-04-26 08:59:12|   0.2|  0.0|INFORM|Machine host name is:guvdc223-30162018-04-26 08:59:12 0.2 0.0通知启动-进程ID:10648,峰值进程内存使用量:32036 KB,当前进程内存使用量:32036 kb2018-04-26 08:59:12.2.0 0.0;inform;fm配置:命令行参数为'C:\app\fm\fme.exe'`g:/beheer/gis/tool/fme/test _map/startupscrip/fm\wb-xlate-15247259505566''log Standout''yes''logcountserve'`;90604bab-B841-4590-4590-8f26-68f26-68A64731644f473164f4-2 123; f2-90604bab-B125;'2018-04-26 08:59:12 0.4 0.2信息rm使用fme提供的“c:\apps\fme\fme python27\python27.dll'2018-04-26 08:59:12.4.0.0;通知;Pytho版本2.7成功加载2018-018-04-26 08:59:12.5.1.1;fme fme \;fme \\\\\\\ fmepythththon27\python27\python27.dll'2018-2018-2018-04-04-26 0通知geen toegang op g:\heeer\gis\tools\fme\test_map\ Startupscript\Output2018-04-26 08:59:12 0.5 0.0错误python异常
       
        :geen toegang op g:\beheer\g is\tools\fme\test_map\startupscript\output2018-04-26 08:59:12 0.5 0.0 error error executing string` import fme import fmeobjectsimport os在写入程序目标被锁定时引发异常(翻译前!)#创建一个空列表,稍后,我们将添加destinationt datasets.destDataset_list=[]destDataset=“destDataset”print的位置\n'创建一个FME日志文件。logger=fmeobjects.fme log file()只打印目标数据集,and put them in a list.for key,fme.macrovalues.items()中的值:打印“键:”+str(key)+“,value macrovalues:“+str(value)在de macrovalues字典中查找文本destdataset,#如果找不到字符串,则返回“-1”。如果key.find(“destDataset”)!=-1:我找到空的DestDataset字符串,想跳过这些。如果len(str(value))>3:list test=0我将测试数据的位置是否全部包含在列表中(同一地理数据库中的多个功能类仍然提供相同的destdatset)。for DestDataset_item_test in DestDataset_list:                if DestDataset_item_test == value:                   listtest += 1            # If the DestDatset is not yet in the list,我们将它附加到列表中。如果listTest==0:destDataset_list.append(value)print“value destDataset_list:”+str(value)print“\n”print“lengte destDataset_list:”+str(len(destDataset_list))for destDataset_item in destDataset_list:print“destDataset_item:”+str(destDataset_item)print“\n”for destDataset_item in destDataset_list”:对于列表中的每个目标集,测试位置是否已就绪…如果os.path.exists(destDataset_item):print“目标数据集:”+str(destDataset_item),请尝试:如果它存在,尝试移除它。os.remove(destdataset_item)logger.logmessagestring('toegang op'+destdataset_item+'是beschikbaar!')打印'toegang op'+destdataset_item+'是beschikbaar!'#如果不能移除,raise an exception because it is probably locked...除了e:logger.logmessagestring(“geen toegang op”+desttataset ou item+“\n”)引发异常(“geen toegang op”+desttataset ou item+“\n”)'2018-04-26 08:59:12 0.5 0.0错误fme ou begin ou python未能执行提供的脚本2018-04-26 08:59:12 0.5 0.0通知fme会话持续时间:1.1秒。(CPU:0.2s用户,0.3s系统)2018-04-26 08:59:12 0.5 0.0通知结束-进程ID:10648,峰值进程内存使用量:42848kb,当前进程内存使用量:42848 KB
       

日志文件已解锁

2018-04-26 08:58:00|   0.1|  0.1|INFORM|FME 2016.1.2.1 (20160929 - Build 16674 - WIN32)2018-04-26 08:58:00|   0.1|  0.0|INFORM|FME_HOME is 'C:\apps\FME\'2018-04-26 08:58:00|   0.1|  0.0|INFORM|FME Desktop Oracle Edition (floating)2018-04-26 08:58:00|   0.1|  0.0|INFORM|Permanent License.2018-04-26 08:58:00|   0.1|  0.0|INFORM|Machine host name is: GUVDC223-30162018-04-26 08:58:00|   0.1|  0.0|INFORM|START - ProcessID: 9940,峰值进程内存使用量:31588kb,当前进程内存使用情况:31588 K2018-04-26 08:58:00.1.0.0;通知;FME配置:命令行参数为'C:\app\fm\fme.exe'`G:/Beheer/gis/tool/fme/test _map/startupscrip/fme\wb-xlate-15247255878594'`Log标准输出'是'`Log计数服务器'`;0286263D-DAFB-4904-4904-86BC-19BB5FBC0A5e \\\;;;;; FB5FBC0A5E-15A5e \'2018-04-26 08:58:00 0.3 0.2信息rm使用fme提供的“c:\apps\fme\fme python27\python27.dll'2018-04-26 08:58:00.3.0.0;通知;Pytho版本2.7成功加载2018-018-04-26 08:58:00.5.1.1;fme fme \124fmebe开始:从字符串评估pyththon脚本…2018-04-04-26 08-26 08:58:58:00.5.5.5.5.5.5通知geen toegang op g:\heeer\gis\tools\fme\test_map\ Startupscript\Output2018-04-26 08:58:00 0.5 0.0错误python异常
       
        :geen toegang op g:\beheer\g is\tools\fme\test_map\startupscript\output2018-04-26 08:58:00 0.5 0.0 error error executing string` import fme import fmeobjectsimport os在写入程序目标被锁定时引发异常(翻译前!)#创建一个空列表,稍后,我们将添加destinationt datasets.destDataset_list=[]destDataset=“destDataset”print的位置\n'创建一个FME日志文件。logger=fmeobjects.fme log file()只打印目标数据集,and put them in a list.for key,fme.macrovalues.items()中的值:打印“键:”+str(key)+“,value macrovalues:“+str(value)在de macrovalues字典中查找文本destdataset,#如果找不到字符串,则返回“-1”。如果key.find(“destDataset”)!=-1:我找到空的DestDataset字符串,想跳过这些。如果len(str(value))>3:list test=0我将测试数据的位置是否全部包含在列表中(同一地理数据库中的多个功能类仍然提供相同的destdatset)。for DestDataset_item_test in DestDataset_list:                if DestDataset_item_test == value:                   listtest += 1            # If the DestDatset is not yet in the list,我们将它附加到列表中。如果listTest==0:destDataset_list.append(value)print“value destDataset_list:”+str(value)print“\n”print“lengte destDataset_list:”+str(len(destDataset_list))for destDataset_item in destDataset_list:print“destDataset_item:”+str(destDataset_item)print“\n”for destDataset_item in destDataset_list”:对于列表中的每个目标集,测试位置是否已就绪…如果os.path.exists(destDataset_item):print“目标数据集:”+str(destDataset_item),请尝试:如果它存在,尝试移除它。os.remove(destdataset_item)logger.logmessagestring('toegang op'+destdataset_item+'是beschikbaar!')打印'toegang op'+destdataset_item+'是beschikbaar!'#如果不能移除,raise an exception because it is probably locked...除了e:logger.logmessagestring(“geen toegang op”+desttataset ou item+“\n”)引发异常(“geen toegang op”+desttataset ou item+“\n”)'2018-04-26 08:58:00 0.5 0.0错误fme ou begin ou python未能执行提供的脚本2018-04-26 08:58:00 0.5 0.0通知fme会话持续时间:0.9秒。(CPU:0.1s用户,0.3s系统)2018-04-26 08:58:00 0.5 0.0通知结束-进程ID:9940,峰值进程内存使用率:41372 KB,当前进程内存使用量:41372 KB
       

蟒蛇 启动脚本 目标数据集 清华大学,2018年4月26日14:33:35格林尼治标准时间 卡斯珀
用于标识启动/关闭脚本存在的工作区读卡器 https://knowledge.亚搏在线safe.com/idea/67516/workspace-reader-to-identify-the-existence-of-star.html

这种特性将帮助我们审计和代码审查FME工作区。

变压器 读者 关机脚本 启动脚本 结婚,2018年4月4日18:43:09格林尼治标准时间
Passing Parameters from a Python Script Tool to a FME Workspace? https://knowledge.亚搏在线safe.com/questions/58082/passing-parameters-from-a-python-script-tool-to-a.html

我已经创建了一个python脚本工具,它创建了一个自定义的分阶段项目文件夹,其中包含所有的autocad图纸(.dwg)和一个文件geodatabase(.gdb),并根据我们提交的要求使用正确的命名约定。我还创建了一个FME工作区,可以读取指定的.dwg,然后创建/写入.gdb的特性。

我想执行python脚本工具作为一个启动python脚本来构建项目文件夹,然后将存储在已创建文件夹中的.dwg和.gdb作为src/dst或读/写在fme工作区中。我相信这或是一些能够实现同一个最终目标的事情是可能的。我发现了相反的类似问题(将参数从fme传递到python脚本)。到目前为止,我在搜索中还没有找到正确的文档。

感谢您的帮助。

参数 启动脚本 清华大学,2017年11月16日15:14:34格林尼治标准时间 丹尼斯斯蒂芬森
快速禁用/启用启动/关闭脚本 https://knowledge.亚搏在线safe.com/idea/53657/quickly-disableable-startupshutdown-scripts.html

如果能够快速启用/禁用启动/关闭脚本,而不必对所有内容进行注释或删除所有文本,那就太好了。可能是导航器树中的右键单击选项,其中“启用”和“禁用”作为选项。

启动脚本 结婚,2017年9月20日16:14:10格林尼治标准时间 MMCART
python脚本不会作为启动脚本运行,而是在空闲状态下运行 https://knowledge.亚搏在线safe.com/questions/53044/python-script-will-not-run-as-startup-script-but-r.html

嗨,大家好,

我有一个python脚本可以在空闲状态下成功运行,但是,当我将同一个脚本复制并粘贴到我的工作台中的Startuppython脚本框中时,脚本失败。

下面是脚本:
#导入模块
进口弧度
import arcgisscripting
导入ArcEditor
arcpy.env.overwriteOutput=真
arcpy.env.workspace=“c:\users\graup\appdata\roaming\esri\desktop10.3\arccatal\connection to nrgissqls03 www_gis user.sde\www_gis.gis_admin.wastewaterdataset”

#局部变量:
www_gis_gis_admin_rmon_san_gravitymain=“c:\users\graup\appdata\roaming\esri\desktop10.3\arcCatalog\connection to nrgissqls03 www_gis user.sde\\www_gis.gis_admin.wastewaterdataset\\www_gis.gis_admin.rmon_san_gravitymain”
rmon ou san ou gravitymain ou route ou output=“h:\\o.10 ou operating ou projects\\linear ou referenceing\\reference\\linear referenceing shannon working\\linear ou referenceing ou working.gdb\\rmon ou san ou gravitymain ou route ou sde ou connection”
#流程:创建管线
arcpy.CreateRoutes_lr(www_gis_GIS_ADMIN_RMoN_San_GravityMain,“GISObjID”,Rmon-San_重力主路线输出,“长度”,“““左上”“1”“0”"IGNORE",“索引”

下面是我在工作台中尝试在启动时遇到的错误:
python异常 :执行失败。参数无效。

错误000732:输入行功能:数据集C:\users\graup\appdata\roaming\esri\desktop10.3\arccatalog\connection to nrgissqls03 www_gis user.sde\www_gis.gis_admin.wastewaterdataset\www_gis.gis_admin.rmon_san_gravitymain不存在或不受支持

警告000725:输出路由功能类:数据集H:\O.10_operating_projects\linear_reference\reference\linear reference shannon working\linear_reference_working.gdb\rmon_san_gravitymain_route_sde_连接已存在。

执行失败(CreateRoutes)。

想知道是否有人曾经经历过这个问题,或者知道原因是什么。

谢谢。

蟒蛇 ESRI 启动脚本 结婚,2017年9月13日格林尼治标准时间21:03:08 香农13
python-clear登录引发异常 https://knowledge.亚搏在线safe.com/idea/49021/python-cleaner-log-on-through-exception.html

Is it possible to have a cleaner log output when throwing an Exception,例如,在python启动脚本中?

这样我们就可以看到异常消息,而不显示整个python脚本。也许其他人更喜欢这个,but for me it was confusing thinking there is an issue with the Python rather than the thrown Exception.

python脚本 启动脚本 Fri,2017年7月28日12:50:58格林尼治标准时间 MARK1空间
使用外部编辑器进行Python编码 https://knowledge.亚搏在线safe.com/idea/48806/use-external-editor-for-python-coding.html

我已经看到建议应该在FME桌面上添加一个IDE。听起来糟透了。更多的东西可以打破和需要更新。

我同意,然而,需要更好地处理脚本。那为什么不允许吃蟒蛇呢?以及启动和关闭脚本功能,以及任何未来的脚本功能,加载外部文件?对,我知道你可以把外部文件作为模块加载,但是您仍然需要在FME的一个编辑器中编写一个脚本,脚本才能这样做,他们不知道打字错误之类的,据我所知,就是这样。

我看到眼前,在当前编辑器中打开对话框的简单按钮,一个对话框,从中可以指向外部python文件,这将解决很多问题。然后你就可以在你最喜欢的IDE中编写一个脚本,让FME加载文件并运行它,再编辑一下脚本,and have FME rerun the workbench,而且,您不必担心语法错误和类似的事情(前提是您的IDE支持处理这些错误)。

蟒蛇 pythoncaller 关机脚本 启动脚本 结婚,2017年7月26日格林尼治标准时间15:28:56 帕尔斯马尔斯
将python生成的值返回到已发布参数时出现问题 https://knowledge.亚搏在线safe.com/questions/42855/problem-returning-python-generated-value-to-publis.html

您好!

I have an FME process that uses as its inputs a GDB file and its associated XML schema file.我想在运行时从gdb生成XML,我有一个python启动脚本可以在esri中完成这项工作。我的问题是填充XML阅读器的参数以设置位置(对于生成的文件)。我读过一些文章和以前的问题,这个似乎就是我要找的,尽管我不懂巨蟒/对它不熟悉,我无法使解决方案对我有效-为无知道歉。

https://knowledge.亚搏在线safe.com/questions/4296/set-published-parameters-in-a-python-startup-scrip.html(https://knowledge.safe.com/questions/4296/set-published-parameters-in-a

我想我需要在我的当前脚本中添加“import fmeobjects”和“return resultsxml”(如下)。但当我这样做时,我会得到一个关于返回语句在函数之外的错误。I don't know how to place it inside a function,..请帮忙。

假设有效,how do I expose it within FME?我在想一个已发布的参数,我可以在阅读器中使用,或者传递给一个FeatureReader?

My workaround at the moment is to recalculate the ResultsXML/XML location from the GDB location,但是让它从启动脚本开始工作会更整洁。

任何帮助,非常感谢

Thanks

玛丽

在我的测试场景中:

FME-FMW

/数据-包含gdb源文件,although this file could be sourced from anywhere

/input-在这里我从python/esri输出XML文件

/输出-我输出FME过程的地方

启动python脚本:

导入操作系统
导入系统
sys.path.append(“C:\\python27\\arcgis10.4\\lib\\site packages”)。
sys.path.append(r'c:\Program Files(x86)\arcgis\desktop10.4\arcpy')
sys.path.append(r'c:\program files(x86)\arcgis\desktop10.4\arctoolbox\scripts')
sys.path.append(r'c:\Program Files(x86)\arcgis\desktop10.4\bin')
sys.path.append("C:\\Python27\\ArcGIS10.4\\Lib")
进口弧度
进口FME
进口再

#从fme.macro值
路径=fm.宏值['fm_mf_dir']
dir1=fme.macrovalues['源代码'gdb']
# current path = C:\temp\
#当前目录1=c:\temp/data/test.gdb
#所需的dir2=c:\temp\input\test.xml
#抓取gdb文件名分配给fname var

newpath=dir1.split(“\”)。
fname=newpath[-1].replace(“.gdb”,.xml”)
#构造所需的XML路径
dir2=路径+“输入/”+fname
#通过Arcgis生成XML
MyGDB=DR1
结果xml=dir2
打印(“正在处理%s”%mygdb)
##仅当文件存在时删除##
如果os.path.exists(resultXML):
os.remove(结果xml)
其他:
print(“无法删除现有文件%s.”%resultXML)
arcpy.exportxmlworkspace文档管理(mygdb,结果XML“SimaAuthION”,“二进制”“元数据”
蟒蛇 启动脚本 清华大学,2017年4月13日13:46:50格林尼治标准时间 马威
如何从python启动脚本访问已发布的参数 https://knowledge.亚搏在线safe.com/questions/39517/how-to-access-a-published-parameter-from-a-python.html(https://knowledge.safe.com/questions/39517/how-to-access-a-publishe

在python启动脚本中,I want to access Published parameters (to test whether an Oracle non-spatial Source Dataset connection is to our test or production environment).但我在文档中看到的唯一例子是tcl启动脚本。If anyone has an example of accessing published parameters in a Python startup script that would be very helpful.

已发布参数 启动脚本 Fri,2017年2月3日格林尼治标准时间01:33:28 伊库科卡
arcpy“import”语句尝试执行导入操作? https://knowledge.亚搏在线safe.com/questions/37659/arcpy-import-statement-trys-to-perform-import-act.html

在我的启动脚本中,我使用“导入arcpy”来创建一个新版本的arcsde数据库。我把python解释器改为C:\windows\sysw64\python27.dll。

我的代码(一些“私密部分”伪装成

导入系统导入日期时间导入arcpyimport fmeinworkspace=r'
       
        budata/arcsde connecties/gabuapp_areaaldata.sde'parentversion='sde.default'versionname='gisibsync_uu'+datetime.datetime.now().strftime('%y%m%d_uuh%m%s')arcpy.createversion_management(inWorkspace,parentversion,versionname,“public”)。
       

令我惊讶的是,在运行时,启动脚本似乎试图创建一个Autodesk 3DS Reader(在下面的输出中以粗体显示)。这很奇怪,因为我的FME工作区只包含OracleSpace和ArcSDE阅读器。It also seems that this reader is trying to read the ArcGIS toolboxes (!).

更奇怪的是:在一个读者的不成功创作之后,启动脚本继续,最后创建ArcSDE数据库版本。

开始翻译…

2016-12-14 09:05:02 0.8 0.8通知FME 2015.0(20150217-构建15253-win32)

2016-12-14 09:05:02 0.8 0.0通知fme_home is'C:\程序文件(x86)\fme\'

2016-12-14 09:05:02 0.8 0.0通知FME桌面Oracle版本(浮动)

2016-12-14 09:05:02 0.8 0.0通知永久许可证。

2016-12-14 09:05:02 0.8 0.0通知机器主机名为:

2016-12-14 09:05:02| 0.8| 0.0|INFORM|START - ProcessID: 1136,peak process memory usage: 53012 kB,当前进程内存使用量:53012 KB

2016-12-14 09:05:02 0.8 0.0通知FME配置:命令行参数为'C:\Program Files(x86)\FME\FME.exe'`D:/Git ou repo/etl/geodatabase ou writer\wb-xlate-1481702696704 ou 1512'`Log ou Standardout'`Yes'`LogCountServerName'` C70fed7A-9180-42A0-A51C-7F03E505C4B8'

2016-12-14 09:05:03 1.0 0.2通知使用C:\windows\sysw64\python27.dll中用户指定的python解释器

2016-12-14 09:05:03 1.0 0.0通知python版本2.7成功加载

2016-12-14 09:05:03 1.0 0.0通知fme begin _python:从字符串评估python脚本…

2016-12-14 09:05:12| 8.8| 7.8|INFORM|FME Extension for ArcGIS (9) (20140217 - Build 14241 - WIN32)

2016-12-14 09:05:12| 8.8| 0.0|INFORM|FME 2015.0 (Build 15253)

2016-12-14 09:05:25 20.2 11.4通知创建格式阅读器:Autodesk 3DS

2016-12-14 09:05:25 20.2 0.0通知尝试为名为“3DS”的阅读器查找动态插件

2016-12-14 09:05:25 20.3 0.0通知从文件“C:\Program Files(x86)\fme\plugins/3ds/3ds.dll”加载模块“3ds”

2016-12-14 09:05:25| 20.3| 0.0|INFORM|FME API version of module '3DS' matches current internal version (3.7 20141021)

2016-12-14 09:05:25 20.3 0.0通知创建格式阅读器:Autodesk 3DS

2016-12-14 09:05:25 20.3 0.0通知尝试为名为“3DS”的阅读器找到动态插件

2016-12-14 09:05:25| 20.3| 0.0|INFORM|FME API version of module '3DS' matches current internal version (3.7 20141021)

2016-12-14 09:05:25 20.3 0.0通知3DS阅读器:在可变功能类型模式下阅读

2016-12-14 09:05:25 20.3 0.0通知3dsreader:opening dataset:'c:/program files(x86)/arcgis/arcgis data reviewer/desktop10.2/arctoolbox/toolbox/data reviewer tools.tbx'

2016-12-14 09:05:25 20.3 0.0错误3DS阅读器:加载文件失败:'C:/Program Files(x86)/Arcgis/ArcgisDataReviewer/DeskTop10.2/ArcToolbox/Toolbox/Data Reviewer Tools.tbx'

2016-12-14 09:05:25 20.3 0.0错误3DS阅读器:打开数据集时出错:'C:/Program Files(x86)/Arcgis/ArcgisDataReviewer/Desktop10.2/ArcToolbox/Toolbox/Data Reviewer Tools.tbx'

2016-12-14 09:05:25| 20.3| 0.0|INFORM|3DS Reader: Closing reader

2016-12-14 09:05:25| 20.3| 0.0|WARN |UniversalReader -- readSchema resulted in 0 schema features being returned

2016-12-14 09:05:25 20.3 0.0 warn reader参数(0)=>C:\程序文件(x86)\arcgis\arcgis data reviewer\desktop10.2\arctoolbox\toolbox\data reviewer tools.tbx<

2016-12-14 09:05:25 20.3 0.0 warn reader directive(0)=>唯一的_id_属性<

2016-12-14 09:05:25 20.3 0.0警告读卡器指令(1)=>FME _功能<

2016-12-14 09:05:25 20.3 0.0警告读卡器指令(2)=>持久缓存<

蟒蛇 拱形的 启动脚本 结婚,2016年12月14日08:28:08格林尼治标准时间 geejeedds
启动命令行命令 https://knowledge.亚搏在线safe.com/questions/37494/startup-command-line-command.html

Hello,

我配置了一个系统调用者来删除指定目录中的所有文件和子目录,不删除指定的目录。原来,计划是把这个放在工作区的尽头,但是现在,我们希望在工作区开始时清空目录,在启动任何读卡器之前。我知道这可以用一个启动python脚本来完成,但是我想知道是否有一种方法可以调用启动命令行命令(这样我就可以使用我已经编写的代码)。我想把我的第一个读者换成一个专长。then using a creator to initiate the SystemCaller,然后让系统调用程序启动FeatureReader…but I was wondering if there was a more direct way to do this?

谢谢!

考特尼

系统调用方 启动脚本 清华大学,08 Dec 2016 16:50:13 GMT 考特尼耶
将来自python的日期作为已发布参数传递 https://knowledge.亚搏在线safe.com/questions/36190/passing-a-date-from-python-as-a-published-paramete.html

我正在尝试创建一个工作区,在运行时将当前日期拉入python(作为启动脚本或python调用者),然后在fme中将该日期作为已发布参数传递出去。我在python中有以下内容:

导入日期时间
today = datetime.datetime.now()
#打印str(今天)
今天打印.strftime(“%y%m%d”)

这告诉我(今天)的日期是20161103

我想把它作为一个已发布的或私有的参数[开始日期]传递出去,以便在稍后的过程中在转换器中读取。

我还需要能够计算出两周后的日期,并将其作为[结束日期]。

蟒蛇 pythoncaller 启动脚本 Python创建者 清华大学,03 Nov 2016 18:24:15 GMT JIMQ66
带常规变压器的启动和关闭脚本 https://knowledge.亚搏在线safe.com/idea/27309/startup-and-shutdown-scripts-with-regular-transfer.html

如果可以使用常规的变压器创建简单的启动和关闭脚本,那就太好了。这可以例如be implemented using functionality similar to custom transformers:

当您创建一个新的工作区时,“启动”和“关闭”选项卡将始终可见,并且具有固定的输入/输出端口。这可以补充现有的脚本可能性(python,Tcl),对于初学者和那些很少或没有编程经验的人来说更容易。

桌面 python脚本 关机脚本 启动脚本 GUI Fri,2016年4月8日15:42:27格林尼治标准时间 戴维德
Published Parameter use within a Startup or Shutdown Script https://knowledge.亚搏在线safe.com/articles/1256/published-parameter-use-within-a-startup-or-shutdo.html


例1

示例1:翻译结束时的FTP结果

在某些情况下,将翻译结果保存到某个地方是很有用的。

这里有一个fme_end_tcl脚本(我已经用它附加了一个工作区),它就是这样做的——请注意,它利用destdataset宏(在工作区中作为输出的位置发布)来查找输出文件,用于ftp:

包需要ftp

puts [array names 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$conn puts”上传完成”

Of course,在生产中,您将包装各种::ftp::…“catch”中的内容,以便适当地标记错误。

Example 2

示例2:将URL提取到属性中

For the screenscrapers amongst you,TCL的这个小片段:

包需要httpputs[http::geturl http://www.google.ca]
显示如何获取URL并使用其内容(这里我只是打印出来,但是,如果在@tcl中调用它,它可以很容易地进入一个属性中。I liked the idea so much we wrapped it up into a new transformer "URLFetcher",这是FME截至4300年构建的一部分。附上一个例子(如果您想以另一种方式在映射文件或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过程本身似乎会一直停留在退出状态。

例3

示例3:在注册表中检查设置

Here's an example where you check the registry to see what version ArcGIS is there,presumably to do some kind of nice error message or ??如果不是的话。
proc getArcGISVersion {} {     package require registry 1.0     set path {HKEY_LOCAL_MACHINE\SOFTWARE\ESRI\ArcInfo\Desktop\8.0}     set value [registry get $path {RealVersion}]     return $value}set ArcGISVersion [getArcGISVersion]

与FME一样,the possibilities are endless.我想如果你喜欢的话,你可以把FME变成一个网络服务器,那就去玩吧!

亚搏在线 已发布参数 关机脚本 启动脚本 TCL 清华大学,2015年10月8日19:15:56格林尼治标准时间 丹纳特保险亚搏在线箱