Python 如何防止GDAL在取消引用时将数据源写入磁盘
我需要从文件中提取光栅(存储为numpy数组)。按照非常流行的方法,我正在阅读OGR层(geojson),然后对向量进行光栅化。我用GDAL的函数读取数组。这一切都很好,我可以做各种各样的小事。但是,GDAL会自动写出我创建的GDAL数据集,因为一旦程序结束,它就会自动取消引用。我不需要/不想输出这个文件,因为它在磁盘上没有用处,我只需要内存中的数据。你如何防止这种情况发生 我尝试过不调用该函数,但最终该文件仍会得到输出。 代码:Python 如何防止GDAL在取消引用时将数据源写入磁盘,python,gdal,Python,Gdal,我需要从文件中提取光栅(存储为numpy数组)。按照非常流行的方法,我正在阅读OGR层(geojson),然后对向量进行光栅化。我用GDAL的函数读取数组。这一切都很好,我可以做各种各样的小事。但是,GDAL会自动写出我创建的GDAL数据集,因为一旦程序结束,它就会自动取消引用。我不需要/不想输出这个文件,因为它在磁盘上没有用处,我只需要内存中的数据。你如何防止这种情况发生 我尝试过不调用该函数,但最终该文件仍会得到输出。 代码: 之后,一旦程序完成,一个geotiff被写入output\u r
之后,一旦程序完成,一个geotiff被写入
output\u raster\u path
,我刚刚将其设置为“temp.tif”。您可以使用内存驱动程序来处理类似的事情
mem_drv = gdal.GetDriverByName('MEM')
target = mem_drv.Create('', source_raster.RasterXSize, source_raster.RasterYSize, 1, gdal.GDT_UInt16)
我不熟悉GDAL,但是您看过/vsimem/“内存中”虚拟文件系统吗?快速搜索表明GDAL就是这样地址的应保留在内存中的“文件”only@MarkAdelsberger我已经看过了,但在python中找不到对应的版本。文档有点到处都是。无论如何,下面提供了一个解决方案。谢谢你的帮助!谢谢,成功了。我希望python文档更容易浏览。。。
mem_drv = gdal.GetDriverByName('MEM')
target = mem_drv.Create('', source_raster.RasterXSize, source_raster.RasterYSize, 1, gdal.GDT_UInt16)