ArcPy GIS Automation 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-068

Before you join: Participants should be confident ArcGIS Pro users who can add data, run geoprocessing tools, inspect attribute tables, use selections and understand coordinate systems at a working level.

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

GIS teams often repeat the same spatial data preparation, analysis, map production and quality-control tasks across projects. Manual workflows introduce inconsistent settings, undocumented decisions and delays when datasets change. ArcPy allows analysts to turn proven geoprocessing procedures into parameterised Python scripts that can be rerun, reviewed and shared. This is particularly valuable for asset inventories, land administration, environmental monitoring, emergency planning, network analysis and regulatory reporting.

This course teaches participants to automate ArcGIS Pro geoprocessing with ArcPy. Participants work with project files, geodatabases, feature classes, rasters, layers, cursors, geometry objects and geoprocessing tools. They build scripts that validate inputs, manage schemas, apply spatial selections and overlays, process rasters, produce maps and export outputs. The course also covers Python structure, error handling, logging, configuration files, toolboxes, script parameters, testing and performance improvement for large datasets.

Teaching combines short technical briefings with guided case work based on realistic GIS operations. Participants progressively create an automation solution from the first week, then extend it with quality checks, reporting and a reusable tool interface. They leave with a documented ArcPy automation package: a Python script or toolbox, configuration template, validation checklist, logging design and implementation plan that can be adapted to their own ArcGIS Pro workflows.

The course suits GIS analysts, spatial data specialists, GIS administrators and technical staff who already use ArcGIS Pro and need dependable, repeatable automation. It is also relevant to Python users who need to apply their programming knowledge to Esri geoprocessing tools and spatial data models.

What you will be able to do

  • Build ArcPy scripts that automate repeatable ArcGIS Pro geoprocessing workflows
  • Manage file geodatabases, feature classes, tables and schema changes programmatically
  • Apply ArcPy cursors, SQL where clauses and geometry methods to spatial datasets
  • Automate vector and raster analysis using documented geoprocessing parameters
  • Create ArcGIS Pro maps, layouts and exports through the arcpy.mp module
  • Implement input validation, exception handling, logging and reproducible script configuration
  • Publish parameterised script tools and Python toolboxes for GIS team use
  • Present a tested GIS automation solution with documentation and quality controls

Benefits of attending

For you

  • A reusable ArcPy portfolio project demonstrating production-oriented GIS automation
  • Faster completion of repetitive ArcGIS Pro analysis and map-production assignments
  • Practical confidence debugging geoprocessing failures and data-quality issues
  • Ability to convert manual GIS procedures into documented team tools
  • Stronger technical evidence for GIS analyst, automation and spatial data roles

For your organisation

  • Reduced analyst time spent repeating standard geoprocessing and reporting procedures
  • More consistent spatial outputs through controlled parameters and validation rules
  • Auditable scripts that record inputs, processing decisions and generated outputs
  • Reusable GIS tools that reduce dependency on individual manual workflows
  • Improved turnaround for asset, environmental, planning and operational spatial reporting

Course modules

20 modules over 10 days

Participants can structure an ArcPy workflow around repeatable inputs, processing steps and outputs.

  • ArcGIS Pro geoprocessing framework, ArcPy modules and execution contexts
  • Python environments, package management and ArcGIS Pro interpreter selection
  • Workflow decomposition into inputs, transformations, outputs and quality controls
  • Script folders, relative paths and project-level resource organisation
  • ArcPy documentation structure, tool syntax and parameter interpretation
  • Geoprocessing history used to inspect successful manual tool settings

Participants can write readable Python functions and control structures for GIS automation.

  • Variables, strings, numbers and Boolean values used in ArcPy scripts
  • Lists and dictionaries for dataset inventories and processing specifications
  • Conditional logic for optional inputs, missing data and processing branches
  • For loops applied to feature classes, fields and map layers
  • Functions that isolate reusable geoprocessing operations and validation rules
  • PEP 8 naming, comments and docstrings for maintainable GIS code

Participants can access ArcGIS Pro projects and resolve data paths reliably.

  • arcpy.env workspace, scratchWorkspace and overwriteOutput environment settings
  • Absolute and relative paths managed with Python pathlib objects
  • File geodatabases, enterprise geodatabases and folder workspace distinctions
  • ListFeatureClasses and ListDatasets for workspace inventory generation
  • Describe objects used to inspect dataset properties before processing
  • Data existence checks with arcpy.Exists before tool execution

Participants can create, inspect and modify geodatabase schemas through ArcPy.

  • CreateFileGDB and CreateFeatureclass for controlled output data structures
  • AddField, AlterField and DeleteField schema maintenance patterns
  • Field types, nullability, domains and subtype design considerations
  • ListFields inspection for field presence, type and length validation
  • CalculateField expressions using Python parser and code blocks
  • Feature class naming conventions and collision-safe output generation

