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.
What you'll learn
Pick a topic to filter the guides below.
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.
- Coordinate Reference Systems (CRS) Explained for Python GIS coordinate reference systems python
- EPSG Codes Explained: How to Choose the Right CRS in Python epsg codes python gis
- GeoPandas Basics: Working with Spatial Data in Python geopandas basics
- 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
- Python for GIS: What It Is and When to Use It python for gis
- 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