How-To Guides
Concrete, step-by-step solutions for the most common Python GIS tasks — from loading data to producing analysis outputs.
These guides are built around specific, real-world tasks. Each one starts with a clear problem statement, gives you a quick working answer, and then walks through a complete solution with code you can copy and adapt.
Tasks range from the everyday — reading a shapefile, reprojecting layers, filtering by attribute — to more complex operations like spatial joins, buffer analysis, fishnet grids, and connecting GeoPandas directly to PostGIS.
Every guide is self-contained. You don't need to read them in order. Search for the task you need, follow the steps, and get back to your work.
What you can do
Popular guides
The most commonly needed GIS tasks in Python, each with a full step-by-step walkthrough.
-
How-To Guides — Step-by-Step Python GIS Tasks
Read guide → -
How to Aggregate Spatial Data by Region in GeoPandas
aggregate spatial data geopandas
Read guide → -
How to Automate GIS Workflows with Python
automate gis workflow python
Read guide → -
How to Batch Process Multiple Shapefiles in Python
batch process shapefiles python
Read guide → -
How to Calculate Area and Distance in GeoPandas (Correctly)
calculate area geopandas
Read guide → -
How to Clip Spatial Data in Python with GeoPandas
clip shapefile python geopandas
Read guide →
All how-to guides
27 guides covering the full range of everyday Python GIS tasks.
- How-To Guides — Step-by-Step Python GIS Tasks
- How to Aggregate Spatial Data by Region in GeoPandas aggregate spatial data geopandas
- How to Automate GIS Workflows with Python automate gis workflow python
- How to Batch Process Multiple Shapefiles in Python batch process shapefiles python
- How to Calculate Area and Distance in GeoPandas (Correctly) calculate area geopandas
- How to Clip Spatial Data in Python with GeoPandas clip shapefile python geopandas
- How to Connect GeoPandas to PostGIS geopandas postgis connection
- How to Convert a Raster to a Vector in Python raster to vector python
- How to Convert Points to Lines in GeoPandas points to line geopandas
- How to Count Points in Polygons with GeoPandas count points in polygon geopandas
- How to Create a Choropleth Map in Python with GeoPandas choropleth map geopandas
- How to Create a Fishnet Grid in Python with GeoPandas fishnet grid python geopandas
- How to Create Buffers in GeoPandas for Spatial Analysis buffer analysis geopandas
- How to Dissolve Polygons in Python (GeoPandas) dissolve polygons geopandas
- How to Extract Raster Values at Point Locations with Rasterio extract raster values rasterio
- How to Filter Spatial Data in Python Using GeoPandas filter geopandas data
- How to Find the Nearest Point in GeoPandas nearest point geopandas
- How to Get Polygon Centroids in GeoPandas polygon centroid geopandas
- How to Join Attribute Data to a GeoDataFrame in Python join attribute data geopandas
- How to Plot Maps in Python with GeoPandas and Matplotlib plot map geopandas matplotlib
- How to Read a CSV with Coordinates as a GeoDataFrame csv to geodataframe python
- How to Read and Write GeoPackage Files in Python geopackage python geopandas
- How to Read GeoJSON in Python with GeoPandas read geojson python geopandas
- How to Remove Null and Empty Geometries in GeoPandas remove null geometries geopandas
- How to Save a Map as an Image in Python with Matplotlib save map image matplotlib python
- How to Select Features by Location in GeoPandas select by location geopandas
- How to Simplify Geometry in Python with GeoPandas and Shapely simplify geometry geopandas