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.


12 Hours + 2 Week Project


  • Familiarity with spatial data and basic GIS concepts.

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]
    • Analyzing Music using Spotify API [code]
    • Mapping VIIRS Active Fires in South America [code]
    • Building a Project Status Dashboard using Streamlit [code] [dashboard]


Upon successful completion of all the live online sessions, assignments and a class project, participants will be issued an employer-verifiable certificate from Spatial Thoughts. Learn more.


Self Study

Work through our study material at your own pace. No certificate or support will be provided.

Cost: Free

Instructor-led live online sessions

Get an employer-verifiable certificate from Spatial Thoughts and lifetime technical support.

Cost: USD $120 / EUR €100 / INR ₹7500 + GST

Meet Our Participants

The design of this course is very holistic, and the concept-wise clarity with live examples gave a better understanding of topics. The interactions and discussions opened up different dimensions of working with data. A strong foundation from this course is a blessing for excelling further with knowledge.

Raghavendra S P, Karnataka State Remote Sensing Application Centre, India.

Spatial Thoughts is known for offering excellent courses, and their “Python Foundation for Spatial Analysis” course is no exception. This course likely provides a good foundation in Python programming specifically tailored for spatial analysis tasks. By taking this course, you can expect to learn key concepts and techniques, such as working with geospatial data structures, performing spatial operations, manipulating vector and raster data, and automating spatial workflows.

Younes Abid, Ph.D Senior Data scientist NLP, CV, SAR, BAYANAT-UAE.

My current PhD work involves analysis of large geospatial datasets. With this course, I am able to automate my work using python which can save my time. The course content is vast enough to cover most of the aspects. The best part of the course is lifetime support which can help in future if at any point we get stuck. Another good thing about course is the requirement of project. This can help us revise the concepts just after the course. Looking forward to more of the courses.

Shamaila Fatima, Indian Institute of Technology Bombay, India

This course helped me learn on how to use python libraries with geospatial data. Both the instructors patiently answered all the questions and provided right guidance to continue learning. Thank you Ujaval and Vigna for your efforts.

Atul Chaudhari, United States of America.

I had the pleasure of attending the Python Foundation for Spatial Analysis workshop instructed by Ujaval Gandhi, and it was an excellent learning experience. The workshop was well-organized and executed, providing a comprehensive overview of Python programming applications in spatial analysis. The course materials were also well-designed, with clear explanations and useful examples that made it easy to follow along. Overall, I would highly recommend this workshop to anyone interested in expanding their knowledge of Python programming in spatial analysis. Ujaval’s expertise and dedication to teaching made it a valuable learning experience that I will certainly take with me in my professional pursuits.

Abdillahi Osman Omar, University Putra, Malaysia

This is the second course I have taken with Spatial Thoughts and I am once again highly satisfied with Ujaval’s expertise and teaching style to learn complex topics. He is great at focusing on the critical building blocks to help his students independently create products by the end of the course.

Zach Torres, World Vision, United States of America

I had taken the QGIS Advanced course last month and Python Foundation course this month. I found the both courses most entertaining and useful. The instructor had vast knowledge regarding the courses and provided various different methods to achieve the desired result including the best effective one. The instructor also provided info into other useful plugins. Cannot wait to take another course.

Kaushal Prajapati, Germany.

I really learned a lot from this program. The course instructor and his associate was very helpful and supportive.They are very knowledgeable and clarifies the trainee’s doubt instantly with elaborate examples.The good thing about Spatial Thoughts is that they start with simple programs and gradually built on it for much complex problems. I am looking forward to their next program enthusiastically.

Pema yangzom, NLCS, Bhutan.

I was exactly looking for a course of this type and I was extremely satisfied!
The use of explanations and exercises is a great way to get in touch with Python, even for those who absolutely did not know the logic of the programming language. The possibility of continuing to practice with the teaching material and videos after the lessons is an opportunity to reach an understanding of the operational steps without stress. Very good teachers, who with clarity and patience, have revealed the key points for the use of the fundamental tools. I highly recommend it!

