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)
我想使用 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)