GIS Automation Using Python Training Course

Duration 10 days 20 modules · 65 contact hours
Level Intermediate Certificate on completion
Who attends GIS Analysts, Spatial Data Specialists and others
Fee from USD 2,200 KSh 190,000 for Kenyan organisations
Where 52 cities + online See dates by city
Next start 16 Nov 2026 Course code SD-GRS-090

Before you join: Participants should be comfortable using desktop GIS software to inspect layers, edit attributes, run basic geoprocessing tools and interpret coordinate reference systems.

Dates & prices

Two start dates a month in every city, and live online on weekdays or weekends. Fees are per participant; classroom fees include tuition, materials, lunch and refreshments, and the certificate.

Suggest a date or city

Showing the next six months. Later dates, other cities and private deliveries for your team are available on request.

Course overview

Geospatial teams often spend substantial time repeating data preparation, map production, quality checks and reporting tasks that could be executed consistently by scripts. Manual workflows also create avoidable differences between analysts, weak audit trails and delays when a new data release arrives. Python provides a practical way to automate spatial analysis, integrate GIS with business data and produce repeatable outputs for planning, infrastructure, environmental monitoring, risk, public services and asset management.

This course teaches participants to design, write, test and maintain Python-based GIS workflows. It covers Python programming patterns for spatial work; vector and raster data processing; coordinate reference systems; geoprocessing; spatial queries; data quality controls; map and report generation; web-service access; and scheduled batch processing. Participants work with ArcPy, GeoPandas, GDAL and PyQGIS concepts, learning how to select an appropriate library and build scripts that can be handed to another analyst.

Instruction combines focused technical briefings, instructor demonstrations, guided code review, case-based analysis and structured application work. Cases reflect common professional assignments such as checking utility asset records, preparing land-use evidence, processing satellite-derived rasters and creating repeatable site-screening reports. Participants leave with a documented automation project: a versioned Python workflow, configuration file, validation checks, outputs, user instructions and an implementation plan for their own GIS environment.

The course is intended for GIS analysts, spatial data specialists, remote sensing practitioners and technical professionals who already use GIS and need to reduce repetitive work through reliable scripting. It also suits data analysts and developers supporting spatial systems who need sound GIS data-handling methods rather than introductory map-reading tuition.

What you will be able to do

  • Design repeatable Python workflows for vector, raster and tabular GIS data
  • Write ArcPy and GeoPandas scripts for common geoprocessing operations
  • Apply coordinate reference system controls to prevent spatial processing errors
  • Automate spatial queries, joins, overlays and attribute quality checks
  • Process raster datasets using GDAL, NumPy and rasterio techniques
  • Generate maps, tables and reports from parameterised GIS scripts
  • Test, document and package maintainable GIS automation code
  • Present a complete GIS automation solution with implementation controls

Benefits of attending

For you

  • Reduced time spent on repetitive geoprocessing and map-production tasks
  • Practical Python portfolio evidence through a documented automation project
  • Stronger ability to diagnose coordinate, schema and geometry errors
  • Confidence selecting ArcPy, GeoPandas, GDAL or PyQGIS for a task
  • A reusable method for turning manual GIS procedures into scripts

For your organisation

  • Consistent GIS outputs produced from documented, repeatable processing steps
  • Shorter turnaround for recurring spatial reports, data updates and checks
  • Lower operational risk from manual copying, filtering and geoprocessing errors
  • Clearer audit trails for regulated spatial decisions and published datasets
  • Reusable automation assets that reduce dependence on individual analysts

Course modules

20 modules over 10 days

Participants can define a maintainable architecture for a Python-based GIS automation workflow.

  • Automation candidates identified through frequency, risk, volume and decision criticality
  • GIS workflow decomposition into inputs, transformations, outputs and acceptance criteria
  • Python environments, interpreters, packages and project folder conventions
  • Script versus notebook selection for operational geoprocessing tasks
  • Configuration-driven processing using YAML, JSON and environment variables
  • File naming, logging and run identifiers for auditable workflows

