Мне нужно извлечь растр (хранящийся в виде массива) из файла.После очень популярной OGR Cookbook я читаю в слое OGR (geojson), а затем растеризую векторы.Я прочитал этот массив с помощью функции ReadAsArray () GDAL.Это все прекрасно работает, и я могу делать с ним все разные нюансы.Однако GDAL автоматически записывает созданный мною набор данных GDAL, поскольку он автоматически отменяет ссылки после завершения программы.Мне не нужно / не нужно, чтобы этот файл выводился, потому что его бесполезно иметь на диске, мне просто нужны данные в памяти.Как вы можете предотвратить это?
Я пытался не вызывать функцию FlushCache () , но файл все равно получает выход в конце.Код:
...
# Create the destination data source
target = gdal.GetDriverByName('GTiff').Create(output_raster_path, source_raster.RasterXSize, source_raster.RasterYSize, 1, gdal.GDT_UInt16)
target.SetGeoTransform(source_raster.GetGeoTransform())
target.SetProjection(source_raster.GetProjection())
band = target.GetRasterBand(1)
band.SetNoDataValue(no_data_value)
gdal.RasterizeLayer(target, [1], source_layer, options=["ATTRIBUTE=BuildingID"])
raster = band.ReadAsArray()
return raster
Впоследствии, после завершения программы, геотиф записывается в output_raster_path
, который я только что установил как «temp.tif».