Foundation Guides
Understand the core concepts behind spatial data in Python before diving into tasks and workflows.
Every practical GIS workflow rests on a small set of foundational ideas. What is a GeoDataFrame? What does a CRS actually do? How do raster and vector data differ, and when should you use each? These guides answer those questions directly — without padding, without assumed expertise.
If you're just starting with Python GIS, work through these pages first. They'll give you the vocabulary and mental models that make all the how-to guides easier to follow. If you're already working in the field, these pages make useful references when a concept needs refreshing.
Topics covered include GeoPandas, Shapely geometry objects, coordinate reference systems, EPSG codes, Rasterio, Folium, and the fundamental difference between vector and raster spatial data.
Start here
These guides cover the building blocks that every other guide on this site assumes you know.
All foundation guides
Each guide focuses on one concept — short enough to read in a sitting, detailed enough to be genuinely useful.
- Foundation Guides — Python GIS Concepts
- EPSG Codes Explained: How to Choose the Right CRS in Python epsg codes python gis
- How to Create Interactive Maps in Python with Folium folium interactive maps python
- Introduction to Rasterio: Reading Raster Data in Python rasterio python tutorial
- Overlay Operations in GeoPandas: Union, Intersection, Difference Explained geopandas overlay operations
- Shapely Basics: Working with Geometry Objects in Python shapely python geometry
- Vector vs Raster Data in Python GIS: Key Differences vector raster data python gis
- What Is a GeoDataFrame? Structure and Key Concepts geodataframe python