Participants can write core Python constructs used in GIS processing scripts.

  • Variables, strings, numbers and Boolean expressions in data-processing scripts
  • Lists, dictionaries and tuples for layer parameters and metadata
  • Conditional logic controlling geoprocessing branches and validation responses
  • Loops applied to feature classes, files, fields and map layers
  • Functions designed with arguments, return values and clear responsibilities
  • Exceptions handled using try, except, finally and informative messages

Participants can inspect, organise and safely read common GIS data sources.

  • Vector geometry types, feature attributes and topology-related processing implications
  • Raster bands, cells, nodata values and spatial extent metadata
  • GeoPackage, File Geodatabase, Shapefile and GeoJSON format trade-offs
  • Pathlib methods for portable paths and systematic file discovery
  • Schema inspection before automated joins, appends and field calculations
  • Metadata capture for source lineage, dates and processing assumptions

Participants can apply coordinate reference system checks and transformations within scripts.

  • Geographic versus projected coordinate systems and measurement consequences
  • EPSG identifiers used to specify reproducible coordinate reference systems
  • Datum transformation selection for authoritative spatial data sources
  • Projection checks before distance, area, buffer and overlay operations
  • Reprojecting vector layers with GeoPandas and ArcPy methods
  • Raster alignment controls for projection, resolution, extent and cell origin

Participants can automate standard ArcGIS geoprocessing tasks using ArcPy.

  • ArcPy workspace settings, environments and overwrite output controls
  • Feature class iteration using arcpy.da cursors and field lists
  • Buffer, clip, dissolve and intersect tools called from scripts
  • Selection workflows using attribute queries and spatial relationships
  • Field mapping rules for append, merge and export operations
  • ArcPy messages, warnings and errors captured in execution logs

Participants can process vector datasets with GeoPandas and Shapely operations.

  • Reading spatial files with geopandas read_file and explicit encodings
  • GeoDataFrame filtering using Pandas expressions and attribute conditions
  • Spatial joins based on intersects, within and nearest predicates
  • Overlay operations for intersection, difference, union and identity analysis
  • Geometry repair checks using validity tests and buffer techniques
  • Writing GeoPackage outputs with controlled layer names and schemas

Participants can build reliable attribute transformations and GIS data joins.

  • Pandas DataFrames used for nonspatial reference and transaction data
  • Key-field profiling before one-to-one and one-to-many joins
  • Data type conversion, null handling and controlled value standardisation
  • Calculated fields created with vectorised Pandas and ArcPy expressions
  • Duplicate record detection using composite keys and grouping methods
  • Join validation through record counts, unmatched rows and summary statistics

Participants can script repeatable spatial analysis procedures with defined parameters.

  • Parameterised buffer analysis using distances, units and exclusion zones
  • Proximity analysis with nearest features and distance threshold rules
  • Site screening models combining constraints, opportunities and weighted criteria
  • Point-in-polygon summaries for service coverage and administrative reporting
  • Network analysis inputs prepared for routing and accessibility workflows
  • Sensitivity checks comparing alternative thresholds and classification rules

Participants can automate raster inspection, transformation and analysis tasks.

  • Rasterio datasets inspected for bands, transforms, masks and coordinate systems
  • GDAL commands applied for translation, warping and format conversion
  • NumPy arrays used for cell calculations and raster classification
  • Raster clipping using vector boundaries and aligned output grids
  • Band mathematics for indices, thresholds and change-detection inputs
  • Nodata handling prevents false values in zonal and summary outputs

Participants can construct controlled Python workflows for satellite and aerial imagery processing.

  • Image acquisition inventories organised by sensor, date, tile and cloud cover
  • Band selection rules for Sentinel-2 and Landsat analytical products
  • Cloud masks and quality bands applied before raster calculations
  • Normalized Difference Vegetation Index calculated with explicit scaling assumptions
  • Temporal composites prepared using date windows and pixel selection rules
  • Classification outputs assessed using reference samples and confusion matrices

