Python 从NumPy阵列创建光栅图像
我正在使用arcpy编写脚本,并且我有一个NumPy矩阵,其维度按县排列。该矩阵由浮点数填充 我也有一个单独的光栅图像显示作物以及一个显示县的形状文件 我想将NumPy矩阵的内容保存到一个新的光栅,使用矩阵中的正确值,因为光栅像素是某个县的某个作物 我的问题是:如何改进将矩阵转换为光栅图像的方式 目前我做了如下工作:Python 从NumPy阵列创建光栅图像,python,python-2.7,numpy,arcgis,arcpy,Python,Python 2.7,Numpy,Arcgis,Arcpy,我正在使用arcpy编写脚本,并且我有一个NumPy矩阵,其维度按县排列。该矩阵由浮点数填充 我也有一个单独的光栅图像显示作物以及一个显示县的形状文件 我想将NumPy矩阵的内容保存到一个新的光栅,使用矩阵中的正确值,因为光栅像素是某个县的某个作物 我的问题是:如何改进将矩阵转换为光栅图像的方式 目前我做了如下工作: # initialize my output outraster = 0 * cropraster for crop in crops for county in cou
# initialize my output
outraster = 0 * cropraster
for crop in crops
for county in counties
outraster = outraster + \
conditional statements checking if cropraster pixel is in
current county and crop, and if so return matrix value
outraster.save(filename)
条件语句是嵌套的spatial analyst“Con”调用,我将省略其语法
这很好用,但是很难看,我觉得应该有更好的方法来做我想做的事情。当我尝试过多的县或作物时,上述方法就会崩溃。它在保存步骤失败
我想知道是否有一个更简单的方法来完成我的目标。有什么建议吗?是为这种类型的操作而设计的
文档中的一个示例:
import arcpy
import numpy
# Create a simple array from scratch using random values
myArray = numpy.random.random_integers(0,100,2500)
myArray.shape = (50,50)
# Convert array to a geodatabase raster
myRaster = arcpy.NumPyArrayToRaster(myArray,x_cell_size=1)
myRaster.save("C:/output/fgdb.gdb/myRandomRaster")
您需要进一步探索arcpy。Numpy阵列访问。。。往返于。。内置并广泛使用。从这个链接开始,然后探索数据访问模块中的其他选项谢谢您的回复@DanPatterson。我意识到,在浏览我的文章时,它的所有内容都表明我在寻找NumPyArrayToRaster提供的功能(标题几乎是尖叫!)。实际上,我正在尝试做一些非常不同和更复杂的事情,那就是使用数组中的信息来填充光栅。我认为使用arcpy,上述方法可能是最好的方法,但我应该研究其他软件以获得更有效的方法。