Python Scripting for ArcGIS Training Course

Duration 10 days 22 modules · 65 contact hours
Level Intermediate Certificate on completion
Who attends GIS Analysts, GIS Technicians 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-152

Before you join: Participants should be confident using ArcGIS Pro to view, edit and analyse vector data, manage geodatabases and run standard geoprocessing tools.

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

Many GIS teams still complete repeatable data preparation, analysis and map-production tasks manually. This creates delays, inconsistent outputs and limited auditability when projects involve large datasets, recurring reporting cycles or multiple analysts. Python scripting for ArcGIS enables GIS professionals to turn established workflows into repeatable processes that apply the same rules, produce traceable outputs and reduce routine desktop work.

This course develops practical Python and ArcPy capability for ArcGIS Pro users who need to automate geoprocessing, data management, spatial analysis, raster processing and map production. Participants work with Python syntax, ArcPy environments, feature classes, tables, cursors, geometry objects, geodatabases, map objects and script tools. They also learn to structure scripts, validate inputs, handle errors, record processing logs, manage configuration settings and improve performance for larger jobs. Later modules extend automation into ArcGIS Pro projects, layouts, web GIS content and enterprise geodatabase workflows.

Instruction combines short technical briefings with guided case work based on realistic GIS assignments such as updating asset inventories, processing land-use data, preparing environmental monitoring datasets and producing repeatable planning maps. Participants build scripts throughout the course rather than waiting until the final days. They leave with a documented ArcPy automation package, including a parameterised script tool, reusable functions, quality-control checks, a processing log and an ArcGIS Pro project workflow. The course is delivered instructor-led over 10 days, in classroom locations across 50+ cities or live online, with approximately 6.5 contact hours each day. Participants receive a certificate of completion.

The course suits GIS analysts, spatial data specialists, remote sensing practitioners and technical staff who already use ArcGIS Pro and need dependable automation for operational GIS work.

What you will be able to do

  • Write structured Python scripts for ArcGIS Pro geoprocessing and data-management tasks
  • Configure ArcPy workspaces, environments and parameters for reproducible processing
  • Automate vector, raster and table workflows using ArcPy geoprocessing tools
  • Manipulate feature classes and attribute tables with ArcPy data access cursors
  • Build ArcGIS Pro map, layout and report automation using the arcpy.mp module
  • Create parameterised Python script tools with validation, messages and error handling
  • Apply logging, testing and performance techniques to maintain dependable GIS scripts
  • Deliver a documented ArcPy automation workflow for a defined GIS business process

Benefits of attending

For you

  • Reduced time spent repeating routine ArcGIS Pro geoprocessing sequences
  • A portfolio-ready ArcPy script tool with documented parameters and outputs
  • Practical methods for diagnosing failed scripts and invalid spatial data
  • Capability to automate map layouts, exports and recurring reporting products
  • Stronger technical credibility for GIS analyst and spatial automation roles

For your organisation

  • Consistent geoprocessing outputs through documented and repeatable ArcPy workflows
  • Lower analyst time spent on routine data preparation and map production
  • Improved audit trails through script logs, validation rules and named outputs
  • Faster delivery of recurring asset, environmental and planning GIS reports
  • Reusable automation assets that reduce dependence on undocumented manual procedures

Course modules

22 modules over 10 days

Participants can explain how Python, ArcPy and ArcGIS Pro work together in an automation workflow.

  • Python execution paths within ArcGIS Pro and standalone environments
  • ArcPy modules, namespaces and tool aliases used by geoprocessing scripts
  • ArcGIS Pro project structure, folders, geodatabases and toolboxes
  • Python window use for testing individual ArcPy statements
  • Script files, notebooks and script tools compared by purpose
  • Conda environments and package management within ArcGIS Pro