Participants can read, update and insert attribute records using ArcPy data access cursors.

  • arcpy.da SearchCursor for efficient attribute extraction and inspection
  • UpdateCursor rules for standardising values and correcting data defects
  • InsertCursor workflows for creating derived records from source datasets
  • SQL where clauses for targeted records and query performance
  • Field token usage including OID@, SHAPE@ and SHAPE@AREA
  • Cursor locking, deletion and context managers for safe editing

Participants can inspect and create geometry objects while controlling coordinate systems.

  • Geometry types, multipart features and ArcPy geometry object properties
  • SpatialReference objects, factory codes and projected coordinate system checks
  • Project management using Project tool and transformation selection
  • SHAPE@XY and SHAPE@JSON tokens for geometry exchange workflows
  • Extent, centroid and area calculations with coordinate-system awareness
  • Geometry methods for distance, intersection and containment tests

Participants can script repeatable vector analysis chains with explicit parameters.

  • Buffer parameters including distance units, dissolve options and geodesic method
  • Clip and Pairwise Clip for extracting operational study areas
  • Intersect, Union and Erase for spatial rule implementation
  • Spatial Join match options and field mapping for enrichment
  • Dissolve statistics for aggregation of asset and incident records
  • Temporary datasets managed through scratch geodatabases and deletion routines

Participants can control feature layers, selections and definition queries in scripts.

  • MakeFeatureLayer creates temporary layers with SQL definition queries
  • SelectLayerByAttribute methods for new, added and removed selections
  • SelectLayerByLocation relationships, search distances and inversion options
  • GetCount validation of selected records before downstream processing
  • Field delimiters constructed correctly for geodatabase and shapefile sources
  • Layer files used to preserve symbology and shared definitions

Participants can automate common raster preparation, classification and suitability procedures.

  • Spatial Analyst extension checkout and licence release management
  • Raster environments: cell size, extent, mask and snap raster
  • Raster Calculator expressions for reproducible map algebra models
  • Reclassify remap tables for suitability and risk categorisation
  • Zonal Statistics as Table for polygon-based raster summaries
  • Mosaic and Clip Raster processing for imagery preparation workflows

Participants can process multiple datasets safely through configurable batch routines.

  • Dataset discovery with arcpy.da.Walk across nested workspace structures
  • Filename parsing with pathlib for controlled output naming
  • Batch loops that isolate failed datasets without stopping processing
  • Parameter dictionaries for dataset-specific thresholds and processing options
  • Run summaries recording source datasets, outputs and execution status
  • Idempotent script design that supports safe reruns after interruption

Participants can diagnose failures and create useful execution records for GIS scripts.

  • try, except, else and finally blocks for controlled failure handling
  • arcpy.ExecuteError handling and retrieval of geoprocessing tool messages
  • Python logging levels for diagnostic, warning and error records
  • Timestamped log files linked to script runs and output folders
  • Custom validation messages that identify invalid parameters and datasets
  • Failure recovery choices: retry, skip, rollback and controlled termination

Participants can build validation checks that prevent invalid spatial processing outputs.

  • Required field checks before joins, calculations and analysis steps
  • Geometry validation using Check Geometry and Repair Geometry tools
  • Coordinate-system checks before overlay, distance and area calculations
  • Null-value, duplicate identifier and domain compliance tests
  • Output acceptance criteria for counts, extents and expected attributes
  • Quality-control reports comparing source, intermediate and final datasets

Participants can update ArcGIS Pro maps and export standard cartographic products.

  • arcpy.mp ArcGISProject access to maps, layouts and map frames
  • Layer visibility, definition queries and symbology update approaches
  • Map extent control through camera properties and selected features
  • Dynamic text updates for dates, titles and report identifiers
  • Layout export to PDF, PNG and SVG output formats
  • Map series export for district, asset-zone and parcel reporting

Participants can create structured tabular outputs and exchange GIS data reliably.

  • TableToTable exports with field mappings and controlled output schemas
  • ExportTable operations for CSV reporting and downstream analysis
  • JoinField and AddJoin selection for permanent versus temporary joins
  • Pandas DataFrames for tabular inspection outside ArcGIS geoprocessing
  • JSON and CSV configuration files for repeatable processing settings
  • Metadata fields recording processing date, source and script version

Participants can package ArcPy scripts as usable tools with validated parameters.

  • Script tool parameters: data types, directions, filters and defaults
  • GetParameterAsText and SetParameterAsText for toolbox script interfaces
  • Parameter dependencies that constrain valid user input combinations
  • Tool validation methods: initializeParameters, updateParameters and updateMessages
  • Python toolbox structure with Tool and Toolbox classes
  • Help text, tool labels and usage guidance for GIS colleagues

Participants can identify and reduce common ArcPy performance bottlenecks.

  • Pairwise overlay tools selected for scalable vector processing
  • Attribute indexes added to support frequent query and join fields
  • SearchCursor field minimisation to reduce unnecessary data transfer
  • In-memory workspace use, limitations and cleanup requirements
  • Spatial indexes and grid considerations for feature class operations
  • Timing functions used to profile scripts and locate bottlenecks

