3.55 out of 5
37 reviews on Udemy

GeoServer: Step-By-Step Tutorial

A fast-paced guide to put your Geoserver-based web application into fast, user-friendly, and secure production
Packt Publishing
211 students enrolled
English [Auto]
Learn about GeoServer Layers and how to add information to your map.
Understand about the deployment of a spatial database and loading geospatial data into PostGIS.
Create an application that provides feature-level read and writes access involving a spatial database.
Leverage the OpenLayers API, Bootstrap, and jQuery to create a mobile/responsive user interface on top of GeoServer.
Develop a WPS processing service to allow web-based geospatial data processing.
Find out which GeoServer settings resolve bottlenecks.
Develop an algorithm by chaining geospatial analysis processes together.
Understand how to develop an effective tile cache-supported web service.
Get to know techniques that ensure resilient server deployment.

GeoServer is an open source  server-side software written in Java that allows users to share and edit  geospatial data. It also provides great flexibility in map creation and  data sharing.With this fast-paced, hands-on guide, you’ll start with  various GeoServer Layers & adding information on the map using  different styles. Then you’ll learn to deploy a spatial database,  PostGIS, in tandem with GeoServer.  Next, you’ll dive into an important  technique to improve the speed of your web map application. Moving  further you’ll enable authentication on the front and back ends to  protect sensitive map data, and how to deliver sensitive data to your  end user. Finally, you’ll put your web application into production &  look at the hosting of the OpenLayers, GeoServer, and data aspects of  your application. 

Explore Enhanced Interfaces with Geoserver

The Course Overview

This video provides an overview of the entire course. 

WMS and Its Capabilities

To start this section, we’ll explore WMS and its capabilities

  • Web and Map Services Specifics of the WMS standard

  • The Layer Preview app

  • WMS HTTP requests


Geoserver Layers

Create your first layer from a data Store and view it in OpenLayers

  • Publish Layer Configure Layer

  • View OpenLayers

  • Layer Preview


Style Your Map

Cartographically enhance Geoserver’s map services with Styles.

  • SLD Syntax for rendering maps

  • Adding a new Style

  • Applying Style to a Layer


Styling with CSS

Learn about Geoserver CSS, and how to apply a CSS style to a Geoserver Layer.

  • Geoserver CSS Extension

  • Geoserver CSS Syntax

  • Apply CSS to Layer and Preview


Labeling Your Data

Learn how to add labels to your maps, to make them even more informative for your end user.

  • Labeling example with SLD

  • Labeling fundamentals

  • Apply labeling to a layer with Geoserver CSS


Customizing Your App for Scale

Learn how to use scale dependency rules to make your maps more legible for your end user.

  • Scale dependency introduction

  • Scale dependency example

  • Apply scale dependency


Create an Interactive Site Map

Integrate what you’ve learned in this section – enhancing Geoserver WMS and OpenLayers API – into an improved web mapping app

  • Create a Layer Group

  • Add Layer Group references to OL WMS Example

  • Add code from OL Popup Example


Introducing CQL

CQL is used to subset data based on criteria supplied in the query – in other words, filtering. Filtering allows an end-user to focus in on the data that is useful to them.

  • The CQL Syntax

  • Learn to use CQL in an OpenLayers Layer Preview app

  • Test out CQL via a Web Service Request


Enhanced CSS with CQL and Legends

CQL is used to enhance the styles provided by CSS, along with symbols. Legends are also generated with CSS, and can be retrieved by WMS.

  • Enhance CSS with CQL and symbols

  • Producing legends with WMS and CSS

  • View the result


Adding CQL to Your OpenLayers App UI

To enable CQL filtering in an app the UI must be adapted, along with event handlers, in Javascript.

  • Use CQL via Geoserver/OpenLayers Layer Preview

  • Adapt an OpenLayers example with the Layer Preview to enable CQL filtering on your own layer

  • See CQL UI in action


Printing UI Capability with jsPDF

One option for printing from OpenLayers is by exporting a PDF using the jsPDF library. This reqiures that the front-end code be developed and that Cross-Origin Resource Sharing (CORS) be enabled in Geoserver.

  • Import and customize front end code for supporting export to PDF for printing

  • Learn to configure Geoserver to allow front-end communication via Cross-Origin Resource Sharing (CORS)

  • Use the app to output custom PDFs for printing


Introducing PostGIS

Learn about the capabilities of PostgreSQL – a popular Open Source relational database management system – and its PostGIS extension, which provides spatial database capabilities.

  • What is PostgreSQL and how to access it

  • The basics of the SQL syntax

  • What PostGIS does and how to access it with software and SQL


PostgreSQL and PostGIS Installation

Install the PostGIS platform.

  • Install with the EnterpriseDB Postgres Installer

  • Start the service

  • Complete the installation of PostGIS and other extensions with Stackbuilder


Database Access Through pgAdmin and Command Line