Angela Celauro, Sapienza University of Rome, Italy.

The training module from Spatial Thoughts allows us to grow gradually and also rapidly giving firm foundation. It would have taken months for me to reach that level if I have taken from other institutions.

Tenzin Norbu, NLCS, Bhutan.

Ujaval is an excellent teacher, is able pass on practical insights in a way that even people from non-technical backgrounds can grasp.

Dr Binu Alexander, CTO SevenX Ltd. India

I’ve taken three training sessions with Ujaval and I can definitely say these are the best online trainings I’ve ever had. The level of organization is just perfect and Ujaval is a great pedagogue. Step by step, you end up building quite complex tasks almost without realizing it. And the price is probably among the most competitive in the market. I highly recommend these sessions.

Sebastian Silva, Freelancer, Ukraine.

Indeed I am extremely satisfied with the course you have offered to us and it was a great learning experience. Thanks for giving us the opportunity to learn coding in Geospatial science at our age.

Samdrup Dorji, NLSC, Bhutan.

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

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

Being a geospatial enthusiast and aspiring data scientist, I must say that Spatial Thoughts is the only learning platform that perfectly blends the two worlds – GIS and Data Science. This is something that I have always been looking for, as the thought of dealing with geographic data with programming and statistical concepts is what highly intrigues me. To all people with such a similar interest as me, I shall recommend taking the Spatial Thoughts courses.
Ujaval Sir is a geospatial genius. It was a privilege being instructed by him in a live workshop. He solved many of my doubts in some very fundamental concepts of GIS. The Python Foundation for Spatial Analysis course taught me things in 2 weeks, which I hadn’t learnt in years.

Sougata Ejardar, Indian Institute of Technology, Madras

Second course I am taking with Spatial Thoughts and once again I am intrigued with the level of knowledge and skills I have acquired during the weekend. The training is top notch and I now have the foundational skills and understanding to work with Python in Spatial Anlysis. Thanks Ujaval and Santhosh for putting up this course. More learning, practice and consultations will follow but for now I have a better foundation to automate several geoprocessing functions.

John Waweru, University of Bonn, Germany

Magnificent course that allows you to know, understand and put into practice many of the possibilities that Python offers for spatial analysis.

Joan Bauzà, Geographer, Spain

The way the course is taught is quite easy to understand for those who are new to programming. It is really a very complete workshop.

Renzo Kenneth Rivero Sullca, Peru

First of all, I would like to thank Spatial Thoughts for giving me the opportunity to do the course on Python for Geospatial Analysis through a scholarship. This course provides a nice starting point to do geospatial analysis using Python. I really recommend this course for those who want to get starting in the amazing world of geospatial data science.

Abraham Coiman, Geomatik Consultores, Venezuelaá.

This is my first time to take a Spatial Thoughts training course and I really enjoyed it. The training materials are well organized, the trainers are very educational and willing to answer all questions, and their technical level is unheard of.
If you are looking for a well-structured base in python directly applicable to your field or other practical technical training, I highly recommend those from Spatial Thoughts.

Arifou KOMBATE, University of Sherbrooke, Canada

It’s a wonderful course that helps us understand and put things into practice regarding doing spatial analysis using python.

Abhilash Rao, Reliance JIO, India

Amazing learning. I had my inhibitions about being able to use Python. Ujaval and Santhosh take care of all the issue to the best possible to resolve them. I hope to extend my learning in Python.

Vaibhav Puri, University of Delhi, India.

The quality of Ujaval’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

This course gives a very good overview of the Python language in a very short time. After the class we can understand the codes and start writing our own codes.

Debasish Chakraborty, ICAR Research for NEH Region, India

Great course that will give you a perfect overview of what matters in Python for Geospatial applications.

Yves Barthelemy, World Bank, France.

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

Well-organized and executed workshop. Appreciate Mr.Ujaval Gandhi’s course content and teaching methods.

Preethi Raj, Ecospatial Research Technologies, India.