New Course: GeoServer from A-Z

I am glad to announce a new course on GeoServer that is available NOW on   GeoServer is open source software that will allow you to provide access to your data over the internet to anyone in the world.  It is the open source equivalent of ArcServer in the ESRI ecosystem. GeoServer makes it possible to publish your data as WMS and/or WFS web services that can be used directly in desktop GIS software or as web pages without programming.

This course will  provide the background that you need to understand what GeoServer does and how it works and then show you how to

  • Install a local version of GeoServer for development purposes and to explore the GeoServer interface
  • Set up a GeoServer instance in the cloud and load your data to it.
  • Create user accounts to control who has access to your data and exactly what they can do with it
  • Style your data with symbols created in QGIS
  • Filter your data both spatially and by attribute
  •  Use GeoServer web services in desktop GIS clients such as QGIS, ArcGIS, and Google Earth Pro.
  • Create web maps that use web services from GeoServer and will allow the viewer to select exactly which data they want to view and perform spatial analysis via the web.

This course has over 9 hours of content, please consider that when comparing with other courses that claim to be able to teach you GeoServer in 2 hours.  I don’t believe that is possible.

This course is available at an introductory price of $9.99 USD until July 1.  The pricing is adjusted by country so it may be less in your area. Use this link to receive the discount GeoServer for $9.99 until July 1

As part of this promotion I am also making my courses “Introduction to Spatial Databases with PostGIS and QGIS” and “Enterprise GIS made easy” available for the same price until July 1 as both contain additional information relevant to this course.

More information below:

QGIS 3.10 LTR for GIS Professionals available now.

This course is an update of my course QGIS 3.0 for GIS Professionals.  Those of you who have already registered for this course will have access to the updated materials immediately.  As the most recent Long Term Release, QGIS 3.10 LTR is much more stable and well developed than the beta version of QGIS 3.0 that I used to develop the original course.

Please not that this is not a beginner level introduction to QGIS.  I assume that you have some familiarity with GIS concepts but are interested in learning how to apply those with QGIS.  Also, please note that this course has 12 hours of video content. Please consider that when comparing to other QGIS courses available on

This course as well as my QGIS courses are available until May 22 for $9.99 (USD, May be less in other countries) using the links below.

The good news is that there are not a lot of major changes to the original course.  This in general is an advantage of open-source software. The changes tend to be incremental, not monumental with most of the changes focused on improving functionality rather than re-inventing the wheel with lots of new bells and whistles.

There are some lectures with minor changes that may have been as simple as the addition of a text box pointing out something that has changed in QGIS 3.10 LTR. I also added some additional new material and updated a few entire lectures in cases where there were major changes.

Major changes include:

  • New Lecture 30: Working with attribute forms and validation
  • New Section 8: Joins and relates
  • New Lecture 51: About joins and relates
  • New Lecture 52: Attribute Joins
  • New Lecture 53: Relates
  • New Lecture 54: Spatial Joins
  • Completely replaced Lecture 70: Publishing your data to the internet
  • New Lecture 74: Data visualization with the Data Plotly plugin
  • New Lecture 75: Working with NULL values
  • New Lecture 76: Working with Virtual Layers
  • New Lecture 81: Working with Multiple Map Views
  • New Lecture 82: QField overview – mobile data collection
  • New Lecture 83: Working with QGIS templates
  • New Lecture 84: Opening file attachments in QGIS
  • New Lecture 85: The QGIS authentication system

 Minor changes include:

  • Lecture 1:  Introduction
  • Lecture 6: Toolbars and panels
  • Lecture 7: QGIS Plugins
  • Lecture 17: Loading data from PostGIS
  • Lecture 18: Background maps
  • Lecture 26: Selecting features
  • Lecture 28: Selecting by spatial relationships
  • Lecture 38: Printed maps
  • Lecture 43: Introduction to reports
  • Lecture 49: Working with contiguous polygons
  • Lecture 55: Buffering
  • Lecture 56: Clipping
  • Lecture 58: Dissolving
  • Lecture 62: Rasterizing a vector layer and creating a proximity raster
  • Lecture 67: Graphical modeler algorithms
  • Lecture 68: The Python console
  • Lecture 69: The Python editor


New Course: QField Quickstart

QField is an open-source Android based mobile data collection and/or viewing application that is tightly integrated with QGIS.

QGIS is used to set up the project using standard QGIS tools.

If the layers in your project are stored in a PostGIS database and a mobile data connection is available then changes made in QField are made directly to your database and visible in real-time to anyone that has a client to your database. This, in my view, is the mobile data collection killer app.

Continue reading “New Course: QField Quickstart”

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 Parts 5 and 6 – Performance considerations

In these two videos I discuss performance considerations when choosing a hosting service for your PostGIS database, how to determine if you should invest in higher download speeds on the client side or better performance on the server side, and strategies for mitigating slow response times. Continue reading “Deploying a PostGIS Database Parts 5 and 6 – Performance considerations”

Deploying a PostGIS database Part 4 – The AcuGIS Cloud

In this video I show how to deploy your PostGIS database to a second remote server option, the AcuGIS Cloud.  In general my perception is that getting started with AcuGIS was much easier for general GIS use than A2 hosting. They focus on GIS and they know GIS. Installing PostGIS was a breeze, they have the latest versions of both PostgreSQL and PostGIS available, they have all the extensions for PostGIS, and they have shp2pgsql and raster2pgsql available right in their control panel which simplifies loading your data. Continue reading “Deploying a PostGIS database Part 4 – The AcuGIS Cloud”

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”