Горячая запись набора данных 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)
...

огромное спасибо

Другие вопросы по тегам