ArcPy:初始化零值网格光栅并迭代递增

2024-07-04 17:23:06 发布

您现在位置:Python中文网/ 问答频道 /正文

我直接跳到ArcPy来帮助一个需要自动化一些ArcGIS工作的朋友。目前的问题可以归结为以下伪代码:

accumulationRaster = SomeZeroedRaster
for each Raster pair, R, S, pertaining to rain and snow:   
   accumulationRaster += Con(S == 0, Con(R >= 1, 1, 0), 0)

换句话说,迭代每天的所有雨雪数据。对每个单元对执行一个逻辑操作,以便在没有雪(S == 0)和一些雨(R >= 1)的情况下,accumulationRaster中对应的单元会增加。在

到目前为止,由于各种尝试都没有成功,我想我应该问一下,因为这个问题应该有一个简单的解决办法。完整的工作代码与缺失的差距指出如下。大部分只是简单的文件路径设置,上面的伪代码就足够了:

丢失的部分编号为12、和{}。在

  1. 如何初始化带有适当尺寸的零光栅。

  2. 如何制作这个零光栅的副本。如果1很简单,只需这样做。

  3. 增量累加光栅。


^{pr2}$

Tags: to代码for光栅朋友con单元each
1条回答
网友
1楼 · 发布于 2024-07-04 17:23:06

你可以用arcpy.NumPyArrayToRaster公司制作零基光栅。在

如果您希望光栅是50行50列,分辨率为1米。你能做到的。在

import numpy

myArr = numpy.zeros(50, 50)

myZeroRaster = arcpy.NumPyArrayToRaster(myArr, arcpy.Point(355355, 3199277), 1, 1)

您还可以将光栅转换为numpy数组,然后使用一个numpy数组对另一个numpy数组进行累加。在

或者,如果您有Spatial analyst,您可以使用“创建常量光栅”工具创建基于零的光栅,然后使用math-gt;Plus工具将光栅添加到一起

相关问题 更多 >

    热门问题