Catalogue
/
Data Science
/
Python Scripting with ArcGIS

Python Scripting with ArcGIS

A practical course on automating geoprocessing, data-management, and map-production workflows with Python and ArcPy. Participants learn the fundamentals of Python programming and develop their own scripts for recurring tasks within ArcGIS.

What will you learn?

You will learn how to create Python scripts for typical GIS workflows, call geoprocessing tools through ArcPy, and process multiple datasets automatically. You will access the properties, attributes, and geometries of geospatial data and use environment settings, cursors, tables, and files within your scripts.

You will also learn how to handle errors systematically, test scripts, and integrate custom script tools into the ArcGIS interface.

By the end of the course, you will be able to develop simple to moderately complex Python scripts, automate recurring GIS processes, and provide your scripts as tools for other ArcGIS users.

• Apply basic Python syntax and programming concepts

• Call and combine geoprocessing tools with ArcPy

• Process geospatial data and tables automatically

• Develop batch processes for multiple files and datasets

• Examine geospatial data properties with ArcPy

• Read, update, and add attributes using cursors

• Manage files and directories through Python

• Identify errors, handle exceptions, and test scripts systematically

• Integrate scripts as custom tools within ArcGIS

• Understand differences between scripting workflows in ArcMap and ArcGIS Pro

Requirements:

• Basic knowledge of ArcGIS or ArcGIS Pro

• Experience with geoprocessing tools, layers, attribute tables, and geodatabases

• A basic understanding of common GIS workflows

• Programming experience is helpful but not required

Course Outline*:

*We customize the course outline and content to your specific needs and relevant use cases.

Module 1: Introduction to Python Scripting with ArcGIS

• Applications of Python in GIS workflows

• Typical automation tasks within ArcGIS

• How Python, ArcPy, and geoprocessing tools work together

• Differences between interactive tool execution and scripting

• Structure of a simple Python script

• Planning scripts and dividing workflows into individual steps

• Principles of maintainable and reusable scripts

Module 2: Python Fundamentals

• Variables and fundamental data types

• Strings, numbers, and Boolean values

• Lists, tuples, and dictionaries

• Operators and expressions

• Conditions using if, elif, and else

• Repetition using for and while loops

• Defining and calling functions

• Using comments and readable code structures

Module 3: Working with Python Development Environments

• Understanding Python environments within ArcGIS

• Creating scripts in suitable editors and notebook environments

• Creating, saving, and running script files

• Developing and testing code incrementally

• Importing packages and modules

• Reviewing outputs and messages

• Organising working directories and project structures

Module 4: Introduction to ArcPy

• Structure and purpose of the ArcPy module

• Importing ArcPy into Python scripts

• Calling geoprocessing tools through ArcPy

• Using tool parameters and return values

• Examining results and result objects

• Understanding ArcPy namespaces and functional areas

• Reading and documenting geoprocessing messages

Module 5: Accessing ArcGIS Tools

• Using selection, analysis, conversion, and data-management tools

• Defining input and output parameters

• Connecting several tools into a complete process

• Distinguishing temporary and permanent outputs

• Using the output of one tool as the input for another

• Checking for existing datasets and overwriting them when appropriate

• Recording tool operations in a traceable manner

Module 6: Environment Settings and Workspaces

• Purpose of ArcPy environment settings

• Defining current and temporary workspaces

• Setting output coordinate systems

• Controlling processing extent, cell size, and masks

• Configuring the overwriting of existing outputs

• Setting and resetting environments within a script

• Creating scripts that adapt to different data environments

Module 7: Finding and Describing Data

• Listing feature classes, tables, rasters, and other datasets

• Searching files and workspaces automatically

• Using wildcards and dataset-type filters

• Examining geospatial data properties with Describe

• Reading geometry types, coordinate systems, and fields

• Checking whether datasets exist and are available

• Controlling workflows based on dataset properties

Module 8: Batch Processing

• Automating recurring tasks across multiple datasets

• Processing files and feature classes with loops

• Finding input data in directories and geodatabases

• Generating dynamic output names

• Storing results in suitable destination structures

• Skipping invalid or unsuitable datasets

• Recording progress and processing results

• Testing and optimising batch processes

Module 9: Working with Cursors and Tables