Participants can implement automated checks for spatial and attribute data quality.

  • Validation rules defined for completeness, validity, consistency and uniqueness
  • Geometry checks identify nulls, empties, duplicates and invalid features
  • Domain validation compares attributes against approved code lists
  • Range and tolerance tests applied to coordinates, areas and lengths
  • Topology exceptions recorded for overlaps, gaps and boundary mismatches
  • Quality reports summarise failed records, severity and corrective actions

Participants can connect scripts to managed spatial data stores using safe query patterns.

  • PostGIS tables queried through SQLAlchemy connections and parameterised SQL
  • Spatial SQL functions for filtering, aggregation and geometry relationships
  • Enterprise geodatabase connection files managed outside source code
  • Transaction boundaries protect production datasets during automated updates
  • Read-only extracts separated from edit workflows and operational tables
  • Indexes assessed for spatial query performance and processing time

Participants can retrieve and publish GIS data through controlled web-service requests.

  • REST API requests constructed with authentication, parameters and pagination
  • Feature service queries filtered by attributes, geometry and record limits
  • JSON responses parsed into tabular and spatial processing structures
  • Rate limits, retries and timeouts managed for reliable service calls
  • ArcGIS REST endpoints used for item, layer and feature operations
  • API response logs retained for traceability and incident investigation

Participants can generate standardised maps, charts and tables from automated workflows.

  • ArcPy map automation updates layers, symbology and layout text
  • Matplotlib charts created from spatial summaries and quality indicators
  • Template-based reports populated with run dates and key statistics
  • Map export settings controlled for PDF, PNG and resolution requirements
  • Classification breaks documented for reproducible thematic map outputs
  • Output folders structured by project, date, run and deliverable type

Participants can apply PyQGIS methods within QGIS-based automation environments.

  • PyQGIS console, processing toolbox and project objects explained
  • QGIS Processing algorithms called with named parameters and outputs
  • Model Builder workflows converted into reusable Python processing scripts
  • Layer styling applied through QML files and project templates
  • Virtual layers and SQL queries used for lightweight analysis
  • Open-source library selection based on licensing, support and deployment needs

Participants can diagnose failures and test GIS automation scripts against expected outputs.

  • Debugging with breakpoints, variable inspection and controlled test datasets
  • Unit tests written for functions, transformations and validation rules
  • Test fixtures isolate input data, temporary outputs and expected results
  • Assertions compare feature counts, schemas, extents and calculated values
  • Logging levels distinguish diagnostic messages, warnings and failures
  • Failure scenarios tested for missing files, invalid geometry and empty selections

Participants can prepare readable, documented and transferable GIS automation code.

  • PEP 8 naming, formatting and import conventions applied consistently
  • Docstrings specify function purpose, parameters, returns and exceptions
  • README files describe installation, inputs, outputs and execution steps
  • Configuration templates separate user settings from processing logic
  • Git commits record purposeful changes and support code review
  • Dependency files specify reproducible package versions and environment requirements

Participants can prepare a GIS script for controlled operational use.

  • Command-line arguments provide controlled runtime parameters and input locations
  • Windows Task Scheduler configured for recurring unattended script execution
  • Environment activation ensures scheduled jobs use required package versions
  • Runbooks define pre-run checks, escalation paths and recovery procedures
  • Access controls protect credentials, sensitive datasets and output locations
  • Performance monitoring tracks duration, volumes, failures and resource consumption

Participants can plan a GIS automation initiative with ownership, controls and measurable value.

  • Process mapping identifies handoffs, decision points and manual interventions
  • Requirements translated into acceptance criteria, test cases and output specifications
  • Risk assessment addresses data sensitivity, failures and incorrect automated decisions
  • RACI matrices assign script ownership, review authority and operational support
  • Benefits measures track time saved, error reduction and service performance
  • Implementation roadmaps sequence pilot, validation, release and maintenance activities

Participants can build, review and present a complete documented GIS automation solution for a defined operational requirement.

  • Problem statement defines users, source datasets, outputs and acceptance criteria
  • Workflow design specifies processing stages, parameters, dependencies and controls
  • Python script automates spatial processing, validation and output generation
  • Test evidence demonstrates expected results, exceptions and data-quality findings
  • Documentation package includes README, configuration template, runbook and data dictionary
  • Peer review assesses code clarity, reproducibility, risks and maintainability
  • Presentation explains design choices, outputs, controls and implementation recommendations

