Have a question?
Message sent Close
4.15 out of 5
17 reviews on Udemy

Learning the Open Source GIS Stack: Web Mapping w/ Geoserver

building cloud based GIS solutions for your enterprise
Arthur Lembo
95 students enrolled
English [Auto]
You will learn how to install Geoserver,
Load spatial and attribute data into Geoserver
Server vector, raster, and attribute data on the Internet with Geoserver
You will learn how to serve up data from multiple sources like Postgres, Geopackage, SQLite, and shapefiles.
You will set up up Geoserver so that it operates like a cloud-based spatial data server.
You'll learn how to develop back-end server processing to deliver the results of spatial operations. You'll do this with both SQL and CQL.
You will create an application that allows clients and a server to interact with data and Internet users.
You will learn the basics of creating a front in web mapping browser, using OpenLayers.
You'll learn how to broker the relationship between the Internet user and the back-end server. Once you learn this, you'll be able to adapt just about any client/server application.

Do you want to learn how to build an Internet Map Server application using free and open source GIS?  Do you want that server to display raster, vector and attribute information and perform spatial analysis and database queries over the Internet?  Do you want to learn how to connect your map server to Postgres and PostGIS.  If so, this course is for you.  I will walk you step-by-step through the process of installing Geoserver, loading data, creating server side analytical processes, and finally show you how to render the data on the client side using Openlayers 3.0.  Don’t be afraid – this is a painless step-by-step approach that anyone can learn with my course.

When you are done with this course, you’ll have the basics down. Now it’s up to you to create impressive Internet mapping sites! 

And, like all the other Leaerning the FOSS4g Stack courses, we’ll work with the same data, scenarios, and also solve some of the same problems.  Except this time, we’ll be doing it with an Internet map server.

Welcome to the course

Introduction to the course

In this lecture, we'll get our bearings for the course, discussing what we will cover, what we won't cover, and what you will take away from the course. 

An interesting comparison of strategies to implement Internet based GIS
Introduction to the data we'll use in the course

Like all of the Learning the FOSS4g Stack courses, this course will work with the same data we used in QGIS Desktop, Postgres, Python, and Enterprise GIS.  We'll also solve some of the same problems as the other courses.  So, in this lecture, we'll review the data we are working with.

Installing Geoserver

Please note, this video shows the installation of an older version of Geoserver.  However, the installation process is the same.  I would encourage you to actually install version 2.14.0.  While there are newer versions of Geoserver, 2.14.0 is the last version that still includes the Windows Installer package.  You can find the link for Geoserver 2.14.0 at: http://geoserver.org/release/2.14.0/

In this lecture, we'll install Geoserver and test all the connections.  From there, we'll be on our way!

Install Postgres

If you haven't already taken my other courses in Postgres, this video is going to show you how to install PostgreSQL.  It is the installation video taken from my class Learning the FOSS4g Stake: Enterprise GIS with Postgres/PostGIS.  Having Postgres installed, and the data loaded, will give you the ability to integrate Geoserver with Postgres.

Install QGIS

If you haven't already taken my other courses in QGIS desktop, this video is going to show you how to install QGIS.  It is the installation video taken from my class Learning the FOSS4g Stake: QGIS Desktop.  Having QGIS installed, and the data loaded, will give you the ability to integrate Geoserver with other FOSS4g.

Loading data into Postgres

A quick start tutorial to stand up Geoserver

Starting Geoserver and Navigating the interface

There are a few key components for running Geoserver. This lecture will review the basic interface, and how it works.  The next lectures will step you through how to stand up a quick web map, along with all the different data. 

Creating workspaces and stores

In Geoserver you can have multiple projects, with similar data organized together.  A workspace is the structure of organizing all of your data.  Within that workspace, a store represents the actual data that is stored for your project.  In this lecture we'll set up a workspace and a store, and then load a single layer into it to demonstrate how easy it is to publish data to the web for consumption by web browsers and desktop GIS.