• Purpose and applications of ArcPy Data Access cursors

• Reading records with Search Cursors

• Changing attribute values with Update Cursors

• Adding new records with Insert Cursors

• Selecting suitable fields for processing

• Applying conditions and calculations to table rows

• Handling null values and different data types

• Using cursors efficiently and responsibly

Module 10: Geometries and Spatial Properties

• Reading geometry objects through cursors

• Processing coordinates, lengths, and areas

• Distinguishing point, line, and polygon geometries

• Using geometry properties in calculations

• Writing spatial information to new fields

• Creating simple geometries with Python

• Combining spatial and attribute-based processing

Module 11: Reading and Writing Files

• Opening and processing text and CSV files

• Reading information from external files

• Writing results to text or CSV files

• Constructing file paths and names reliably

• Distinguishing relative and absolute paths

• Creating, copying, and checking files and directories

• Considering encoding, delimiters, and line structures

• Creating file-based logs and result lists

Module 12: Error Handling and Debugging

• Distinguishing syntax, runtime, and data errors

• Reading and interpreting error messages

• Protecting critical processes with try and except blocks

• Producing custom error messages and guidance

• Retrieving geoprocessing errors from ArcPy

• Checking variables and intermediate results

• Isolating the source of errors step by step

• Testing scripts with different input datasets

Module 13: Integrating Scripts into ArcGIS

• Providing scripts as custom geoprocessing tools

• Creating script tools within a toolbox

• Defining input, output, and optional parameters

• Setting data types, default values, and filters

• Reading parameter values within the script

• Displaying messages, warnings, and errors in the tool interface

• Documenting tools clearly for other users

• Using script tools within models and further workflows

Module 14: Automated Map Production

• Accessing projects, maps, and layers with Python

• Examining map content and data sources

• Adding, removing, or updating layers

• Using layouts and map frames automatically

• Updating text and other layout elements

• Exporting maps and layouts to suitable formats

• Producing recurring map products automatically

• Considering the limitations and requirements of automated cartography

Module 15: Comparing ArcMap and ArcGIS Pro

• Understanding differences between their Python environments

• Recognising changes in modules, functions, and project structures

• Reviewing existing ArcMap scripts

• Identifying obsolete or unavailable functionality

• Adapting paths, data sources, and tool calls

• Modernising scripts gradually for ArcGIS Pro

• Documenting and testing compatibility requirements

Module 16: Practical Project – An Automated GIS Workflow

• Analysing a recurring GIS process

• Defining inputs, processing steps, and outputs

• Finding and checking datasets automatically

• Running multiple geoprocessing tools through a script

• Reading or updating attributes with cursors

• Adding error handling and logging

• Integrating the script as a tool within ArcGIS

• Testing, documenting, and reviewing the results

Hands-on learning with expert instructors at your location for organizations.

3,072€*
Graph Icon - Education X Webflow Template
Level:
intermediate
Clock Icon - Education X Webflow Template
Duration:
14
Hours (days:
2
)
Camera Icon - Education X Webflow Template
Training customized to your needs
Star Icon - Education X Webflow Template
Immersive hands-on experience in a dedicated setting
*Price can range depending on number of participants, change of outline, location etc.

Master new skills guided by experienced instructors from anywhere.

2,037€*
Graph Icon - Education X Webflow Template
Level:
intermediate
Clock Icon - Education X Webflow Template
Duration:
14
Hours (days:
2
)
Camera Icon - Education X Webflow Template
Training customized to your needs
Star Icon - Education X Webflow Template
Reduced training costs
*Price can range depending on number of participants, change of outline, location etc.

Upcoming Sessions

8-9 Oct 2026
Brussels
4-5 Nov 2026
Paris
17-18 Nov 2026
Brussels
17-18 Dec 2026
Brussels
11-12 Feb 2027
Barcelona
24-25 Feb 2027
Madrid
31 Mar - 1 Apr 2027
Warsaw
13-14 Apr 2027
Brussels

Can't find a suitable date? Get in touch and we'll arrange one that works for you.

We use cookies to improve site navigation, analyse how the site is used, and support our marketing. You can accept all cookies, reject non-essential ones, or choose individual categories. Read our Cookie Notice