Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/344.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 从NumPy阵列创建光栅图像_Python_Python 2.7_Numpy_Arcgis_Arcpy - Fatal编程技术网

Python 从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

我正在使用arcpy编写脚本,并且我有一个NumPy矩阵,其维度按县排列。该矩阵由浮点数填充

我也有一个单独的光栅图像显示作物以及一个显示县的形状文件

我想将NumPy矩阵的内容保存到一个新的光栅,使用矩阵中的正确值,因为光栅像素是某个县的某个作物

我的问题是:如何改进将矩阵转换为光栅图像的方式

目前我做了如下工作:

# 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,上述方法可能是最好的方法,但我应该研究其他软件以获得更有效的方法。