Python Foundation for Spatial Analysis


This class covers Python from the very basics. Suitable for GIS practitioners with no programming background or python knowledge. The course will introduce participants to basic programming concepts, libraries for working with spatial data, geospatial APIs and techniques for building spatial data processing pipelines.

If you have struggled to get into programming on your own, this instructor-led class will help you overcome the hurdles and build your first project in Python.


10 Hours + 2 Week Project


Learning Outcomes

  • Knowledge of how to setup the Python environment and install packages.
  • Ability to read and write spatial data, query web APIs, use geospatial packages and carry out basic geoprocessing tasks.
  • Familiarity with data science libraries to scale your analysis to large datasets.

Course Outline

  • Setting up the environment using Anaconda and Jupyter notebooks
  • Programming basics – variables, data structures, functions, flow control
  • Reading and writing files (file I/O, csv)
  • Installing and using libraries (geopy)
  • Using web APIs (openrouteservice)
  • Introduction to modern data science libraries (numpy, pandas)
  • Introduction to spatial analysis (geopandas)
  • Using raster data (rasterio)
  • Building scripts and automating workflows

Class Project

  • Each participant will work on a project of their choice to complete within 2 weeks of the class. The topic can be selected by the participant or will be assigned by instructor based on their interest areas.
  • 1-1 mentoring and email support will be available during the project.
  • Participants must complete the project to receive a completion certificate.
  • Example projects submitted by previous participants:
    • Unsupervised Clustering of industrial locations [code]
    • Zonal Statistics using Sentinel-2 imagery [code]
    • Geocoding Addresses from a spreadsheet [code]
    • Spatio-Temporal mapping of COVID-19 cases [code] [project report]
    • Geocoding and Route Optimization [code]

Meet Our Participants

This is excellent training, delivered well over an appropriate time period. Ujaval is a patient and well-resourced trainer who really knows the material.

Eoin O’Mahony, University College Dublin, Ireland

Thank you for this course. You are very engaging, encouraging and supportive. The explanations were very clear. Got a ‘under the hood’ peek into Python. Really loved the fact that this course offered me an opportunity to realise, explore and apply. I got a very solid overview and a good starting point to move further to more sophisticated topics and applications. I enjoyed every minute and every aspect of the workshop.

Namrata, India

The quality of Ujaval’s (and now Santhosh’s) courses is high as usual. The course has helped me to take a spatial perspective on Python and start working on more complex projects. I suggest it to everybody with no or little knowledge of Python but also to everybody who would like to implement Python in their geo-workflow.

Eduard Sebastian Lukasiewicz, University of Göttingen, Germany

It was a nice introduction to the course, covering all the aspects of python, may be an advance course cover spatial data science is the need of the hour

Hrishikesh Mahadev, Deutsche Gesellschaft für Internationale Zusammenarbeit GmbH, India

I am very grateful to be a part of 2 days online classes on Python foundation for spatial analysis.  Mr. Ujaval Gandhi is a well professional teacher; his classes provided me with a remarkable stepping stone towards the programming world.  Now I enjoy coding;  I am grateful from the depth of my heart to make the concepts crystal clear which would be helpful throughout my learning life.  Thanks a lot to ‘Spatial Thoughts’ .

Rahisha T, IIIT-b, India

Really enjoyable, after the course I feel refreshed and able to learn more with self study

Raul Mejia Pesantez, Pontificia Universidad Católica del, Ecuador

Having had no experience with Python whatsoever, it was a great overview of how to get started with coding in Python. It gave me a flavour of all the possible applications. The exercises were very effective in the learning process and Ujaval is a great teacher.

Bharti Dharapuram, Centre for Cellular and Molecular Biology, India

Very good course! You get lots of material to continue your learning journey after the class.

Martin Enzner, Freelancer, Germany

This is the best ever intro to Python, not only for GIS but also for statistical analysis. Very well prepared and hand holds in your journey to Python for solving your problem in hand

Althaf S, National Institute of Technology Calicut, India

Ujaval has put great effort in creating this coursework. It gives a good hands-on for someone who has no idea in programming and by end of the course, they will be able to appreciate the coding in python, usage of Jupyter notebooks and various Geospatial packages. The course document and reference files are well arranged and easy to follow.

Gurudatta Kannambadi, Aaron GSD, India

As a GIS analyst My career got stuck as some point as I dint have programming background.I have a kind of fear about from where to start with . I know ujaval earlier since we were in same team. So that’s what I have faith on him more than me and I kind of feeling that at least if I stuck somewhere he would help me without feeling if I am asking about silly things. After attending the course I cant say that I have became a developer but yes at least I know where to start. Thanks ujaval to give an amazing course with good material. Looking forward to your next classes.

Arpita Chatterjee, Cognizant, India