This repository is a Jupyter Book for the University of Tennessee's GEOG-312 course on geospatial programming. It contains lecture notebooks covering Python fundamentals and geospatial libraries (GeoPandas, Rasterio, Xarray, Leafmap, Geemap, etc.), along with lab exercises. It is primarily an educational resource, not a production application or data pipeline. The content is well-structured with paired Markdown and Jupyter notebook files using jupytext, and includes CI/CD for building the book. While not a reusable software library, the pedagogical patterns and notebook organization are of high quality.
TouchTerrain is a web application and standalone tool that converts digital elevation models (DEMs) into 3D-printable terrain models (STL/OBJ). It uses Google Earth Engine as the primary DEM source, with support for local GeoTIFF files. The architecture includes a Flask web server with a frontend using Google Maps and Three.js for preview, a standalone Python script for batch processing, and Jupyter notebooks for interactive use. The core processing pipeline fetches DEM data, resamples it, tiles it, generates mesh geometry with optional walls and bottom, and bundles the output as a ZIP file. The repository also includes geospatial utilities (coordinate conversion, KML parsing, GPX path embossing) and raster cleaning functions. While the codebase is functional and well-documented, it shows signs of technical drift: multiprocessing is broken, JavaScript libraries are outdated (Three.js r71), and there is commented-out code. The project is actively maintained with recent commits and issue triage.