Adding layers from different stores

In this lecture we'll add layers from Postgres, shapefiles, and Geopackage.  You'll also get to see these layers through your browser. 

Styling layers

Once layers are loaded, we can apply really cool styling them, making really nice looking cartographic products. 

Understanding services in Geoserver

Understanding WMS and WFS

The Web Map Service (WMS) allows you to render objects from your server to the client browser in the form of a raster image.  We'll explore what the benefits and limitations of WMS is, and also show you how to create a WMS layer.

The Web Feature Service (WFS) is a protocol for serving geographic features across the Web and includes both feature geometry and feature attribute values. We'll discuss the benefits and limitations of WFS, and also show you how to serve WFS data over the Internet.

Server side processing

Modification with CQL

CQL (Common Query Language) is a query language created by the OGC querying data in Geoserver.  It is super easy to write CQL, but, there are some limitations.  In this section, we'll show how you can query the data on your server using CQL.

Passing a variable to the server and returning the results

Now we are a going to add a few more levels of complexity.  In this lecture, we'll pass a parameter to the server, have the server process the request, and then send the result back to the client.  This is the fundamental way that you can create a responsive Internet map application.  We'll just touch on the mechanics to make things work, but from there you can spend a lifetime looking for ways to fine tune the concept and create really sophisticated applications.

Postgres Views

SQL Views allow executing a custom SQL query inside of Geoserver.  The SQL views are super powerful, and thus slightly more complex than CQL.  In this lecture, we'll learn how to issue basic SQL views as well as more flexible parameterized views. 

Interacting with Geoserver from the Client with Openlayers 3

Don't be afraid, you can do this..
A basic Open Layers Map

In our first attempt to create an Internet map, we'll get introduced to Openlayers, and learn how to use the Openlayers library to bring a basic background map (Open Street Map) into the display.  We'll end the lecture by calling Geoserver, and bring in our Tompkins County parcels. 

Using Openlayers to Request Specific Data from Geoserver

Adding a single layer was interesting.  But in reality, we want to add other layers in an Internet map application.  So, in this lecture we'll be adding more layers to our browser, and even change some of the way those layers are displayed.

Using CQL and OpenLayers to Request ad-hoc data from Geoserver

In this lecture we are going to take things to the next level, and add CQL filters right in our web code.  This will allow the user to  control their experience even further.  And, we'll begin to expand the code to pass variables from the client, to the server, and then have the server perform analysis, and send the results back to the client. 

Allowing the user to control their experience

In the previous lecture we made changes in the code to how the data would look, changing the opacity and the drawing order.  But, that means we are still in control of what the user sees.  In this lecture, we are going to create a really simple tool that allows the user to change the visibility of the layers.  This may seem like a small thing, but in reality, it is a huge leap forward for giving the user the power to shape and control their own experience when interacting with the map.

Using CQL and OpenLayers to Request ad-hoc data from Geoserver (part 2)
Mouse Interaction in Openlayers to Trigger Geoserver Responses

In this lecture, we'll learn how to use mouse interactions in our browser, pass the coordinates to the server, and have Geoserver perform analysis.  We'll see the difference in CQL and SQL Views in Postgres. 

Adding Vector Data from Geoserver to Your Open Layers Application

In this lecture we'll extent our work with obtaining user information to perform spatial analysis on the back end server and send the results to the client. 

You can view and review the lecture materials indefinitely, like an on-demand channel.
Definitely! If you have an internet connection, courses on Udemy are available on any device at any time. If you don't have an internet connection, some instructors also let their students download course lectures. That's up to the instructor though, so make sure you get on their good side!
4.2 out of 5
17 Ratings

Detailed Rating

Stars 5
Stars 4
Stars 3
Stars 2
Stars 1


4 hours on-demand video
1 article
Certificate of Completion


AulaGEO is a Ge-engineering specialized academy.

Social Network

Udemy Black Friday Sale! Top Courses From $9.99