Participants can design scripts that operate safely with enterprise geodatabase data.

  • Database connection files and authenticated enterprise geodatabase access
  • Versioned data concepts and edit-session implications for automation
  • Read-only versus update operations in shared production datasets
  • Schema locks, data locks and scheduling considerations for team scripts
  • Query layers and database views for controlled source access
  • Staging geodatabases used before publishing approved production outputs

Participants can prepare ArcPy automation for review, maintenance and controlled release.

  • Unit test cases for helper functions and validation logic
  • Test datasets representing normal, boundary and invalid input conditions
  • Expected-output checks for counts, fields, values and spatial extent
  • README structure covering installation, inputs, outputs and known limitations
  • Git repositories for script history, branches and peer review
  • Semantic versioning applied to scripts, toolboxes and configuration files

Participants can specify a maintainable ArcPy solution for a business GIS process.

  • Process mapping identifies manual steps, decisions, controls and handoffs
  • Input-output specification defines datasets, formats, ownership and refresh frequency
  • Parameter catalogue separates fixed business rules from user-entered values
  • Exception register records foreseeable failures, responses and escalation owners
  • Runbook content defines setup, execution, verification and recovery procedures
  • Deployment options compare analyst desktop, scheduled task and toolbox delivery

Participants can build, review and present a complete ArcPy automation package for a defined GIS workflow.

  • Select a realistic workflow involving spatial data transformation and reporting
  • Define requirements, inputs, outputs, acceptance criteria and processing constraints
  • Build parameterised ArcPy functions with validated geoprocessing tool settings
  • Implement logging, error handling and quality-control checks for key outputs
  • Package the solution as a script tool or Python toolbox
  • Conduct peer code review against maintainability, safety and documentation criteria
  • Present processing results, limitations, implementation plan and operational runbook

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

What you take back to work

  1. ArcPy automation project template
  2. Geoprocessing input-validation checklist
  3. Python logging and error-handling pattern
  4. Script tool parameter specification
  5. GIS automation runbook template
  6. Capstone code review record

Who should attend

  • GIS Analysts — automate recurring data preparation, analysis and map-production tasks
  • Spatial Data Specialists — enforce repeatable data transformations and quality checks
  • GIS Administrators — standardise team geoprocessing tools and geodatabase maintenance
  • Remote Sensing Analysts — batch-process imagery, rasters and derived products
  • Environmental Data Officers — produce auditable spatial monitoring and reporting outputs
  • Python Developers — apply programming skills to ArcGIS Pro data and analysis workflows

Skills and tools covered

ArcPy scriptingGeodatabase automationSpatial analysis automationRaster processingPython toolboxesGIS quality assurance

Tools and standards

ArcGIS Pro, ArcPy, Spatial Analyst, Git

How the course runs

Training methodology

Instructor-led sessions combine concise demonstrations with guided ArcGIS Pro and ArcPy build work. Participants examine realistic cases such as land-parcel updates, flood-exposure screening, asset data validation and raster suitability analysis. Individual and group activities focus on reading tool documentation, diagnosing failures, reviewing code and specifying usable script parameters. Structured simulations address changing inputs, incomplete data and failed geoprocessing runs. Each participant applies course methods to an automation scenario and receives feedback on code structure, outputs and implementation choices.

Requirements and prerequisites

Participants should be confident ArcGIS Pro users who can add data, run geoprocessing tools, inspect attribute tables, use selections and understand coordinate systems at a working level. Familiarity with feature classes, geodatabases and common vector analysis tools such as Buffer, Clip and Spatial Join is expected. Basic Python familiarity is useful, including variables, lists, loops and functions, but participants do not need prior ArcPy experience. Advanced software engineering, web development, database administration and prior remote sensing programming are not 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 already be able to use ArcGIS Pro for routine data management, selections and geoprocessing. Basic Python familiarity helps, but the course teaches the Python patterns needed for ArcPy work.

Bring a laptop capable of running ArcGIS Pro if attending classroom training, together with access to ArcGIS Pro where possible. Sample datasets are provided; participants may also bring a non-sensitive workflow or anonymised data specification.

The course is designed for GIS professionals who spend time repeating data preparation, analysis, quality-control or map-production procedures. It also suits Python users moving into Esri-based spatial automation.

This course assumes operational ArcGIS Pro knowledge and concentrates on ArcPy as the automation interface. It goes beyond basic Python syntax to address geodatabases, spatial analysis, raster processing, maps, toolboxes, testing and operational controls.

Participants can convert a recurring GIS procedure into a script or toolbox with parameters, validation and logging. Typical applications include asset updates, environmental screening, parcel processing, imagery preparation and standard report production.

The first part builds core ArcPy, geodatabase, vector and raster automation skills while participants begin useful scripts. The later sessions cover tool packaging, performance, quality assurance, enterprise considerations and a complete capstone automation package.

Questions about this course?

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