Participants can write readable Python code using core language constructs required for GIS automation.

  • Variables, strings, numbers and Boolean values for GIS parameters
  • Lists, tuples, dictionaries and sets for managing datasets
  • Conditional logic with if, elif and else statements
  • For and while loops controlling repeated processing tasks
  • Functions that isolate reusable geoprocessing and validation logic
  • Imports, modules and docstrings supporting maintainable script structure

Participants can configure ArcPy environments and run geoprocessing tools with controlled outputs.

  • arcpy.env workspace and scratchWorkspace settings for controlled processing
  • OverwriteOutput rules and output naming conventions for repeatability
  • Extent, mask, cell size and snap raster environments
  • Calling ArcPy geoprocessing tools through Python function syntax
  • Tool result objects, messages and derived output values
  • Path handling with os.path and pathlib methods

Participants can create scripts that accept inputs, define outputs and process user-selected datasets.

  • Script parameters defined with arcpy.GetParameterAsText methods
  • Typed parameter values retrieved through arcpy.GetParameter functions
  • Default values and optional inputs handled by conditional logic
  • Output paths assembled from workspaces, names and file extensions
  • Feature layers and dataset paths distinguished during parameter handling
  • User messages written with AddMessage, AddWarning and AddError

Participants can automate common feature class preparation and management tasks using ArcPy.

  • CopyFeatures and FeatureClassToFeatureClass for controlled data extracts
  • Select analysis outputs using SQL expressions and selection layers
  • Buffer, Clip, Dissolve and Merge workflows scripted in sequence
  • Field creation, deletion and calculation through ArcPy tools
  • Spatial reference checks before writing projected output datasets
  • Schema inspection with Describe objects and ListFields methods

Participants can read, update and create attribute records efficiently with ArcPy cursors.

  • SearchCursor patterns for reading selected attribute field values
  • UpdateCursor methods for controlled attribute corrections and calculations
  • InsertCursor workflows for creating records from external source data
  • Cursor field tokens including OID@, SHAPE@ and SHAPE@AREA
  • SQL where clauses applied before cursor-based record processing
  • Context managers used to close cursors and release locks

Participants can use geometry objects and spatial relationships to build targeted spatial processing logic.

  • Point, Polyline, Polygon and Multipoint geometry object properties
  • Geometry methods for area, length, centroid and extent
  • Spatial relationships tested with contains, intersects and within methods
  • Feature geometry accessed through SHAPE@ cursor tokens
  • Coordinate transformations specified when creating new geometry outputs
  • Multipart features and null geometry records handled safely

Participants can automate raster preparation and analysis using ArcPy and Spatial Analyst tools.

  • Raster objects, cell values and metadata accessed through ArcPy
  • Raster Calculator expressions built for repeatable suitability analysis
  • Reclassify and Con workflows for classified raster outputs
  • ExtractByMask processing controlled by analysis environment settings
  • Mosaic datasets and image services identified for scripted processing
  • NoData values, pixel types and compression checked before export

Participants can structure multi-step spatial analysis scripts with clear inputs, intermediate data and outputs.

  • Analysis chains mapped from source data through final outputs
  • Intermediate datasets stored in scratch geodatabases and deleted safely
  • Near, SpatialJoin and GenerateNearTable methods compared
  • Overlay analysis scripted with Intersect, Union and Erase tools
  • Suitability criteria translated into transparent geoprocessing decision rules
  • Output validation checks applied after each critical processing stage

Participants can diagnose common ArcPy failures and produce useful records of script execution.

  • Try, except, else and finally blocks controlling script failures
  • arcpy.ExecuteError handling for geoprocessing tool-specific exceptions
  • Python traceback messages captured for unexpected coding errors
  • Logging module configuration for timestamps, levels and output files
  • Input existence checks performed with arcpy.Exists before processing
  • Structured error messages identify failed datasets, tools and parameters

Participants can inspect, test and improve ArcPy scripts before operational use.

  • Print statements and logging records used for targeted diagnostics
  • Breakpoints and variable inspection within supported Python editors
  • Assertions used to test expected dataset properties and results
  • PEP 8 naming conventions applied to script variables
  • Functions refactored to reduce duplicated geoprocessing code blocks
  • Code review criteria covering readability, paths, errors and outputs