Learn interfaces for working with Postgres: the command line exectuable and shell interface: psql and the GUI pgAdmin management package.

  • Explore and use the command line interface

  • Learn about command and query syntax and syntax reference

  • Meet pgAdmin and try its use


Setup and Get to Know Your Database

Setup a new PostGIS database with pgAdmin and learn about what it contains.

  • Create and configure a new user role

  • Create the new database from a template

  • Learn about some of the objects in the new database like tables, functions, types and triggers


Loading Tabular and Geospatial Data

Load data into the database, for access on Geoserver.

  • Import geospatial data in Shapefile format with PostGIS Shapefile Import/Export Manager

  • Load tabular data in DBF file format

  • Load tabular data from a plaintext comma delimited CSV file with pgAdmin


Start using PostGIS on Geoserver

Add a PostGIS data store and layer to start using PostGIS on Geoserver

  • Configure and add the PostGIS data store

  • Select a table from the data you've loaded and publish this as a Geoserver Layer

  • View the result in the Layer Preview section


Creating SQL View Layers in Geoserver

Begin to leverage the database by creating an SQL View layer in Geoserver.

  • Develop an SQL query in pgAdmin

  • Create and configure the SQL view in Geoserver

  • Preview the published layer


Capabilities of WFS

WFS is an open standards web service, comparable to WMS. Let’s explore this topic in detail and learn the basics of WFS syntax and requests.

  • Learn about the differences of WFS when compared to WMS

  • Learn about the differences of WFS when compared to WMS

  • Explore an example of WFS in an OpenLayers web app


WFS Output Formats

Learn about WFS output, which is much different than the kind of output we’ve come to expect with WMS services.

  • Explore a polygon layer and how features are reproduced in the default WFS text-based output – GML

  • Learn about JSON output

  • View shapefile output


WFS with OpenLayers

WFS output, unlike WMS, is in machine-readable text or file format, rather than map images. In this video you’ll learn to customize OpenLayers to display WFS GeoJSON on a map.

  • Explore an OpenLayers example that uses WFS – focusing on the source code

  • Customize the code so we can use it for our own Geoserver WFS

  • View the result


Updating Asset Records with WFS Transactions

So far, the result has not been much different to what you’ve already learned to do with WMS. In this video you will learn to update a record using a WFS transaction.

  • Make changes to the database to allow Geoserver to change a table

  • Enable anonymous write permissions to the table via Geoserver

  • Run the WFS Transaction request through the Geoserver Demo interface and view the result



To make the map more relevant to the end user: add their location to the map.

  • Learn about the fundamentals of Geolocation and methods for doing it

  • Learn about challenges for Geolocation and strategies for success

  • View an OpenLayers example


Geolocation for Mobile

Adapt the Geolocation example for a mobile geolocation app on our local filesystem.

  • Look at the original geolocation code, noting where changes may be made

  • Edit the code, to include UI and event handler additions and changes, as well as removal of code that’s no longer needed

  • View the result in the browser


A Responsive Mapping App

Use two popular libraries to improve our web mapping app UI: Bootstrap and jQuery.

  • Learn about Bootstrap and jQuery

  • Use these libraries to develop an OL app based on Geoserver services

  • View the result in the browser


Mobile WFS-T App

Pull in our work with WFS-T from the last section into this responsive app, for feature editing in a mobile-friendly user interface.

  • Add references to the WFS service to the app

  • Create the event handlers and make these compatible with Bootstrap and jQuery

  • View the result in the browser


Test Your Knowledge

Advanced Geoserver

The Course Overview

This video will give you an overview about the course. 

Intro and Install

In this video, we will install the WPS plugin on the GeoServer instance and learn how it works

  • Install the plugin

  • Learn the standard and syntax

  • Send a demo Request


WPS Request Builder

The aim of this video is to utilize the WPS Request Builder to create some simple WPS requests

  • Explore input data formats

  • Learn about suprocesses, and data output

  • Generate request XML and output


Process Chaining

In this video, we will explore the process chaining technique, with a more complex example

  • Explore a chained process example

  • Look at a more complex chained process example

  • Run test POST request through OpenLayers


OL Integration

The aim of this video is to integrate the complex WPS request into OpenLayers.

  • Read GeoJSON with OL object

  • Reproject data with Proj4js

  • View the result in the browser


Tile Caching Basics

In this video, we will understand the fundamentals in order to use tile caching.

  • Key tile caching concepts including tile caching schemes

  • Software options for tile caching

  • GeoServer tile caching stack and its associated process


Configure Tile Caching in GeoServer

The aim of this video is to learn the ins and outs of setting up tile caching on GeoServer.

  • Global and layer options for tile caching

  • XML configuration files settings in the GeoServer data directory

  • Understand gridsets


Create a Tile-Backed OL App

In this video, we will discover how to create a tile-backed OpenLayers app, using the WMTS tile scheme.

  • Explore WMTS example in more detail

  • Examine the capabilities response from our GeoServer endpoint

  • Walk through the front-end code


Using the Tile Cache

