New Course: Enterprise GIS made easy

If you are a GIS professional struggling with the need to have multiple people accessing your GIS data from multiple locations and multiple platforms you need an Enterprise GIS system.

I understand that many GIS professionals do not come from an IT background. They may be outstanding cartographer and analyst but lack understanding of multi-user computer infrastructure.  Maybe they know that these solutions exist. Perhaps they even got on the phone and called ESRI to ask about pricing for their version of enterprise GIS and were shocked to learn what it would cost.

The good news is that although conceptually very different than single-user, file-based GIS systems it is actually quite easy and inexpensive to implement an enterprise GIS using open source software. You can even view the data in conventional commercial GIS systems, although you can’t edit it in many commercial systems.  That is not a huge problem, however, because you can use QGIS,  a free, open-source desktop GIS for editing and it works very well.  I have been using this system for several years with clients around the world with ZERO problems.

My new course “Enterprise GIS made easy” explains how to get started, and after viewing this course I think you can be up and running in less than an hour, and the only costs are a few dollars per month for hosting your database.

In this course I explain

  • What an enterprise GIS is
  • What client-server architecture is
  • How spatial databases allow multi-user access to your data
  • How to get a hosting account with an instance of PostGIS for $3-$12/month
  • How to create your hosted database and add users to it
  • How to load your spatial data into the database
  • How to set user privileges to control exactly what each user can do with your data
  • How to connect to your database from a variety of clients, including ArcGIS
  • How to create new data and edit spatial features with QGIS
  • How to organize your data for optimum performance
  • Where to go for more information on QGIS, PostGIS, Web GIS, and Mobile applications.

This course is 4 hours long and is available on

Working with PostGIS data from within Leaflet.js (or any other client side mapping API)

This 3-part mini-course is my attempt to explain the basic concepts of working with PostGIS data from within the Leaflet.js mapping API.  Technically this is not Leaflet programming. In this scenario Leaflet.js simply becomes the canvas on which your geospatial data is displayed on a web map.  All of the interaction with the geospatial data occur through very common and standard methods of working with enterprise level databases, but with a geospatial twist. Continue reading “Working with PostGIS data from within Leaflet.js (or any other client side mapping API)”

Deploying a PostGIS database Part 2 – Web hosting service

This video goes through the process of signing up for a web hosting service with A2 hosting. You can literally have an instance of PostGIS up and running in half an hour for under $5/month that can be accessed from your own web map or from other clients such as QGIS.

What makes A2 Hosting so good for GIS applications is that they offer PostgreSQL databases in their standard cPanel package which means that you can easily install and use PostGIS. Most web hosting services only offer MySQL although you may be able to have them install PostgreSQL for you. Continue reading “Deploying a PostGIS database Part 2 – Web hosting service”


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
  • The price is $20 each for readers of this blog.

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
  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.
  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 PostGIS 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!!!    *** HIGHEST RATED ***

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

Subscribe to my YouTube channel and/or join the Open Source Web GIS group on linked in to stay updated with the latest info.

New Course: Mobile GIS and Mapping Applications with Leaflet

Mobile GIS and Mapping Applications with Leaflet

This course is available now on It will show you how to create a mobile specific mapping application using Leaflet.js including

  • Formatting your web application for mobile device screens
  • Understanding touch screens and adapting your web app for them
  • Making your web app look and feel like a native application
  • Detecting if the user is using a mobile device
  • Detecting if the user is online or not
  • Getting the most out of geolocation
  • Adding simple charts to your application
  • Using web storage to save the state of your application
  • Using web storage to store local versions of vector data
  • Using the Application Cache API to load a local version of your application for off-line use
  • Creating custom base maps with QGIS and QTiles
  • Adding custom base maps to the application cache for offline use

Continue reading “New Course: Mobile GIS and Mapping Applications with Leaflet”

Adding Legends to your Leaflet Web Map

I’ve just added a bonus lecture to my course on client side programming with Leaflet.  I had a student ask about creating legends for Leaflet maps and I agreed that this was an important missing piece that I had neglected in the main part of the course. I want this course to be comprehensive and so my intention is to continue adding and updating content as needed to provide the best value for my students. Continue reading “Adding Legends to your Leaflet Web Map”

Spatial analysis in Leaflet with Turf.js (Part 3 – Line intersection)

In this video I demonstrate how to use  Turf.js to  return the intersection of lines and polygons.  There is not a straightforward way to perform this analysis in Turf.js but Turf.js is better thought of as a toolbox than a packaged solution. And turf.js does provide a number of tools that can be used in conjunction to perform this analysis. Continue reading “Spatial analysis in Leaflet with Turf.js (Part 3 – Line intersection)”