Structured courses with progress tracking. Start from the basics or dive into advanced topics.
📖 Course Overview & Architecture About This Course The Geospatial Data Abstraction Library (GDAL) is the foundational standard powering virtually all GIS software (QGIS, ArcGIS, GRASS, PostGIS, MapServer) and cloud geospatial infrastructure. This course is designed as a zero-fluff, production-grade, practical guide for geospatial developers, data engineers, and GIS analysts. It strips away theoretical academic clutter and delivers high-impact, practical patterns using GDAL command-line utilities and Python bindings (osgeo.gdal, osgeo.ogr, osgeo.osr). 🏛️ The Three Architectural Pillars of GDAL GDAL divides all spatial operations into three core internal engines: GDAL (Raster Engine): Handles array-based pixel data (satellite imagery, elevation grids, land cover maps). Key abstractions: Dataset, RasterBand, GeoTransform. OGR (Vector Engine): Handles discrete shape geometries and tabular attributes (GeoJSON, GeoPackage, Shapefiles, PostGIS). Key abstractions: DataSource, Layer, Feature, Geometry. OSR (Spatial Reference System): Handles map projections, ellipsoids, and coordinate transformations between EPSG codes. 🎯 Key Learning Outcomes Upon completing these 5 lessons, you will be able to: Inspect & Diagnose: Extract extent, resolution, CRS, and statistics from any geospatial file using gdalinfo and ogrinfo. Process & Translate: Subset, crop, scale bit-depth, and convert datasets into Cloud-Optimized GeoTIFFs (COG). Reproject & Warp: Transform raster coordinate systems using bilinear/cubic resampling (gdalwarp). Query & Filter Vectors: Run spatial and attribute SQL queries using ogr2ogr and OGR Python bindings. Bridge Rasters & Vectors: Perform Digital Elevation Model (DEM) terrain analysis, rasterize vector polygons, and polygonize raster grids.
Learn to build a lightweight vector tile server using Python, Flask, and PostGIS.
Learn how to store, query, and analyze spatial data using PostGIS — the spatial extension for PostgreSQL.