python 中的栅格基础对象?

rasterio base object in python?

我想使用 rasterio 创建一些我可以稍后处理的简单栅格测试数据。我不想从磁盘上的任何文件写入 to/read,而是想从 variables/in 内存对象中工作。我暂时也不需要给这个栅格投影。例如,对于 asc 类型的栅格,它可以像这样简单:

ncols 4
nrows 4
xllcorner 20
yllcorner 8.5
cellsize 0.5
nodata_value -9999
0.1 0.2 0.3 0.4
0.2 0.3 0.4 0.5
0.3 0.4 0.5 0.6
0.4 0.5 0.6 0.7

rasterio 是否支持我可以用上述数据填写的任何对象,而不必担心写入或读取光栅文件?谢谢

我认为 rasterio.io.MemoryFile 可能适合您的应用程序 (memory file docs)。对于您的示例,它可能类似于:

from rasterio.io import MemoryFile
from affine import Affine

with MemoryFile() as memfile:
    transform = Affine(0.5, 0, 20, 0, 0.5, 8.5)
    data = np.arange(16).reshape(1, 4, 4) / 10
    meta = {"count": 1, "width": 4, "height": 4, "transform": transform, "nodata": -9999, "dtype": "float64"}
    with memfile.open(driver='GTiff', **meta) as dataset:
        dataset.write(data)