Welcome to GDAL-rasterio-tutorials, your go-to resource for mastering raster data processing with GDAL and Rasterio! ๐ Whether you're a GIS professional, an environmental scientist, or just passionate about geospatial data, these tutorials are designed to enhance your skills in handling, analyzing, and visualizing raster data. Dive into these tutorials and start transforming raw data into insightful geospatial information.
-
You will need conda installed to create an environment and install GDAL. Once conda is installed, run
conda create -n raster_env python==3.10
-
Activate the new env.
conda activate raster_env
-
Install GDAL
conda install -c conda-forge gdal
-
Install requirements
conda install --yes --file requirements.txt
-
Run notebook server
jupyter notebook
In this tutorial, you'll learn the following:
- Basics of reading a raster (single or multi-band) using GDAL Python API.
- Procure data from raster cells and transfer it to a numpy array. Procure raster properties such cell size, origin (X, Y), spatial reference and NoDataValue.
- Peform a local raster operation across various bands. A local raster operation is a simple raster operation that uses only data at a cell location in the input to compute a value at that same location in the output raster. You'll learn this by calculating NDVI index that used red and NIR band values at every cell location.
- Write a raster dataset to disk and transfer the properties of the input raster to it, such as cell size, origin, spatial reference along with an appropriate NoDataValue selected based on the known or expected output value range.
- Visualize your data (input and output) using rasterio.plot submodule.
In this tutorial, you'll learn the following:
- Apply a spatial filter over a moving window on a raster dataset.
- Use utilities from built-in customized modules such as 'raster to numpy' and 'numpy to raster' to aid in the application of this filter.
- Script a moving window.
- Deal with boundary conditions.
- Work with Digital Elevation Model (DEM) data.
- Handle NoDataValues while performing analysis.
In this tutorial, you'll learn the following:
- How to speed up your analysis using concurrent processing
- How to speed up your analysis using parallel processing
- Compare concurrent and parallel processing against serialized execution and understand the speed up in performance.