Participants can modify ArcGIS Pro projects, maps and layers using the arcpy.mp module.

  • ArcGISProject objects opened and saved through arcpy.mp
  • Map objects listed by name and updated programmatically
  • Layers added, removed and grouped within project maps
  • Definition queries applied to layers through Python properties
  • Symbology sources copied between compatible feature layers
  • Connection properties updated when data locations change

Participants can automate standard map layouts, exports and map-series production from ArcGIS Pro.

  • Layout elements identified through listElements and element type filters
  • Text elements updated with dates, titles and processing metadata
  • Map frames assigned extent and scale from feature geometry
  • PDF, PNG and SVG exports configured for publication requirements
  • Map series pages exported using index layers and page queries
  • Output folders organised by project, date and map product

Participants can package scripts as ArcGIS Pro tools with clear parameters and validation.

  • Script tool properties configured within an ArcGIS Pro toolbox
  • Parameter data types, directions and filters chosen appropriately
  • ToolValidator classes used for dynamic parameter validation
  • Dependencies between input parameters controlled through updateParameters methods
  • Derived outputs declared for ModelBuilder and workflow compatibility
  • Tool help text documents purpose, inputs, outputs and limitations

Participants can process collections of datasets efficiently and maintain predictable output structures.

  • arcpy.da.Walk searches geodatabases for target dataset types
  • Python glob patterns identify files within folder-based data stores
  • Batch loops process feature classes using consistent naming rules
  • File geodatabase creation and deletion managed through ArcPy tools
  • Temporary files removed after successful completion of processing steps
  • Run summaries record processed datasets, timings and failed items

Participants can build scripted extract, transform and load processes with measurable data quality controls.

  • ETL workflows separate source extraction, transformation and destination loading
  • Required field checks identify incomplete records before loading
  • Domain values and coded attributes validated against approved lists
  • Duplicate features detected through keys, geometry and spatial joins
  • Coordinate systems standardised before combining incoming spatial datasets
  • Quality-control reports summarise exceptions for data owner review

Participants can apply ArcPy safely to enterprise geodatabase datasets and controlled editing workflows.

  • Database connection files referenced without exposing authentication details
  • Versioned datasets identified before automated editing and reconciliation
  • Edit sessions managed with arcpy.da.Editor transaction methods
  • Schema locks diagnosed before field, index and dataset changes
  • Indexes created to improve repeated attribute query performance
  • Enterprise outputs separated from temporary processing workspaces

Participants can automate selected ArcGIS Online and portal content management tasks using Python.

  • ArcGIS API for Python objects authenticate to portal content
  • Content searches locate items through type, tags and owners
  • Feature layers queried and updated through hosted service methods
  • Item metadata updated with descriptions, tags and credits
  • Web map layers inspected before operational content updates
  • Sharing settings checked for groups, organisations and public access

Participants can improve script efficiency and avoid common memory, lock and processing bottlenecks.

  • Processing times measured with perf_counter and structured log entries
  • In-memory workspaces evaluated for suitable intermediate processing tasks
  • Field lists restricted to reduce cursor processing overhead
  • Selections and queries applied before expensive spatial operations
  • Dataset locks released through object deletion and context managers
  • Chunking strategies used for large tables and feature collections

Participants can prepare scripts for team maintenance through documented configuration and source control practices.

  • Configuration files store paths, thresholds and user-adjustable settings
  • JSON and CSV files read for repeatable external configuration
  • README files document installation, inputs, outputs and operating steps
  • Git repositories track script changes, branches and release versions
  • Sensitive credentials excluded through environment variables and ignore files
  • Naming conventions link scripts, toolboxes, logs and output datasets

