Learning the FOSS4g Stack: Geoserver
4.2 (15 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
64 students enrolled

Learning the FOSS4g Stack: Geoserver

building cloud based GIS solutions for your enterprise
4.2 (15 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
64 students enrolled
Created by Arthur Lembo
Last updated 3/2020
English [Auto]
Current price: $16.99 Original price: $24.99 Discount: 32% off
5 hours left at this price!
30-Day Money-Back Guarantee
This course includes
  • 3.5 hours on-demand video
  • 1 article
  • 3 downloadable resources
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
Training 5 or more people?

Get your team access to 4,000+ top Udemy courses anytime, anywhere.

Try Udemy for Business
What you'll learn
  • 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.
  • This is advanced stuff, and we'll be serving data on the Internet as well as from Postgres and PostGIS. It is recommended that you are familiar with Postgres.
  • While much of the code will be supplied for you, we'll write some code, so users should be comfortable writing basic scripts.

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.

Who this course is for:
  • GIS users who want to learn how to store their data in the cloud.
  • GIS developers who want to provide their users with cloud-based spatial analysis tools
Course content
Expand all 23 lectures 03:37:20
+ Welcome to the course
7 lectures 37:22

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. 

Preview 13:06
An interesting comparison of strategies to implement Internet based GIS

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.

Preview 04:23

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!

Preview 04:30

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 Postgres

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.

Install QGIS
Loading data into Postgres
+ A quick start tutorial to stand up Geoserver
4 lectures 32:31

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. 

Starting Geoserver and Navigating the interface

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.

Creating workspaces and stores

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

Adding layers from different stores

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

Styling layers
+ Understanding services in Geoserver
1 lecture 13:08

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.

Understanding WMS and WFS
+ Server side processing
3 lectures 44:28

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.

Modification with CQL

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.

Passing a variable to the server and returning the results

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. 

Postgres Views
+ Interacting with Geoserver from the Client with Openlayers 3
8 lectures 01:29:50
Don't be afraid, you can do this..

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. 

A basic Open Layers Map

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 Openlayers to Request Specific 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. 

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

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.

Allowing the user to control their experience
Using CQL and OpenLayers to Request ad-hoc data from Geoserver (part 2)

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. 

Mouse Interaction in Openlayers to Trigger Geoserver Responses

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. 

Adding Vector Data from Geoserver to Your Open Layers Application