将变量从ArcPy脚本传递到ModelBuilder?


9

我有一个将变量传递给python脚本的模型。该脚本使用该变量来查询某些目录并返回路径列表。我想知道的是:

  • 然后,如何在后续操作中将这些路径中的每一个用作参数?
  • python和ModelBuilder之间的桥梁是一条单向的街道吗?

Answers:


8

我假设您已经通过首先将Python脚本添加到工具箱,并通过“参数”选项卡设置了脚本输入,从而将Python脚本添加到了模型中。

在“参数”选项卡中,您可以为脚本输出添加新参数。为此,只需更改:

  • Direction参数属性Output;
  • Data Type依赖于Python的输出将是什么(可能是一个字符串或整数,但也许要素类);
  • 然后将Type参数属性”中的设置Derived(尽管很公平,Required并且Optional将根据数据类型工作,但下面将对此进行描述)

然后,我们可以简单地使用arcpy.SetParameter从您的Python脚本输出回模型。

一些注意事项:

  • 如果你有输出参数集Required或者Optional您可以通过提供默认值,你可以用得到提供输入你的脚本arcpy.GetParametersys.argv
  • 设置为输出的参数数量取决于Python脚本的参数总数(即,如果在输出参数之前已经有两个输入参数,则需要使用arcpy.SetParameter(2, value)

还可以查看arcpy 设置脚本工具参数帮助

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.