All of my courses are available on the Udemy platform. This means that

  • They are self-paced. Start when you want and take as long as you want to finish
  • They are available 24-7 on-line
  • They can be downloaded to a mobile device and watched off-line
  • They have life-time access

All of my courses use open source software and simple, standard methods that have stood the test of time. They can be implemented without spending anything on licensing, subscriptions, or per-user fees.  Many of the concepts you will learn can be applied to commercial software as well but I think you will be impressed with the power and ease of the open source ecosystem, especially for multi-user geospatial applications.

Web Programming courses for Geospatial

  1. Introduction to web programming for GIS applications – This course is the foundation on which all my other web programming courses are based on. Its purpose is to provide the background necessary to understand the big picture of how various technologies, from basic HTML to PostGIS databases, work together to form a web GIS application. This course is intended to be watched with the intention of understanding the big picture. It is not intended to be followed along step by step, although several people have been able to do so.  (13 hours) AVAILABLE NOW.  *** BESTSELLER ***
  2. Display and analyze your GIS data on the web with Leaflet – This course builds on the first half of the previous course and provides much more detail on the Leaflet.js API and the Turf.js API for spatial analysis. Students are expected to follow along on their own computers and build a web map from start to finish. This course only covers client-side technologies, i.e. displaying and analyzing static data. It does not cover creating and/or editing data via the web although that subject is introduced in the introductory course. (13 hours) AVAILABLE NOW.     *** BESTSELLER ***
  3. Mobile GIS and mapping applications with Leaflet – This course builds on the previous two to cover issues specific to mobile devices, This includes dealing with small screens, touch screens, accessing the devices sensors, and working off-line. (4 hours) AVAILABLE NOW
  4. PHP registration, login, and content management system – One of the most frequent questions that I get is “How do I control access to my web pages and content?”. This course attempts to answer that question by providing step-by-step instructions for developing a user registration, login, and content management system that you can use for your own projects as-is or modify to suit your purpose. (9 hours) AVAILABLE NOW *** BESTSELLER ***
  5. Server based web gis applications with Leaflet and PostGIS – This course will build on the introductory course to provide much more detail on integrating Leaflet web maps with a spatial database. It covers server-side programming with PHP, AJAX, and SQL. This is necessary for applications where the user is allowed to create and/or edit data via the web. Although I use Leaflet and postGIS as examples in this book the concepts are easily transferable to any client side web mapping API that can display GeoJSON and any server-side database. (16.5 hours) AVAILABLE NOW.  *** BESTSELLER ***
  6. Mobile data collection applications with Leaflet and PostGIS – This course will build on the previous course and show how to develop applications for collecting data in the field using the devices GPS sensor. AVAILABLE NOW 

QGIS and Spatial Database (PostGIS and MySQL) courses

  1. QGIS 3.0 for GIS Professionals – This course is projected to be available concurrently with the release of QGIS 3.0 It will provide an overview of QGIS specifically for GIS users who are already trained in the use of commercial GIS software. Over 10 hours of content. AVAILABLE NOW!!! *** BESTSELLER ***
  2. Spatial databases with QGIS and PostGIS – This course is intended to provide an introduction in using spatial databases (based on PostGIS) for storing and analyzing geospatial data through SQL commands Over 10 hours of content. Available NOW!!!    *** BESTSELLER ***
  3. Enterprise GIS made easy – This course is intended for non-programming GIS Professionals who have a need for multi-user Enterprise GIS capabilities but need a brush up on the basics. I show step-by-step how to implement enterprise GIS with open-source software.  It can be done in a few minutes for less than $10 dollars per month and it works great. You can even use the data in ESRI applications. Available NOW!!!!
  4. QField Quickstart – QField is an open-source mobile data collection application available on Android devices.  It can be used with no user fees or subscription costs.  QField integrates well with QGIS and PostGIS databases and can interact directly with a PostGIS database so there is no need to download and sync data at the end of the day and information collected with the app is available immediately in real-time to all clients of the database.  Available NOW!!!
  5. MySQL for Geospatial Applications – MySQL is a very common database used primarily in web applications.  Over the past few years it has quietly become a very good spatial database.  It does not have all the bells and whistles that PostGIS has but it has what is needed for most small to medium sized web mapping applications.  Its big advantage over PostGIS is that it is readily available on almost every web-hosting service available.  In fact it is likely that your organization already has access to a MySQL database, so if you want to get started with web mapping and/or enterprise GIS without the complication and expense of setting up a PostGIS server MySQL is a very simple and affordable solution.  As a bonus, most of what you learn using MySQL is directly transferrable to PostGIS if and when you need it.  Available NOW!!!

