Getting started
A working install, your first GeoDataFrame, and what Python GIS is for.
Python GIS is a small number of objects and a large number of ways to install them. The objects go quickly: a GeoDataFrame is a pandas table with a geometry column and a CRS, and nearly everything else on this site is an operation on one. The install is where the afternoon actually goes, because the Python packages are thin wrappers over C libraries — GDAL, GEOS, PROJ — that have to agree with each other.
So this topic covers both halves. The concepts explain what you are holding: GeoDataFrames, Shapely geometries, vector against raster, and what GDAL is doing underneath all of it. The how-to guides get you a working environment, a notebook that behaves, and a first analysis that runs end to end. The fixes are the install and import errors, which is where most first days are spent.
🧭 Start with the concepts
The ideas the how-to guides below assume you already have.
- What Is a GeoDataFrame? Structure and Key Concepts
- Shapely Basics: Working with Geometry Objects in Python
- Vector vs Raster Data in Python GIS: Key Differences
- Introduction to Rasterio: Reading Raster Data in Python
- Python for GIS: What It Is and When to Use It
- GeoPandas Basics: Working with Spatial Data in Python
⚙️ Then do the task
Step-by-step walkthroughs with code you can copy and adapt.
- How to Set Up a Python GIS Environment That Actually Works
- How to Explore a Spatial Dataset You Have Never Seen Before
- How to Open Any Spatial File in Python When You Do Not Know the Format
- How to Set Up Jupyter for Python GIS Work
- Your First Python GIS Analysis: From Download to Map in One Script
- How to Download Administrative Boundaries in Python
Show every how-to guide in this topic
🔧 When it breaks
The errors this topic produces, with the cause explained rather than just the command.
Learning paths through this topic
A curated route rather than a list — the guides in the order that builds on itself.
Related topics
Subjects that keep coming up alongside this one, most overlap first.