Today, Python is the programming language most commonly used by Geospatial professionals. Developing programming skills allows you to further interact with a range of commercial and open source GIS software. It will also allow you to build standalone scripts that will enable the automation of workflows and bring data processing to scale in the cloud. Being able to program will make a positive impact your ability to further your exploitation and utilisation of Earth Observation data.

I have written code for numerous clients and employers over my career, I want to share this knowledge and experience with you. Some examples of my Python code can be found here.

Courses for individuals 

Courses planned below. Email for more details

Currently there are no planned courses left in 2019.

More are planned in 2020. Please email me to find out more.

Want a course? Email me

GRSG Course details:

I am delighted to be working alongside the GRSG to offer training in Python in London. We hope to run further courses in 2020. email for more informationGRSG

Courses for companies :

I offer two courses on site

These can be customised to meet your organisations requirements delivered at your office. However, when there is interest I do run group training offsite. If you are interested in this please contact me on

We will use open source software and open EO data for the duration for both courses. All course code including solutions to challenges will be shared with attendees. This totals  over 20 Python notebooks per course, with detailed explanations and comments.

A general guide to each course content is given below.

1. Aimed at Beginners Fundamentals of Python

  • Fundamentals of Python
  • Advanced lists – Challenge 1
  • Other data types
  • Operators review – Challenge 2
  • Errors – Challenge 3
  • Functions – Challenge 4
  • Conditional statement – Challenge 5
  • Loops – Challenge 6
  • Working with directories – Challenge 7
  • Working with textfiles – Challenge 8
  • Reading a Shapefile
  • Reading Raster data
  • Graphing data – Challenge 9
  • Command line GDAL
  • Raster Boundary (making steps to intermediate level)
  • Fastest image to introduce wider ideas
  • Shapefile QC report – Challenge 10

Learning outcomes:

  • Lays the foundations for use of Python in your everyday work
    • You should begin to address current repetitive tasks with a view to automation in code
      • Saving time and effort
      • Allowing code to be reused in other projects
    • Python doesn’t just have to be used in Geo applications, it can be used cross domain
  • Understand about resolving errors in the code
    • Allows you to quickly write workable code
    • Enables you to take other people’s code and adjust to your own needs

Find the joining instructions here:

Beginner Course Geospatial Python

2. Aimed at Intermediate users (min 1-2 years)

  • GDAL and Numpy working with arrays + Rasterio
  • GDAL – Challenge 1
  • Computer vision display
  • Computer vision 1 – introduction, interactive images
  • Computer vision (combined with directories) – Challenge 2
  • Computer vision – analytics
  • Computer vision – analytics part 2
  • Analytics – Challenge 3
  • Sklearn – pixels and shapefiles
  • Sklearn – Challenge 4
  • Sklearn – Machine learning, filtering on pixels, metric reporting
  • Thinking about different classifications – Challenge 5
  • PostGIS – connection, loading, querying
  • PostGIS – Challenge 6
    — Bonus — A Small segment on raster stats, pandas and geopandas

Learning Outcomes:

  • Learn to Develop Geospatial scripts and integrate them into your workflows
  • Use Python for rapid prototyping of ideas and research.
  • Bring these skills into your workplace and solve business related challenges including
    • Processing high volumes of data
    • Start deriving analytics from satellite data

Contact me

Both courses are built using Jupyter Notebooks, though the course can be given using other editors. Attendees get to keep the all code, no one gets left behind.

[iframe src=””]

Visit for notebook