Python programming courses for geospatial

  1. Survey of python for GIS applications – This course will provide a review of the python language and the python ecosystem for data analysis and geospatial applications. This course teaches PYTHON, not a particular library such as ArcPy or PyQGIS, but I think you will be impressed with what you can do with pure python not tied to a particular desktop GIS software and if you do decide you really want to work with ArcPy or PyQGIS you will have a strong basis for learning those libraries.  Available Now!!!
  2. Automating QGIS 3.xx with Python – This course will show GIS Professionals  how to use Python to interact with QGIS using the PyQGIS API.  You can automate processes to increase efficiency and reduce errors, or create your own novel analysis.  This course is not about building plug-ins for QGIS although it is the first step in learning how to do that.  Available NOW!!!
  3. PyQt5 From A-Z – PyQt5 is a Python package that allows you to build beautiful and powerful graphical user interfaces for your Python applications. This course is not GIS specific but the Qt framework was used to develop QGIS itself and PyQt5 is essential for developing QGIS plug-ins. It can also make applications that you develop using the methods taught in my first two Python courses much more user friendly.  Available Now!!!
  4. QGIS plugin development with Python – QGIS plugins allow you to extend the QGIS toolset to fit your own specific needs, or to develop general purpose tools that solve common problems that others may be facing.  Although you can do quite a lot with Python in QGIS without developing a plugin (see Automating QGIS 3.xx with Python), plugins allow you to develop beautiful graphical user interfaces using PyQt5, and make your solutions easily available to other people.  Available Now!!!


  1. GeoServer from A-Z – This course introduces GeoServer, an open source spatial data server that allows users to publish their geospatial data as web services.  I discuss the basics of GeoServer, what it is, how it works, how clients such as ArcGIS, QGIS, Google Earth, and web pages can consume its services to display and even edit geospatial data via the internet without programming.  Finally I walk you through the steps of setting up a GeoServer instance in the cloud, loading your data to it, styling your data, creating users with specific privileges, creating custom filters, and creating web pages that can make your data available to the world, or just your office. Available NOW!!!

Geospatial Data Science with Python

  1. Vector data analysis with GeoPandas – This course is the first in a series on Geospatial Data Science with Python.  Learn the basics of the Data Science approach to geospatial data analysis for vector data using Jupyter Notebooks, Python, and GeoPandas.  Learn how to perform common GIS tasks in GeoPandas.  The advantages of this approach is the ability to mix rich text, images, links, and mathematical equations with interactive python cells that you can share with other people.  This allows you to document your analysis as you go and also rerun your analysis simply by changing a few parameters.  The ability to include custom python code  as well as statistical plots and basic mapping output with your code provides a powerful framework for geospatial analysis that is very useful for scientific applications, if there is a possibility that you will have to defend your analysis in court, or share your analysis with others.  This course is AVAILABLE NOW!
  2. Statistical Analysis and Machine Learning with vector data.  This course builds on the previous GeoPandas course  and includes a basic introduction to statistical modeling, followed by a project using real-life data where I demonstrate the basic process of preparing your data for input to a statistical model.  This includes things like creating explanatory variables from existing data, dealing with missing data, converting categorical variables to dummy variables, and more.  Then we fit our data to a variety of statistical models and machine learning algorithms.  Finally I discuss methods for dealing with the issue of spatial autocorrelation which is common in geospatial data.  This course is AVAILABLE NOW!!!
  3. Data Visualization.  This course builds on the previous GeoPandas course and focuses on data visualization of both tabular and geospatial data.  We will start with the basic charting capabilities of Matplotlib and then learn how to apply that to the higher level charting capabilities builtin to Pandas, GeoPandas, and Seaborn for both charts and mapping capabilities.  Then we will move on to interactive charting capabilities using Plotly and Bokeh.  AVAILABLE NOW!!!

Google cloud tools

  1. Google Tools for GIS Applications. This course covers the basics of using Google Cloud Tools for geospatial data storage, analysis, and communication.  Google has a variety of tools available that are of interest to geospatial professionals including Cloud SQL (PostGIS in the cloud), BigQuery, Data Studio, Colaboratory, Earth Engine, and mapping API’s.  Get started with all of them in this course. Its fast, easy, and surprisingly affordable. Available Now!!!

Subscribe to my YouTube channel and/or like my Facebook page to stay update with new courses, blogposts, and sales.