Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/330.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 如何防止GDAL在取消引用时将数据源写入磁盘_Python_Gdal - Fatal编程技术网

Python 如何防止GDAL在取消引用时将数据源写入磁盘

Python 如何防止GDAL在取消引用时将数据源写入磁盘,python,gdal,Python,Gdal,我需要从文件中提取光栅(存储为numpy数组)。按照非常流行的方法,我正在阅读OGR层(geojson),然后对向量进行光栅化。我用GDAL的函数读取数组。这一切都很好,我可以做各种各样的小事。但是,GDAL会自动写出我创建的GDAL数据集,因为一旦程序结束,它就会自动取消引用。我不需要/不想输出这个文件,因为它在磁盘上没有用处,我只需要内存中的数据。你如何防止这种情况发生 我尝试过不调用该函数,但最终该文件仍会得到输出。 代码: 之后,一旦程序完成,一个geotiff被写入output\u r

我需要从文件中提取光栅(存储为numpy数组)。按照非常流行的方法,我正在阅读OGR层(geojson),然后对向量进行光栅化。我用GDAL的函数读取数组。这一切都很好,我可以做各种各样的小事。但是,GDAL会自动写出我创建的GDAL数据集,因为一旦程序结束,它就会自动取消引用。我不需要/不想输出这个文件,因为它在磁盘上没有用处,我只需要内存中的数据。你如何防止这种情况发生

我尝试过不调用该函数,但最终该文件仍会得到输出。 代码:


之后,一旦程序完成,一个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)