In this video, we will take a deeper dive into using the tile cache.

  • View the app we created

  • Send a request for a tile generated by the app with cURL

  • Learn about seeding and rendering of the tile cache


Resolving Problems with Tile Caching

The aim of this video is to learn about resolving issues that may arise with tile caching.

  • Learn how to resolve the most common source of tile caching errors – parameters

  • Discover issues arising from rendering of tiles

  • Review some other issues which may occur


Resolving Bottlenecks

In this video, we discover that when resources don’t meet demand, the web application becomes unstable. To resolve this problem, identify bottlenecks, where resources hit their limits, and change software configuration to resolve them.

  • Explore examples of bottlenecks

  • Learn to solve bottlenecks with tuning

  • Understand methods of testing and benchmarking to use in tandem with tuning to detect bottlenecks as well as improve tuning


Optimizing Vector Data Stores

In this video, you’ll learn to optimize vector data configuration. Vector stores can impact performance if not configured in the best way.

  • Learn about how data storage and database configuration impacts vector as well as raster performance

  • Understand the best vector formats for different use cases

  • Utilize indexes with database and shapefiles to improve performance


Optimizing Raster Data Stores

In this video, you will learn how to process raster data for the best performance. Raster data stores are often stored in large files and come with their own challenges and methods for improving read performance.

  • Explore raster data processing concepts

  • Learn to prepare data using the command line utility GDAL

  • Understand how the WCS OGC service is used to serve large and complex imagery on GeoServer


Clustered Deployment

In this video, we understand how high user demand can hit performance limits on server hardware resources. Clusters and concurrency expand hardware available to process high client demand.

  • Understand about concurrency and clusters and why these concepts are important

  • Learn to leverage vertical cluster deployment for higher performance

  • Explore GeoServer horizontal clusters for establishing high availability


Configuring the Proxy

In this video, you will learn the fundamentals of implementing the proxy platform. The software platform for secure HTTPS involves proxy between Apache HTTPD and Tomcat.

  • Configure Apache HTTPD as proxy server in the secure authentication platform

  • Learn about Tomcat and its role as servlet container in the secure authentication platform

  • Add a custom hostname to the OS “hosts” file


HTTPS with TLS and Certificates

In this video, you will generate certificates and complete configuration of the proxy platform. HTTPS uses TLS and certificates to achieve secure communication.

  • Understand HTTPS and TLS, and generate a certificate to enable these

  • Configure HTTPD to use the certificates and complete proxy directives

  • Configure client software to trust the certificate and test secure communication


GeoServer Authentication

In this video, you will learn to enable and configure GeoServer’s permissions management infrastructure for authentication. GeoServer has its own system for permitting access, based on user privileges.

  • Learn how to setup users, roles, and groups for GeoServer

  • Learn about authentication providers to configure the way that users are authenticated

  • Learn about data and service level security to limit access to sensitive actions and resources


Secure Login from OL

In this video, you will test a login and protected action with client software to complete the deployment. You have now configured the software platform for secure authentication.

  • Learn how to test authentication with the command line utility cURL

  • Implement some minor modifications to OL code previously used to make non-HTTPS GeoServer WFS-T requests

  • Test the OL app in the browser, bringing together all the concepts you learn about in this section


Hosting Your GeoServer Instance and App

In this video, we will learn about the hosting options for GeoServer and how to deploy it.

  • Learn about hosting on-premises: advantages and disadvantages and basic steps in deployment

  • Understand IaaS Virtual Machines: advantages and disadvantages and basic steps in deployment

  • Explore containerized virtualization: advantages and disadvantages and basic steps in deployment


Monitoring the GeoServer Instance

The aim of this video is to understand how to make sure the instance remains healthy, and how to detect and remedy errors if something goes wrong.

  • Utilize logging and all the different logs associated with GeoServer and other app components

  • Use the GeoServer Monitor plugin

  • Discover some other software for monitoring the infrastructure supporting your app


Backup and Recovery

In this video, we will use the backup and restore plugin along with reoccurring Ge tasks to keep your GeoServer instance stable, current, and backed up.

  • Learn how to schedule backups and how to restore them with the GeoServer Backup and Restore plugin

  • Use Backup and Restore for pushing staging server changes to production, cluster nodes, and standby nodes

  • Utilize automated scheduled tasks that will keep your server backed up, in sync, and stable


Production Checklist

The aim of this video is to explore a checklist of settings for production GeoServer to make sure you have your bases covered.

  • Discover common reference updates and authentication related configuration

  • Understand communication methods, ports, and protocols that must be locked down to only permit appropriate access

  • Review automated maintenance tasks and revisit tuning the server for performance


Test Your Knowledge
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!
3.6 out of 5
37 Ratings

Detailed Rating

Stars 5
Stars 4
Stars 3
Stars 2
Stars 1
30-Day Money-Back Guarantee


4 hours on-demand video
Full lifetime access
Access on mobile and TV
Certificate of Completion