Skip to content


Image Credit

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.

Current courses

No current courses planned

Free course!!

In 2020 I have made an entire course out of my blog post up to and including dec 2019.  The material is available here

Please do use it for your learning. If you find it useful please let me know on my email address or twitter.

Courses for individuals 


Please reach out to me via twitter map_andrew

Or via linkedin

Course 20th and 21st September 2022

Another date tbd December 2022

Quotes from the last course

”Excellent couple of days, thank you very much! Learnt loads!’


‘I think you use the resources in a fantastic way the course is great and we leave with a lot of insights’.


‘Thank you very much Andrew! Really interesting and useful course. Thanks.’


‘Was super interesting the course! I need to review a few things but in general was very well explained’


‘Thanks Andrew, much appreciated very informative course. Kind regards.’


‘Thanks Andrew! It was really interesting!’


‘Thank you so much. I learned a lot’



Courses for companies:

I offer two courses on site, plus I offer the ability to have a hybrid course with bespoke content. AND/OR I can run my geospatial course for just your company.


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.

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) topics include (but not limited to) the below. At intermediate level 2 days would be needed to cover all the material below. A day on classification and a day on analytics and image processing.

  • GDAL and Numpy working with arrays
  • 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
  • Raster Stats
  • GeoPandas
  • Rasterio
  • Skimage

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

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.

Visit for notebook

email: – checked weekly