GIS · 7 Lessons · 4 Phases · Python + Leaflet
Most data has a where. GIS is the toolkit for reasoning about that dimension: measuring distances on a sphere, understanding how flat maps distort the globe, reading vector features in GeoJSON, and treating continuous fields as numeric grids. This lab pairs short Python in the browser with interactive Leaflet maps so concepts click visually before you compute them.
No prior mapping experience needed. You will know how to express location in decimal degrees, compute great-circle distance by hand, decode a GeoJSON file, interpret a raster array, and reason about grid buffers and nearest assignment by the end of the first seven lessons.
What you will learn
Globe and coordinates, projections with vector models, raster fields, then spatial relationships on grids — seven lessons that mirror how practitioners move from position to analysis-ready overlays.
Latitude and longitude as a shared address system; great-circle distance with Haversine.
Mercator-style scale versus latitude; GeoJSON vectors as nested data you can parse by hand.
Raster grids as NumPy arrays: summaries, visualization, and the one-value-per-cell mental model.
Grid buffers via dilation, Boolean overlays, and nearest-centroid assignment as a toy spatial join.
Polygon area via the Shoelace formula, rectangle intersection, Boolean point clipping, and polyline buffering via point-to-segment projection — the geometry GeoPandas and Shapely abstract away.
Cost surfaces as weighted rasters; Dijkstra on an 8-connected grid finds the least-cost path through any barrier.
Equal-interval and quantile classification turn continuous values into color classes — and the choice reshapes what the map says.
Zonal statistics summarize a raster inside polygon zones — the vector–raster glue step behind many choropleths and reporting tables.
np.gradient turns a DEM into slope and aspect rasters; a dot product with a sun vector produces hillshade — then a bilinear transect samples elevation along any cross-section line.
Zonal statistics on a cloud-masked NDVI raster — closing the loop between the GIS vector model and the EO data pipeline.