Participants can specify an ArcGIS automation workflow that is suitable for operational ownership and review.

  • Process maps distinguish manual decisions from automatable processing steps
  • Input-output specifications define datasets, formats, owners and refresh cycles
  • Acceptance criteria state spatial accuracy, completeness and delivery requirements
  • Risk registers identify destructive operations, permissions and dependency failures
  • Release checklists confirm paths, parameters, logs and rollback arrangements
  • Support handover documents assign script ownership and maintenance responsibilities

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

  • Business requirement translated into a defined ArcGIS automation scope
  • Parameterised ArcPy script processes source data through validated outputs
  • Script tool interface exposes inputs, options and derived deliverables
  • Logging and exception handling provide traceable processing evidence
  • Quality checks confirm spatial, attribute and output file requirements
  • Peer review assesses code structure, usability and documentation quality

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

What you take back to work

  1. Parameterised ArcPy script tool template
  2. Geoprocessing workflow design specification
  3. Python error-handling and logging pattern
  4. ArcGIS Pro map export automation script
  5. Spatial data quality-control checklist
  6. Capstone automation package and documentation set

Who should attend

  • GIS Analysts — need to automate repeated geoprocessing and map-production tasks
  • GIS Technicians — need repeatable methods for preparing and maintaining spatial datasets
  • Spatial Data Managers — need controlled scripts for data quality and routine updates
  • Remote Sensing Analysts — need Python methods for raster and imagery processing
  • Environmental Data Specialists — need repeatable analysis for monitoring and reporting datasets
  • Infrastructure Asset Analysts — need automated updates for network and asset information

Skills and tools covered

ArcPy automationGeoprocessing scriptingSpatial data managementMap production automationRaster processingPython error handling

Tools and standards

ArcGIS Pro, ArcPy, ArcGIS API for Python, Git

How the course runs

Training methodology

The course uses short instructor briefings followed by guided scripting, case-based analysis and structured group review. Participants build and test ArcPy code against realistic GIS tasks, including data preparation, spatial analysis, raster processing and map export. Trainers demonstrate debugging methods, then participants diagnose errors, compare alternative approaches and refine scripts using defined quality criteria. Application planning links each technique to participants' own ArcGIS Pro workflows. Classroom and live online delivery include instructor feedback on code structure, outputs and documentation.

Requirements and prerequisites

Participants should be confident using ArcGIS Pro to view, edit and analyse vector data, manage geodatabases and run standard geoprocessing tools. They should understand common GIS concepts including coordinate systems, attribute tables, feature classes, joins and spatial selection. Basic Python familiarity is helpful, such as variables, lists and simple conditional statements, but participants do not need prior ArcPy experience. The course does not require software development experience, advanced mathematics, database administration or previous work with enterprise GIS platforms.

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 be comfortable using ArcGIS Pro, geodatabases, feature classes, attribute tables and standard geoprocessing tools. Basic Python knowledge is helpful, but prior ArcPy scripting is not required.

Bring a laptop if attending live online, with reliable internet access and permission to install or access ArcGIS Pro. Classroom participants should bring examples of recurring GIS tasks they would like to automate, where organisational data-sharing rules permit.

The course is designed for GIS analysts, technicians, spatial data specialists, remote sensing analysts and technical staff who already work with ArcGIS Pro. It is particularly useful for people responsible for repeated data preparation, analysis or map-production work.

General Python courses focus on the language without the ArcGIS Pro data model, geoprocessing framework or map-production tools. This course uses Python specifically for ArcPy, geodatabases, spatial analysis, raster processing, layouts and ArcGIS project automation.

Participants can apply the methods to recurring tasks such as clipping datasets, updating attributes, checking data quality, processing imagery, exporting maps and preparing scheduled reports. The course includes planning methods for turning a manual GIS process into a documented script tool.

The first part establishes Python, ArcPy, data access and geoprocessing automation while participants start building working scripts. The later part covers maps, layouts, toolboxes, web GIS, enterprise data, performance and governance, ending with 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.