今天和同事调试了一个用户发来的ModelBuilder,咋一看,模型做得还好呀,每个工具的调用和参数设置都很有逻辑
但是一点击运行后,在第一步模型就运行失败了
原来用户使用的是相对引用路径,但是路径中存在gdb,而工作空间中默认也是在gdb下,所以一个路径中同时出现两个gdb,数据存不了,当然无法运行了。
由于模型中用户都是这么写的,有很多处,所以只有修改模型的环境参数了,先打开模型属性
点击环境选项卡,勾选Workspace选项,点击下面的Values..
设置Scratch Workspace路径,
确定后点击运行,成功!
但是高兴太早,一般使用模型很少会点开编辑界面运行,会直接双击,像GP工具使用,里面都是黑箱了
双击工具,点击OK
果然高兴太早,在最后一步出现问题,又同时一个路径中出现两个gdb
这时心里想,不对呀,工作空间(workspace)的路径不是已经改了么,怎么不管用呢
和同事琢磨半天,最后发现双击模型工具后,点击界面下方的环境设置
发现路径还是原先的默认带有gdb的路径,
但是为什么前面的几步都运行成功了呢?遂再次陷入沉思
后才明白,我们把输出结果路径作为模型工具的界面参数,
造成了前面会使用我们修改的模型环境路径,输出结果路径去依然使用该模型工具界面的环境参数路径。
于是将结果路径在模型编辑中去掉作为界面参数的设置
再双击模型,完美运行!
这里不得不提一下ArcGIS ModelBuilder的工作空间(workspace)设置问题,模型属性的环境变量参数设置在模型使用界面中无效,造成后续的参数再次调整,有些不太方便,但不是大的问题。