Server-side web GIS applications with Leaflet and PostGIS
4.9 (114 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.
846 students enrolled

Server-side web GIS applications with Leaflet and PostGIS

Accessing common data stores
Bestseller
4.9 (114 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.
847 students enrolled
Created by Michael Miller
Last updated 11/2019
English
English [Auto-generated]
Current price: $69.99 Original price: $99.99 Discount: 30% off
5 hours left at this price!
30-Day Money-Back Guarantee
This course includes
  • 16.5 hours on-demand video
  • 17 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
  • Develop complex web GIS applications using data stored in a PostGIS database with open source software that doesn't require any licensing fees or subscriptions.
Requirements
  • Basic web development skills (HTML, CSS, and JavaScript)
  • Basic understanding of web mapping with leaflet
  • Basic understanding of databases and SQL
  • The above can be learned in my courses "Display and analyze GIS data on the web" and "PHP registration, login, and content management system"
  • Highly recommended course: "Introduction to spatial databases with PostGIS and QGIS
Description

Server-side web GIS applications allow you to access GIS data stored in a multi-user database. This means that your data will always be current and any changes that other users make to the data will be immediately available in your application. You will be able to build complex GIS applications where some users will only be able to view certain data that you allow them and other users will be able to add, edit, and delete data from a web-interface. This means that your users will be able to interact with your GIS database from any device that has a compatible browser and an internet connection. They may be working in the field from a mobile device or from home on a mac OS computer, or on the other side of the world on a Linux computer.

This course uses PHP for the server-side language because of its popularity and its wide availability on web servers. We will use PostGIS as a spatial database, again because of its popularity and common usage in GIS applications. I teach standard web development methods that have stood the test of time and will still be available in many years after the latest, greatest, technology has been replaced with something even better. My goal as an instructor is to provide an introduction to the basic concepts. I don't think you will find any limitations with the software that I teach but if you ultimately decide to use a different server-side language, database, or a newer framework the methods you learn here will provide a solid foundation.

Best of all, this course uses all open source software so there are no costs involved. I have had projects involving more than 50 people, including clients, accessing the same database through web interfaces and desktop GIS for several years with no problem and with no cost other than web-hosting which cost us about $10/month total. 

Who this course is for:
  • GIS professionals who are interested in expanding their skillset from producing static web maps to creating web GIS applications that allow creation and deletion of GIS data from the web.
Course content
Expand all 81 lectures 16:39:21
+ Introduction
6 lectures 53:45
Software for this course
07:08
Getting started
09:07
Loading spatial data into PostGIS
12:50
Password protecting the page
04:05
+ Working with PostGIS data
10 lectures 02:12:47
Generalizing our load_data php script
07:18
Creating a load data function
13:44
Adding the other spatial data
14:52
Adding the other spatial data part 2
10:49
Cleaning up loose ends
12:57
Refreshing data layers from the server
15:23
Handling database errors
10:39
+ Moving other functions to server-side operations
6 lectures 01:23:43
Creating buffers with PostGIS
10:10
Using our buffer function in the application
11:14
Filtering with the database
14:35
Filtering with SQL Part 2
17:16
Searching with SQL
13:00
Filtering Part 2 - Callback functions
17:28
+ Working with non-spatial data
5 lectures 54:40
Loading non-spatial data into PostGIS
08:32
Creating a modal dialog
10:37
Returning non-spatial data as a table
11:01
Cleaning up the table
10:06
Adding non-spatial survey data to search function
14:24
+ Analyzing PostGIS data with spatial SQL
10 lectures 02:29:36
Single table spatial queries and the geography data type
18:00
Multi-table queries joined on a spatial relationship
14:03
Finding Projects impacted by constraints
19:02
Debugging and adding to other constraints
08:59
Finding constraints impacted by projects
19:23
Using the Leaflet PM plug-in
14:17
Analyzing features created by the draw tool
17:10
Moving to a tabbed sidebar
12:02
Adding Content to a tabbed sidebar
14:41
Cleaning up the client web app
11:59
+ Preparing for editing
7 lectures 01:03:44
Creating a new group in the CMS for editors
05:37
Preparing the database for editing
10:58
Modifying the survey table field names
09:01
Accessing the current user information from JavaScript
09:35
Accessing the current date and time from JavaScript
06:50
Working with sequences in PostgreSQL
07:22
Refactoring the survey results as a function
14:21
+ Editing non-spatial data
9 lectures 01:56:33
Adding edit and delete buttons to the survey results
13:33
Wiring the delete button to a generic php delete record script
10:42
Creating a survey form and populating with survey data
14:58
Creating a survey form and populating with form data part 2
12:17
Converting the result input to a select element
13:56
Updating the database from the form
18:26
Adding a new survey
10:55
The insert_data.php script
09:29
Creating custom select options from the database
12:17
+ Editing spatial data
13 lectures 03:11:48
Refactoring our PHP Scripts
12:58
Refactoring CSS and JavaScript
12:44
Changing text boxes to select elements and populating them
09:51
Adding delete and edit buttons
11:09
Deleting features
16:16
Editing feature attributes
17:42
Editing spatial data
11:17
Editing spatial data - Part 2
17:35
Handling GeoJSON in the update records PHP script
13:31
Modifying the form for adding data
15:29
Creating new geometries
17:46
Handling geometries on the server side
15:49
Working with multi-part geometries in leaflet - editing parts
19:41
+ Finishing Touches
8 lectures 01:15:57
Cleaning things up
09:11
Cleaning things up Part 2
09:32
Working with multi-part geometries in leaflet - adding and deleting parts
10:37
Deleting parts from multi-part features
10:48
Issues with adding editing capability to other datasets
06:42
Taking it live
10:27
Creating a new map with reduced functionality
05:39
Where to go next?
13:01
+ Bonus Lectures
7 lectures 01:16:48
Installing PostgreSQL and PostGIS
15:01
Installing QGIS
03:17
All about GeoJSON
13:48
Geometry vs. Geography data types
10:27
Bonus Lecture: How to get the most from my series of Udemy courses.
16:16