Skip to content
View drone-photogrammetry's full-sized avatar

Block or report drone-photogrammetry

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
Python for Drone Photogrammetry & Orthomosaic Pipelines

Python for Drone Photogrammetry & Orthomosaic Pipelines

www.dronephotogrammetry.org

A production-grade engineering reference for building reproducible, Python-driven photogrammetry pipelines for drone mapping. Every guide treats photogrammetry as a deterministic software-engineering discipline — strict data schemas, explicit geospatial alignment, and automated resource controls — so a survey that runs on a laptop today runs byte-for-byte the same on a fleet-scale processing farm tomorrow.

This is not another walkthrough of clicking through desktop mapping software. It is copy-ready Python for the failures that actually break mapping jobs: RAM exhaustion during dense matching, silent coordinate-reference-system drift, alignment convergence failures, out-of-memory kills, and batch-scaling bottlenecks — each with the root-cause explanation, a minimal reproducible fix, and the verification step that proves it worked.

Who it's for

  • UAV operators & surveying technicians moving past black-box tools who need auditable, repeatable results.
  • Python GIS developers wiring OpenDroneMap, OpenSfM, GDAL, PDAL, rasterio, and pyproj into a single inspectable pipeline.
  • Mapping & infrastructure teams that need survey-grade accuracy, deterministic outputs, and diagnostics they can automate.

What's inside

The site is organized into four complete workflows, from raw imagery to survey-grade raster deliverables:

Each workflow pairs high-level architecture with deep-dive implementation guides and focused problem/fix pages — for example, resolving OpenDroneMap exit codes 1 and 137 (out of memory), fixing OpenSfM bundle-adjustment divergence, decoding GDAL "cannot allocate memory" on export, and diagnosing empty or black orthomosaic tiles.

Why it's different

  • Runnable, validated code. Every snippet is syntactically valid Python 3.10+, written to drop straight into a pipeline.
  • Failure-first. Pages lead with the concrete symptom you're seeing, explain the root cause, then give the narrowest fix and a verification check.
  • Deterministic by design. Explicit CRS handling, pinned dependencies, and resource caps — same imagery and configuration, same output, every run.
  • Densely cross-linked. Concepts link to the guide that implements them, so you can go as deep as the problem requires.

Built with

Static site generated with Eleventy, hand-authored inline SVG diagrams, server-rendered KaTeX for the math, and structured data (JSON-LD) on every page. Deployed on Cloudflare.

Explore

Start at www.dronephotogrammetry.org and follow the workflow that matches the problem in front of you.

Popular repositories Loading

  1. drone-photogrammetry drone-photogrammetry Public

    Production-grade Python engineering reference for reproducible drone photogrammetry and orthomosaic pipelines: image alignment, ground control point optimization, DEM/DSM generation, and raster exp…

    CSS