可以在模型生成器或ArcPy中“按掩码提取”工具中迭代输入栅格和掩码?

1689
15
跳到解决方案
06-19 2021下午04:56
LiYi1
通过
新的因素

嗨,我想我要做的是非常直接的,但我被困在两天内,已经用尽了所有以前的解决方案。所以,我在这里发帖,希望能从擅长模型构建者或arcpy的人那里得到一些帮助。

基本上,我有一个由多边形(N=x)转换而来的栅格网格文件夹

我有另一个NDVI光栅文件夹(N=y)

我试图通过蒙版工具构建一个循环提取,以便该工具将栅格网格和蒙版和NDVI的x*y组合作为栅格输入,以便每个NDVI将被栅格剪切。

模型构建器不允许使用两个迭代器,并且模型中的子模型不能用来绕过这一点,因为它只接受主模型中子模型的最后一个值。我看到有人提到arcpy方法,但我对python没有任何技能,所以不知道如何实现。我希望你能评论一下这是否真的可用。

任何见解都非常感谢。

非常感谢。

0荣誉
15日回复
DavidPike
通过 MVP常客
MVP常客

把它消掉,我用了幂符号: disappointed_face:只要用一个*就可以了

0荣誉
DavidPike
通过 MVP常客
MVP常客
outExtractByMask * arcpy.Raster(mask_raster) * 0.0001
0荣誉
DavidPike
通过 MVP常客
MVP常客

@LiYi1只是确认一下你知道**(的次方)是不正确的,应该是*(乘以)

0荣誉
LiYi1
通过
新的因素
是的,我确实看到了这条信息。再次谢谢你,大卫。
0荣誉
LiYi1
通过
新的因素

嗨,大卫,很抱歉再次打扰你。但我想知道我是否有可能匹配掩码和光栅,然后根据文件名中指示的日期通过掩码工具执行提取。例如,

我有NDVI图像命名:A2016273, A2017001, A2017037…(朱利安日期)

KDE网格命名:G_106_03Jan17 G_108_29Dec16 G109_17Nov16 ..

我希望每个NDVI找到与日期最接近的KDE网格文件,然后执行栅格提取,我该如何修改循环代码?任何见解都非常感谢。

0荣誉
DavidPike
通过 MVP常客
MVP常客

我将看看如何将文件字符串转换为datetime对象,然后为NDVI和KDE创建字典,键是文件路径,值是datetime对象。

我将遍历字典,使用NVDI文件路径->具有最接近日期的KDE Grid文件路径构建一个新字典(查找一些现有的代码,或者只是找到具有最小日期时间差的光栅)。

使用这个字典,很容易在GP工具中匹配它们。

0荣誉