Batch Processing

Process many files at once, reliably.

The batch processing path, from one folder loop to a resumable, parallel job with a run report. process many files at once, reliably1one folder, one loopthe whole pattern2formats & indexeswhat the loop meets3parallel & resumableand the traps4a run reportwhat happened, per fileStage one is the loop; everything after it is about surviving the one file that breaks it

Run the same operation across whole folders of shapefiles, GeoPackages, and rasters without copy-pasting scripts. These guides build one dependable pattern — discover files, apply a reusable step, handle errors per file, and report what happened — then extend it with parallelism, resumability, logging, and recursive folder trees so a single bad file never sinks an overnight run.

Stage one is the whole pattern in one guide, and you can stop there for a folder of twenty well-behaved files. The rest of the path is about scale and survival: what the loop meets in a real folder, how to make it parallel without oversubscribing, and how to make a crash cost minutes rather than the afternoon.

The full path, in order

The concepts underneath the work, then each task, then the errors that task produces. Work down, or jump to the step you need.

  1. GIS Vector File Formats Compared: Shapefile, GeoPackage, GeoJSON, Parquet gis vector file formats compared 🧭 Concept
  2. What GDAL and OGR Actually Are (and Why Everything Depends on Them) what is gdal ogr 🧭 Concept
  3. Fiona vs pyogrio: How GeoPandas Reads and Writes Files fiona vs pyogrio 🧭 Concept
  4. Spatial Indexes Explained: R-trees and Why Spatial Joins Are Fast spatial index r-tree explained 🧭 Concept
  5. Threads, Processes and the GIL: Parallelism in Python GIS Explained python gil threads processes gis 🧭 Concept
  6. How to Batch Convert Shapefiles to GeoPackage in Python batch convert shapefile to geopackage python ⚙️ How-To
  7. How to Batch Clip Many Layers to a Single Boundary in Python batch clip shapefiles boundary python geopandas ⚙️ How-To
  8. How to Merge Many Shapefiles into One File in Python merge multiple shapefiles python geopandas ⚙️ How-To
  9. How to Batch Export a GeoDataFrame to Multiple Formats in Python export geodataframe multiple formats python ⚙️ How-To
  10. How to Speed Up Batch GIS Jobs with Parallel Processing in Python parallel processing gis python batch ⚙️ How-To
  11. How to Build a Resumable Batch GIS Job in Python resumable batch job python gis ⚙️ How-To
  12. How to Log and Summarise Errors in a Batch GIS Job in Python python logging batch gis errors report ⚙️ How-To
  13. How to Batch Process Rasters with Rasterio in Python batch process rasters rasterio python ⚙️ How-To
  14. How to Process GIS Files in Nested Subfolders and Mirror the Output Tree process files subfolders python recursive mirror ⚙️ How-To
  15. How to Batch Process Multiple Shapefiles in Python batch process shapefiles python ⚙️ How-To
  16. How to Add a Progress Bar and ETA to a Long GIS Batch Job python progress bar batch job ⚙️ How-To
  17. How to Build an Inventory of a GIS Data Folder in Python gis data folder inventory python ⚙️ How-To
  18. How to Add a Dry-Run Mode to a Batch GIS Script dry run mode python script ⚙️ How-To
  19. How to Package GIS Deliverables into Zipped Bundles with Python package gis deliverables zip python ⚙️ How-To
  20. How to Process a Very Large GeoPackage in Chunks with Python process large geopackage in chunks ⚙️ How-To
  21. Batch Script Stops at the First Bad File: How to Keep It Running batch script stops on error 🔧 Fix
  22. Python glob Is Not Finding All My Shapefiles: How to Fix It glob not finding files python 🔧 Fix
  23. Batch Output Files Keep Overwriting Each Other: How to Fix It batch output files overwriting 🔧 Fix
  24. Batch GIS Job Slows Down and Runs Out of Memory: How to Fix It batch job memory leak python 🔧 Fix
  25. Parallel GIS Batch Job Hangs or Crashes with multiprocessing: How to Fix It multiprocessing hangs python gis 🔧 Fix

Topics this path covers

A path is a route; a topic is everything the site has on a subject. Open a topic to see the guides this path skips.

Other ways in