Exercises and examples are adapted to each cohort's sectors and roles.

What you take back to work

  1. GIS automation opportunity assessment template
  2. Parameterised Python geoprocessing script template
  3. Spatial data quality validation checklist
  4. Raster processing workflow model
  5. GIS script testing and code-review checklist
  6. Operational deployment runbook template

Who should attend

  • GIS Analysts — automate recurring mapping, data preparation and quality-control tasks
  • Spatial Data Specialists — build repeatable processing pipelines for enterprise datasets
  • Remote Sensing Analysts — process raster products and integrate derived outputs
  • GIS Managers — assess, standardise and govern automation opportunities within GIS teams
  • Data Analysts — add spatial processing methods to Python-based analytical workflows
  • Geospatial Developers — apply GIS data rules when building operational scripts

Skills and tools covered

Python GIS scriptingSpatial data processingRaster automationGeoprocessing designGIS quality assuranceScript documentation

Tools and standards

ArcGIS Pro, QGIS, GeoPandas, GDAL

How the course runs

Training methodology

The course uses short technical briefings followed by instructor demonstrations and structured case work. Participants inspect source data, translate manual GIS procedures into script logic, review code in pairs and test outputs against stated acceptance criteria. Group discussions compare tool choices, error-handling approaches and deployment constraints. Scenarios use realistic vector, raster and tabular datasets. Individual application planning links each participant's automation project to local data sources, software licences, approval controls and operational users.

Requirements and prerequisites

Participants should be comfortable using desktop GIS software to inspect layers, edit attributes, run basic geoprocessing tools and interpret coordinate reference systems. They should understand common vector formats, raster datasets and tabular joins. Prior exposure to Python is useful, including variables, lists and simple functions, but participants do not need to be software developers. The course introduces required Python patterns before applying them to GIS tasks. No previous ArcPy, PyQGIS, GDAL, database administration, web development or advanced remote sensing experience is required.

A typical training day

08:30 – 10:30First session
10:30 – 10:45Refreshment break
10:45 – 12:30Second session
12:30 – 13:30Lunch and networking
13:30 – 15:00Third session
15:00 – 15:15Refreshment break
15:15 – 16:30Workshop and daily review

Live online deliveries follow the same structure in East Africa Time, with shorter screen blocks and longer breaks.

What the fee includes

  • Instruction by a practitioner facilitator
  • Full course workbook and materials
  • Exercise files, templates and case studies
  • Refreshments and lunch on classroom deliveries
  • Certificate of completion
  • Post-course application plan

Frequently asked questions

You should understand basic Python concepts such as variables, lists and simple conditional logic, or be prepared to refresh them before the course. The course teaches the coding patterns required for GIS work, but it is not designed as a first programming course.

Bring a laptop capable of running the agreed GIS and Python software, plus a charger and administrator access where possible. Participants may also bring a non-sensitive example of a recurring GIS task, subject to their organisation's data-handling rules.

It is best suited to GIS analysts, spatial data specialists, remote sensing analysts and technical staff who already work with GIS datasets. It also suits data analysts who need to add spatial processing to existing Python work.

General Python courses focus on programming fundamentals, while introductory GIS courses focus on spatial concepts and desktop tools. This course concentrates on turning established GIS procedures into tested, documented and operational Python workflows.

Participants can begin with recurring tasks such as layer updates, spatial checks, buffer analysis, raster clipping and standard map exports. The course provides templates for scoping, testing, documenting and scheduling those scripts within local controls.

Each training day runs from 08:30 to 16:30 and provides about 6.5 contact hours. The programme progresses from Python and GIS data handling in the first week to raster processing, web services, testing, deployment and a complete capstone solution in the second week.

Questions about this course?

Ask about dates, fees, group bookings or running it for your team. Our training team replies by email.