Горячая запись набора данных GDAL в памяти на диск с помощью python
Я пытаюсь записать набор данных IN-Memory в GeoTiff на диске с помощью gdal для python.
gd_driver = gdal.GetDriverByName("MEM")
gd_raster = gd_driver.Create('pippo', src_height, src_width, src_NBands, gdal.GDT_Int16)
gd_raster.SetGeoTransform(gd_transform)
gd_raster.SetProjection(src_crs.wkt)
for i in range (0, src_NBands):
gd_raster.GetRasterBand(i+1).WriteArray(src_data[i])
# TO tiff
drv_out = gdal.GetDriverByName('GTiff')
dset_in = gdal.Open('/vsimem/pippo', gdal.GA_ReadOnly)
drv_out.CreateCopy(file_name_out, dset_in)
но я не могу открыть и прочитать исходный набор данных
1 ответ
Я нашел ошибку.
Я должен поместить исходный набор данных (в наборе данных Memoery) во второй аргумент createcopy, не открывая его раньше
...
# TO tiff
dset_tiff_out = gdal.GetDriverByName('GTiff')
# dset_tiff_in = gdal.Open('/vsimem/pippo', gdal.GA_ReadOnly)
dset_tiff_out.CreateCopy(file_name_out, gd_raster, 1)
...
огромное спасибо