Note
Go to the end to download the full example code.
From/to Rasterio#
This example demonstrates importing and exporting a rasterio.io.DatasetReader or rasterio.io.DatasetReader from and to a
Raster.
import rasterio as rio
A raster can be imported from a rasterio.io.DatasetReader or rasterio.io.MemoryFile simply by instantiating Raster.
import geoutils as gu
filename_rast = gu.examples.get_path("exploradores_aster_dem")
ds = rio.DatasetReader(filename_rast)
rast = gu.Raster(ds)
rast
The data is unloaded, as when instantiated with a filename.
The data will be loaded explicitly by any function requiring its data, such as show().
rast.plot(cmap="terrain")

We can also pass a rasterio.io.MemoryFile during instantiation.
mem = rio.MemoryFile(open(filename_rast, "rb"))
rast = gu.Raster(mem)
rast
The data is, as expected, already in memory.
Finally, we can export a Raster to a rasterio.io.DatasetReader of a rasterio.io.MemoryFile using
to_rio_dataset
<open DatasetReader name='/vsimem/8b7fe82f-e2a0-4ea2-bd3b-b01fea21fd2f/8b7fe82f-e2a0-4ea2-bd3b-b01fea21fd2f.tif' mode='r'>
Total running time of the script: (0 minutes 0.434 seconds)