gpt4 book ai didi

python - 从 NumPy 数组创建光栅图像

转载 作者:行者123 更新时间:2023-11-28 19:15:21 25 4
gpt4 key购买 nike

我正在使用 arcpy 编写脚本,并且我有一个 NumPy 矩阵,其中包含各县的裁剪维度。该矩阵由 float 填充。

我还有一个显示裁剪的单独光栅图像以及一个显示县的 shapefile。

我想将我的 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)

条件语句是嵌套的空间分析器“Con”调用,我将为您省去其语法。

这工作正常,但非常丑陋,我觉得应该有更好的方法来做我想做的事情。当我尝试太多县或农裁剪时,上述方法会崩溃。保存步骤失败。

我想知道是否有更简单的方法来完成我所追求的。有什么建议吗?

最佳答案

NumPyArrayToRaster (arcpy)专为此类操作而设计。

文档中的示例:

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")

关于python - 从 NumPy 数组创建光栅图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34322458/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com