Cartolith — Data & GIS Exploration Platform
A browser-based GIS and data-analysis tool built to teach spatial thinking, not just perform it — 31 geoprocessing tools, a SQL lab, and a visual lineage graph, packaged as a native desktop app for Windows, macOS, and Linux.
Cartolith is a full spatial-analysis environment built around a specific idea: datasets, not map layers, are the unit everything operates on, and every operation should be explainable to someone who has never used GIS before. It runs as a FastAPI backend with a React frontend, and ships as a real double-click desktop application via an automated cross-platform build pipeline — no Python environment for the end user to manage.
Geoprocessing. Thirty-one tools across six categories, each with a plain-English explainer: vector operations (buffer, centroids, convex hull, dissolve, spatial join — buffers computed in each feature's own local equidistant projection, so they're accurate anywhere on Earth), overlay (clip, intersect, difference, union), raster (hillshade, slope, aspect, NDVI/NDWI/EVI, reprojection, zonal statistics), grids (Voronoi, Delaunay, H3 hex binning), and straight-line network analysis (OD cost matrices, service areas — honestly labeled as straight-line rather than true drive-time, since that would require a routing engine this tool doesn't bundle).
SQL Lab. Every dataset is queryable through DuckDB — filters, joins, spatial ST_ functions, with results savable back as new datasets that flow into every other tab.
Lineage, not just layers. Every derived dataset carries a visible provenance trail — a live dependency graph showing exactly which source and which operation produced it, with one-click re-run.
Built to teach. A ~30-concept plain-English GIS glossary, contextual explainers on every tool, one-click sample datasets, and a guided first-map walkthrough.
What it does
- Loads shapefiles, GeoJSON, CSV, and raster formats — locally, or streamed directly from a URL
- Runs 31 geoprocessing tools with a lineage-tracked, re-runnable pipeline
- Full project save/load to a single portable
.cartolith.jsonfile, geometry included - Ships as a native installer for Windows, macOS, and Linux via GitHub Actions
Engineering notes
- FastAPI + GeoPandas/rasterio backend, React frontend, DuckDB for the SQL layer
- Cross-platform desktop builds via a single GitHub Actions pipeline (PyInstaller-based)
- Honest about scope: network tools are straight-line by design; a MapLibre/vector-tile engine swap and true road-network routing are documented as deliberate next steps rather than silently missing features